Add setting to hide steps

This commit is contained in:
Brandon Presley 2022-09-24 17:29:52 +12:00
parent 3e4dfa5c80
commit 3509aa93f3
4 changed files with 32 additions and 12 deletions

View File

@ -13,6 +13,7 @@ import {MARGIN, PADDING} from './constants';
import MassiveInput from './MassiveInput'; import MassiveInput from './MassiveInput';
import {updatePlanWorkouts} from './plan.service'; import {updatePlanWorkouts} from './plan.service';
import {addSet, updateManySet, updateSetImage} from './set.service'; import {addSet, updateManySet, updateSetImage} from './set.service';
import {settings} from './settings.service';
import {WorkoutsPageParams} from './WorkoutsPage'; import {WorkoutsPageParams} from './WorkoutsPage';
export default function EditWorkout() { export default function EditWorkout() {
@ -92,13 +93,15 @@ export default function EditWorkout() {
<View style={{padding: PADDING}}> <View style={{padding: PADDING}}>
<ScrollView style={{height: '90%'}}> <ScrollView style={{height: '90%'}}>
<MassiveInput label="Name" value={name} onChangeText={setName} /> <MassiveInput label="Name" value={name} onChangeText={setName} />
<MassiveInput {!!settings.steps && (
selectTextOnFocus={false} <MassiveInput
value={steps} selectTextOnFocus={false}
onChangeText={setSteps} value={steps}
label="Steps" onChangeText={setSteps}
multiline label="Steps"
/> multiline
/>
)}
<MassiveInput <MassiveInput
value={sets} value={sets}
onChangeText={setSets} onChangeText={setSets}

View File

@ -30,6 +30,7 @@ export default function SettingsPage() {
const [images, setImages] = useState(!!settings.images); const [images, setImages] = useState(!!settings.images);
const [showUnit, setShowUnit] = useState(!!settings.showUnit); const [showUnit, setShowUnit] = useState(!!settings.showUnit);
const [workouts, setWorkouts] = useState(!!settings.workouts); const [workouts, setWorkouts] = useState(!!settings.workouts);
const [steps, setSteps] = useState(!!settings.steps);
const {color, setColor} = useContext(CustomTheme); const {color, setColor} = useContext(CustomTheme);
const {toast} = useContext(SnackbarContext); const {toast} = useContext(SnackbarContext);
@ -50,6 +51,7 @@ export default function SettingsPage() {
showUnit: +showUnit, showUnit: +showUnit,
color, color,
workouts: +workouts, workouts: +workouts,
steps: +steps,
}); });
getSettings(); getSettings();
}, [ }, [
@ -62,6 +64,7 @@ export default function SettingsPage() {
showUnit, showUnit,
color, color,
workouts, workouts,
steps,
]); ]);
const changeAlarmEnabled = useCallback( const changeAlarmEnabled = useCallback(
@ -124,7 +127,7 @@ export default function SettingsPage() {
(enabled: boolean) => { (enabled: boolean) => {
setShowUnit(enabled); setShowUnit(enabled);
if (enabled) toast('Show option to select unit for sets.', 4000); if (enabled) toast('Show option to select unit for sets.', 4000);
else toast('Hid the unit option when adding/editing sets.', 4000); else toast('Hid unit option for sets.', 4000);
}, },
[toast], [toast],
); );
@ -132,8 +135,17 @@ export default function SettingsPage() {
const changeWorkouts = useCallback( const changeWorkouts = useCallback(
(enabled: boolean) => { (enabled: boolean) => {
setWorkouts(enabled); setWorkouts(enabled);
if (enabled) toast('Show todays workouts when editing a set.', 4000); if (enabled) toast('Show workout for sets.', 4000);
else toast('Stopped showing todays workouts when editing a set.', 4000); else toast('Stopped showing workout for sets.', 4000);
},
[toast],
);
const changeSteps = useCallback(
(enabled: boolean) => {
setSteps(enabled);
if (enabled) toast('Show steps for a workout.', 4000);
else toast('Stopped showing steps for workouts.', 4000);
}, },
[toast], [toast],
); );
@ -145,7 +157,8 @@ export default function SettingsPage() {
{name: 'Record notifications', value: notify, onChange: changeNotify}, {name: 'Record notifications', value: notify, onChange: changeNotify},
{name: 'Show images', value: images, onChange: changeImages}, {name: 'Show images', value: images, onChange: changeImages},
{name: 'Show unit', value: showUnit, onChange: changeUnit}, {name: 'Show unit', value: showUnit, onChange: changeUnit},
{name: 'Show todays workout', value: workouts, onChange: changeWorkouts}, {name: 'Show workouts', value: workouts, onChange: changeWorkouts},
{name: 'Show steps', value: steps, onChange: changeSteps},
]; ];
return ( return (
@ -173,7 +186,7 @@ export default function SettingsPage() {
: null} : null}
</Button> </Button>
)} )}
{'color'.includes(search.toLowerCase()) && ( {'theme'.includes(search.toLowerCase()) && (
<Picker <Picker
style={{color}} style={{color}}
dropdownIconColor={color} dropdownIconColor={color}

3
db.ts
View File

@ -97,6 +97,9 @@ const migrations = [
` `
ALTER TABLE settings ADD COLUMN workouts BOOLEAN DEFAULT 1 ALTER TABLE settings ADD COLUMN workouts BOOLEAN DEFAULT 1
`, `,
`
ALTER TABLE settings ADD COLUMN steps BOOLEAN DEFAULT 1
`,
]; ];
export let db: SQLiteDatabase; export let db: SQLiteDatabase;

View File

@ -8,4 +8,5 @@ export default interface Settings {
showUnit?: number; showUnit?: number;
color?: string; color?: string;
workouts: number; workouts: number;
steps: number;
} }