Only show loading on pull-down for SetList

This commit is contained in:
Brandon Presley 2023-10-18 09:56:09 +13:00
parent b4f6f12b1a
commit 22f5f3c9ee
1 changed files with 14 additions and 19 deletions

View File

@ -41,15 +41,12 @@ export default function SetList() {
const reset = useCallback( const reset = useCallback(
async ({ value, skip }: { value: string; skip: number }) => { async ({ value, skip }: { value: string; skip: number }) => {
setRefreshing(true); const newSets = await setRepo.find({
const newSets = await setRepo where: { name: Like(`%${value.trim()}%`), hidden: 0 as any },
.find({ take: LIMIT,
where: { name: Like(`%${value.trim()}%`), hidden: 0 as any }, skip,
take: LIMIT, order: { created: "DESC" },
skip, });
order: { created: "DESC" },
})
.finally(() => setRefreshing(false));
console.log(`${SetList.name}.refresh:`, { value, offset }); console.log(`${SetList.name}.refresh:`, { value, offset });
setSets(newSets); setSets(newSets);
setEnd(false); setEnd(false);
@ -116,15 +113,12 @@ export default function SetList() {
if (end || refreshing) return; if (end || refreshing) return;
const newOffset = offset + LIMIT; const newOffset = offset + LIMIT;
console.log(`${SetList.name}.next:`, { offset, newOffset, term }); console.log(`${SetList.name}.next:`, { offset, newOffset, term });
setRefreshing(true); const newSets = await setRepo.find({
const newSets = await setRepo where: { name: Like(`%${term}%`), hidden: 0 as any },
.find({ take: LIMIT,
where: { name: Like(`%${term}%`), hidden: 0 as any }, skip: newOffset,
take: LIMIT, order: { created: "DESC" },
skip: newOffset, });
order: { created: "DESC" },
})
.finally(() => setRefreshing(false));
if (newSets.length === 0) return setEnd(true); if (newSets.length === 0) return setEnd(true);
if (!sets) return; if (!sets) return;
const map = new Map<number, GymSet>(); const map = new Map<number, GymSet>();
@ -198,10 +192,11 @@ export default function SetList() {
keyExtractor={(set) => set.id.toString()} keyExtractor={(set) => set.id.toString()}
onRefresh={() => { onRefresh={() => {
setOffset(0); setOffset(0);
setRefreshing(true);
reset({ reset({
skip: 0, skip: 0,
value: term, value: term,
}); }).finally(() => setRefreshing(false));
}} }}
/> />
); );