diff --git a/SetList.tsx b/SetList.tsx index 2aa68a0..58f3a27 100644 --- a/SetList.tsx +++ b/SetList.tsx @@ -1,6 +1,7 @@ import { NavigationProp, RouteProp, + useFocusEffect, useNavigation, useRoute, } from "@react-navigation/native"; @@ -37,34 +38,43 @@ export default function SetList() { setSets(newSets); }; - const reset = async ({ value, skip }: { value: string; skip: number }) => { - setRefreshing(true); - const newSets = await setRepo - .find({ - where: { name: Like(`%${value.trim()}%`), hidden: 0 as any }, - take: LIMIT, - skip, - order: { created: "DESC" }, - }) - .finally(() => setRefreshing(false)); - console.log(`${SetList.name}.refresh:`, { value, offset }); - setSets(newSets); - setEnd(false); - }; + const reset = useCallback( + async ({ value, skip }: { value: string; skip: number }) => { + setRefreshing(true); + const newSets = await setRepo + .find({ + where: { name: Like(`%${value.trim()}%`), hidden: 0 as any }, + take: LIMIT, + skip, + order: { created: "DESC" }, + }) + .finally(() => setRefreshing(false)); + console.log(`${SetList.name}.refresh:`, { value, offset }); + setSets(newSets); + setEnd(false); + }, + [offset] + ); useEffect(() => { settingsRepo.findOne({ where: {} }).then(setSettings); - reset({ - value: "", - skip: 0, - }); const description = DeviceEventEmitter.addListener(SETTINGS, () => { settingsRepo.findOne({ where: {} }).then(setSettings); }); return description.remove; - /* eslint-disable react-hooks/exhaustive-deps */ }, []); + useFocusEffect( + useCallback(() => { + console.log("Focused."); + if (offset > 0) return; + reset({ + value: "", + skip: 0, + }); + }, [offset, reset]) + ); + const search = (value: string) => { setTerm(value); setOffset(0); diff --git a/android/app/build.gradle b/android/app/build.gradle index 55cc128..0e39996 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -85,8 +85,8 @@ android { applicationId "com.massive" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 36178 - versionName "1.152" + versionCode 36179 + versionName "1.153" } signingConfigs { release { diff --git a/package.json b/package.json index 9696447..6e34abe 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "massive", - "version": "1.152", + "version": "1.153", "private": true, "license": "GPL-3.0-only", "scripts": {