Prevent searching twice on homepage first load
This commit is contained in:
parent
e6dcd4a47e
commit
3d591f4618
33
SetList.tsx
33
SetList.tsx
|
@ -3,7 +3,7 @@ import {
|
|||
useFocusEffect,
|
||||
useNavigation,
|
||||
} from '@react-navigation/native';
|
||||
import {useCallback, useEffect, useState} from 'react';
|
||||
import {useCallback, useState} from 'react';
|
||||
import {FlatList} from 'react-native';
|
||||
import {List} from 'react-native-paper';
|
||||
import DrawerHeader from './DrawerHeader';
|
||||
|
@ -25,11 +25,12 @@ export default function SetList() {
|
|||
const {settings} = useSettings();
|
||||
const navigation = useNavigation<NavigationProp<HomePageParams>>();
|
||||
|
||||
const refresh = useCallback(async () => {
|
||||
const refresh = useCallback(
|
||||
async (term: string) => {
|
||||
const todaysSet = await getToday();
|
||||
if (todaysSet) setSet({...todaysSet});
|
||||
const newSets = await getSets({
|
||||
search: `%${search}%`,
|
||||
search: `%${term}%`,
|
||||
limit,
|
||||
offset: 0,
|
||||
format: settings.date || '%Y-%m-%d %H:%M',
|
||||
|
@ -39,23 +40,21 @@ export default function SetList() {
|
|||
setSets(newSets);
|
||||
setOffset(0);
|
||||
setEnd(false);
|
||||
}, [search, settings.date]);
|
||||
},
|
||||
[settings.date],
|
||||
);
|
||||
|
||||
useFocusEffect(
|
||||
useCallback(() => {
|
||||
refresh();
|
||||
}, [refresh]),
|
||||
refresh(search);
|
||||
}, [refresh, search]),
|
||||
);
|
||||
|
||||
useEffect(() => {
|
||||
refresh();
|
||||
}, [search, refresh]);
|
||||
|
||||
const renderItem = useCallback(
|
||||
({item}: {item: Set}) => (
|
||||
<SetItem item={item} key={item.id} onRemove={refresh} />
|
||||
<SetItem item={item} key={item.id} onRemove={() => refresh(search)} />
|
||||
),
|
||||
[refresh],
|
||||
[refresh, search],
|
||||
);
|
||||
|
||||
const next = useCallback(async () => {
|
||||
|
@ -82,10 +81,18 @@ export default function SetList() {
|
|||
});
|
||||
}, [navigation, set]);
|
||||
|
||||
const handleSearch = useCallback(
|
||||
(value: string) => {
|
||||
setSearch(value);
|
||||
refresh(value);
|
||||
},
|
||||
[refresh],
|
||||
);
|
||||
|
||||
return (
|
||||
<>
|
||||
<DrawerHeader name="Home" />
|
||||
<Page onAdd={onAdd} search={search} setSearch={setSearch}>
|
||||
<Page onAdd={onAdd} search={search} setSearch={handleSearch}>
|
||||
{sets?.length === 0 ? (
|
||||
<List.Item
|
||||
title="No sets yet"
|
||||
|
|
Loading…
Reference in New Issue
Block a user