reworked fetchAlbumList to remove ui state

refactored home screen to use new method
i broke playing songs somehow, JS thread goes into a loop
This commit is contained in:
austinried
2022-03-18 13:04:20 +09:00
parent 76306f1558
commit 98ef0d1d44
8 changed files with 381 additions and 160 deletions

View File

@@ -48,7 +48,7 @@ export const useFetchList2 = (fetchList: () => Promise<void>, resetList: () => v
}
export const useFetchPaginatedList = <T>(
fetchList: (size?: number, offset?: number) => Promise<T[]>,
fetchList: (size: number, offset: number) => Promise<T[]>,
pageSize: number,
) => {
const [list, setList] = useState<T[]>([])
@@ -94,32 +94,3 @@ export const useFetchPaginatedList = <T>(
return { list, refreshing, refresh, reset, fetchNextPage }
}
export const useFetchPaginatedList2 = (fetchNextListPage: () => Promise<void>, resetList: () => void) => {
const [refreshing, setRefreshing] = useState(false)
const refresh = useCallback(async () => {
setRefreshing(true)
resetList()
await fetchNextListPage()
setRefreshing(false)
}, [fetchNextListPage, resetList])
useActiveServerRefresh(
useCallback(async () => {
await refresh()
}, [refresh]),
)
const fetchNextPage = useCallback(async () => {
setRefreshing(true)
await fetchNextListPage()
setRefreshing(false)
}, [fetchNextListPage])
return { refreshing, refresh, fetchNextPage }
}