Show count when adding a new set

This commit is contained in:
Brandon Presley 2022-09-08 22:33:32 +12:00
parent 3abc4da861
commit 4aa91253a1
3 changed files with 20 additions and 10 deletions

View File

@ -21,14 +21,20 @@ export default function EditSet() {
useFocusEffect( useFocusEffect(
useCallback(() => { useCallback(() => {
navigation.getParent()?.setOptions({ getSettings().then(settings => {
headerLeft: () => ( let title = 'Edit set';
<IconButton icon="arrow-back" onPress={() => navigation.goBack()} /> if (!params.set.id && params.set.name)
), title = `Add set (${params.count} / ${settings.sets})`;
headerRight: null, if (!params.set.id && !params.set.name) title = 'Add set';
title: params.set.id ? 'Edit set' : 'Create set', navigation.getParent()?.setOptions({
headerLeft: () => (
<IconButton icon="arrow-back" onPress={() => navigation.goBack()} />
),
headerRight: null,
title,
});
}); });
}, [navigation, params.set.id]), }, [navigation, params]),
); );
const startTimer = useCallback(async () => { const startTimer = useCallback(async () => {

View File

@ -13,6 +13,7 @@ export type HomePageParams = {
Sets: {}; Sets: {};
EditSet: { EditSet: {
set: Set; set: Set;
count: number;
workouts?: string[]; workouts?: string[];
}; };
}; };

View File

@ -21,6 +21,7 @@ const limit = 15;
export default function SetList() { export default function SetList() {
const [sets, setSets] = useState<Set[]>(); const [sets, setSets] = useState<Set[]>();
const [set, setSet] = useState<Set>(); const [set, setSet] = useState<Set>();
const [count, setCount] = useState(1);
const [workouts, setWorkouts] = useState<string[]>([]); const [workouts, setWorkouts] = useState<string[]>([]);
const [offset, setOffset] = useState(0); const [offset, setOffset] = useState(0);
const [search, setSearch] = useState(''); const [search, setSearch] = useState('');
@ -52,11 +53,12 @@ export default function SetList() {
let workout = todaysWorkouts[0]; let workout = todaysWorkouts[0];
console.log(`${SetList.name}.predict:`, {todaysSets, todaysWorkouts}); console.log(`${SetList.name}.predict:`, {todaysSets, todaysWorkouts});
if (todaysWorkouts.includes(todaysSets[0]?.name) && todaysSets.length > 0) { if (todaysWorkouts.includes(todaysSets[0]?.name) && todaysSets.length > 0) {
const count = todaysSets.filter( const _count = todaysSets.filter(
s => s.name === todaysSets[0].name, s => s.name === todaysSets[0].name,
).length; ).length;
setCount(_count);
workout = todaysSets[0].name; workout = todaysSets[0].name;
if (count >= Number(settings.sets)) if (_count >= Number(settings.sets))
workout = workout =
todaysWorkouts[todaysWorkouts.indexOf(todaysSets[0].name!) + 1]; todaysWorkouts[todaysWorkouts.indexOf(todaysSets[0].name!) + 1];
} }
@ -117,9 +119,10 @@ export default function SetList() {
const onAdd = useCallback(async () => { const onAdd = useCallback(async () => {
navigation.navigate('EditSet', { navigation.navigate('EditSet', {
set: set || {...defaultSet}, set: set || {...defaultSet},
count,
workouts, workouts,
}); });
}, [navigation, set, workouts]); }, [navigation, set, workouts, count]);
return ( return (
<View style={styles.container}> <View style={styles.container}>