mirror of
https://github.com/austinried/subtracks.git
synced 2026-02-10 15:02:42 +01:00
added paginated list/album list
This commit is contained in:
@@ -28,7 +28,7 @@ export const useFetchList = <T>(fetchList: () => Promise<T[]>) => {
|
||||
return { list, refreshing, refresh, reset }
|
||||
}
|
||||
|
||||
export const useFetchList2 = (fetchList: () => Promise<void>, resetList: () => Promise<void>) => {
|
||||
export const useFetchList2 = (fetchList: () => Promise<void>, resetList: () => void) => {
|
||||
const [refreshing, setRefreshing] = useState(false)
|
||||
|
||||
const refresh = useCallback(async () => {
|
||||
@@ -39,9 +39,9 @@ export const useFetchList2 = (fetchList: () => Promise<void>, resetList: () => P
|
||||
|
||||
useActiveServerRefresh(
|
||||
useCallback(async () => {
|
||||
await resetList()
|
||||
await fetchList()
|
||||
}, [fetchList, resetList]),
|
||||
resetList()
|
||||
await refresh()
|
||||
}, [refresh, resetList]),
|
||||
)
|
||||
|
||||
return { refreshing, refresh }
|
||||
@@ -94,3 +94,32 @@ 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 }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user