Refresh set list on focus if offset is zero - 1.153 🚀

This commit is contained in:
Brandon Presley 2023-08-29 11:38:51 +12:00
parent 7eabe63198
commit 4b1bbf2395
3 changed files with 32 additions and 22 deletions

View File

@ -1,6 +1,7 @@
import { import {
NavigationProp, NavigationProp,
RouteProp, RouteProp,
useFocusEffect,
useNavigation, useNavigation,
useRoute, useRoute,
} from "@react-navigation/native"; } from "@react-navigation/native";
@ -37,34 +38,43 @@ export default function SetList() {
setSets(newSets); setSets(newSets);
}; };
const reset = async ({ value, skip }: { value: string; skip: number }) => { const reset = useCallback(
setRefreshing(true); async ({ value, skip }: { value: string; skip: number }) => {
const newSets = await setRepo setRefreshing(true);
.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 }); .finally(() => setRefreshing(false));
setSets(newSets); console.log(`${SetList.name}.refresh:`, { value, offset });
setEnd(false); setSets(newSets);
}; setEnd(false);
},
[offset]
);
useEffect(() => { useEffect(() => {
settingsRepo.findOne({ where: {} }).then(setSettings); settingsRepo.findOne({ where: {} }).then(setSettings);
reset({
value: "",
skip: 0,
});
const description = DeviceEventEmitter.addListener(SETTINGS, () => { const description = DeviceEventEmitter.addListener(SETTINGS, () => {
settingsRepo.findOne({ where: {} }).then(setSettings); settingsRepo.findOne({ where: {} }).then(setSettings);
}); });
return description.remove; 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) => { const search = (value: string) => {
setTerm(value); setTerm(value);
setOffset(0); setOffset(0);

View File

@ -85,8 +85,8 @@ android {
applicationId "com.massive" applicationId "com.massive"
minSdkVersion rootProject.ext.minSdkVersion minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 36178 versionCode 36179
versionName "1.152" versionName "1.153"
} }
signingConfigs { signingConfigs {
release { release {

View File

@ -1,6 +1,6 @@
{ {
"name": "massive", "name": "massive",
"version": "1.152", "version": "1.153",
"private": true, "private": true,
"license": "GPL-3.0-only", "license": "GPL-3.0-only",
"scripts": { "scripts": {