diff --git a/SetList.tsx b/SetList.tsx index f87c5f7..8d70706 100644 --- a/SetList.tsx +++ b/SetList.tsx @@ -46,13 +46,15 @@ export default function SetList() { let workout = todaysWorkouts[0]; let best = await getBestSet(workout); let [{image}] = await getSets({search: best.name, limit: 1, offset: 0}); - console.log(`${SetList.name}.predict:`, {workout, best}); + console.log(`${SetList.name}.predict:`, {workout, best, image}); if (!todaysSet || !todaysWorkouts.includes(todaysSet.name)) return setSet({...best, image}); let _count = await countToday(todaysSet.name); console.log(`${SetList.name}.predict:`, {_count}); workout = todaysSet.name; best = await getBestSet(workout); + [{image}] = await getSets({search: best.name, limit: 1, offset: 0}); + console.log(`${SetList.name}.predict:`, {workout, best, image}); const index = todaysWorkouts.indexOf(todaysSet.name) + 1; if (_count >= Number(best.sets)) { best = await getBestSet(todaysWorkouts[index]); @@ -66,13 +68,18 @@ export default function SetList() { const refresh = useCallback(async () => { predict(); - const newSets = await getSets({search: `%${search}%`, limit, offset: 0}); + const newSets = await getSets({ + search: `%${search}%`, + limit, + offset: 0, + format: settings.date || '%Y-%m-%d %H:%M', + }); console.log(`${SetList.name}.refresh:`, {first: newSets[0]}); if (newSets.length === 0) return setSets([]); setSets(newSets); setOffset(0); setEnd(false); - }, [search, predict]); + }, [search, predict, settings.date]); useFocusEffect( useCallback(() => { diff --git a/SettingsPage.tsx b/SettingsPage.tsx index 4c00798..417c7fc 100644 --- a/SettingsPage.tsx +++ b/SettingsPage.tsx @@ -29,8 +29,8 @@ export default function SettingsPage() { const [showUnit, setShowUnit] = useState(!!settings.showUnit); const [workouts, setWorkouts] = useState(!!settings.workouts); const [steps, setSteps] = useState(!!settings.steps); - const [date, setDate] = useState('%Y-%m-%d %H:%M'); - const [showDate, setShowDate] = useState(false); + const [date, setDate] = useState(settings.date || '%Y-%m-%d %H:%M'); + const [showDate, setShowDate] = useState(!!settings.showDate); const {color, setColor} = useContext(CustomTheme); const {toast} = useContext(SnackbarContext); @@ -211,7 +211,7 @@ export default function SettingsPage() { )} {'date format'.includes(search.toLowerCase()) && ( setDate(value)}> @@ -223,7 +223,7 @@ export default function SettingsPage() { value="%Y-%m-%d" label="Format date as 1990-12-24 (YYYY-MM-dd)" /> - + )} {'alarm sound'.includes(search.toLowerCase()) && ( diff --git a/set.service.ts b/set.service.ts index 49d7750..7d5c6f0 100644 --- a/set.service.ts +++ b/set.service.ts @@ -1,6 +1,5 @@ import {db} from './db'; import Set from './set'; -import {settings} from './settings.service'; export const updateSet = async (value: Set) => { const update = ` @@ -60,20 +59,21 @@ interface PageParams { search: string; limit: number; offset: number; + format?: string; } export const getSets = async ({ search, limit, offset, + format, }: PageParams): Promise => { - const format = settings.date || '%Y-%m-%d %H:%M'; const select = ` SELECT id, name, reps, weight, sets, minutes, seconds, STRFTIME(?, created) as created, unit, image, steps FROM sets WHERE name LIKE ? AND NOT hidden - ORDER BY created DESC + ORDER BY STRFTIME('%Y-%m-%d %H:%M', created) DESC LIMIT ? OFFSET ? `; const [result] = await db.executeSql(select, [