parent
3714db438e
commit
77db34b310
|
@ -138,6 +138,7 @@ export default function EditWorkout() {
|
||||||
onSubmitEditing={() => setsRef.current?.focus()}
|
onSubmitEditing={() => setsRef.current?.focus()}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
{!!settings.showSets && (
|
||||||
<MassiveInput
|
<MassiveInput
|
||||||
innerRef={setsRef}
|
innerRef={setsRef}
|
||||||
value={sets}
|
value={sets}
|
||||||
|
@ -146,6 +147,7 @@ export default function EditWorkout() {
|
||||||
keyboardType="numeric"
|
keyboardType="numeric"
|
||||||
onSubmitEditing={() => minutesRef.current?.focus()}
|
onSubmitEditing={() => minutesRef.current?.focus()}
|
||||||
/>
|
/>
|
||||||
|
)}
|
||||||
{!!settings.alarm && (
|
{!!settings.alarm && (
|
||||||
<>
|
<>
|
||||||
<MassiveInput
|
<MassiveInput
|
||||||
|
|
|
@ -30,6 +30,7 @@ export default function SettingsPage() {
|
||||||
const [date, setDate] = useState(settings.date || '%Y-%m-%d %H:%M');
|
const [date, setDate] = useState(settings.date || '%Y-%m-%d %H:%M');
|
||||||
const [theme, setTheme] = useState(settings.theme || 'system');
|
const [theme, setTheme] = useState(settings.theme || 'system');
|
||||||
const [showDate, setShowDate] = useState(!!settings.showDate);
|
const [showDate, setShowDate] = useState(!!settings.showDate);
|
||||||
|
const [showSets, setShowSets] = useState(!!settings.showSets);
|
||||||
const {color, setColor} = useColor();
|
const {color, setColor} = useColor();
|
||||||
const {toast} = useSnackbar();
|
const {toast} = useSnackbar();
|
||||||
|
|
||||||
|
@ -52,6 +53,7 @@ export default function SettingsPage() {
|
||||||
date,
|
date,
|
||||||
showDate: +showDate,
|
showDate: +showDate,
|
||||||
theme,
|
theme,
|
||||||
|
showSets: +showSets,
|
||||||
});
|
});
|
||||||
getSettings().then(setSettings);
|
getSettings().then(setSettings);
|
||||||
}, [
|
}, [
|
||||||
|
@ -67,6 +69,7 @@ export default function SettingsPage() {
|
||||||
date,
|
date,
|
||||||
showDate,
|
showDate,
|
||||||
theme,
|
theme,
|
||||||
|
showSets,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
const changeAlarmEnabled = useCallback(
|
const changeAlarmEnabled = useCallback(
|
||||||
|
@ -143,6 +146,15 @@ export default function SettingsPage() {
|
||||||
[toast],
|
[toast],
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const changeShowSets = useCallback(
|
||||||
|
(enabled: boolean) => {
|
||||||
|
setShowSets(enabled);
|
||||||
|
if (enabled) toast('Show maximum sets for workouts.', 4000);
|
||||||
|
else toast('Stopped showing maximum sets for workouts.', 4000);
|
||||||
|
},
|
||||||
|
[toast],
|
||||||
|
);
|
||||||
|
|
||||||
const switches: Input<boolean>[] = [
|
const switches: Input<boolean>[] = [
|
||||||
{name: 'Rest timers', value: alarm, onChange: changeAlarmEnabled},
|
{name: 'Rest timers', value: alarm, onChange: changeAlarmEnabled},
|
||||||
{name: 'Vibrate', value: vibrate, onChange: changeVibrate},
|
{name: 'Vibrate', value: vibrate, onChange: changeVibrate},
|
||||||
|
@ -151,6 +163,7 @@ export default function SettingsPage() {
|
||||||
{name: 'Show unit', value: showUnit, onChange: changeUnit},
|
{name: 'Show unit', value: showUnit, onChange: changeUnit},
|
||||||
{name: 'Show steps', value: steps, onChange: changeSteps},
|
{name: 'Show steps', value: steps, onChange: changeSteps},
|
||||||
{name: 'Show date', value: showDate, onChange: changeShowDate},
|
{name: 'Show date', value: showDate, onChange: changeShowDate},
|
||||||
|
{name: 'Show sets', value: showSets, onChange: changeShowSets},
|
||||||
];
|
];
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|
|
@ -125,11 +125,14 @@ export default function StartPlan() {
|
||||||
const getDescription = useCallback(
|
const getDescription = useCallback(
|
||||||
(countName: string) => {
|
(countName: string) => {
|
||||||
const count = counts?.find(c => c.name === countName);
|
const count = counts?.find(c => c.name === countName);
|
||||||
|
console.log(`${StartPlan.name}:`, {count, countName});
|
||||||
if (!distinctSets) return;
|
if (!distinctSets) return;
|
||||||
const distinct = distinctSets.find(d => d.name === countName);
|
const distinct = distinctSets.find(d => d.name === countName);
|
||||||
return `${count?.total || 0} / ${distinct?.sets}`;
|
console.log(`${StartPlan.name}:`, {distinct});
|
||||||
|
if (settings.showSets) return `${count?.total || 0} / ${distinct?.sets}`;
|
||||||
|
return count?.total || '0';
|
||||||
},
|
},
|
||||||
[counts, distinctSets],
|
[counts, distinctSets, settings.showSets],
|
||||||
);
|
);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|
|
@ -37,9 +37,12 @@ export default function WorkoutItem({
|
||||||
|
|
||||||
const description = useMemo(() => {
|
const description = useMemo(() => {
|
||||||
const seconds = item.seconds?.toString().padStart(2, '0');
|
const seconds = item.seconds?.toString().padStart(2, '0');
|
||||||
if (settings.alarm) return `${item.sets} x ${item.minutes || 0}:${seconds}`;
|
if (settings.alarm && settings.showSets)
|
||||||
|
return `${item.sets} x ${item.minutes || 0}:${seconds}`;
|
||||||
|
else if (settings.alarm && !settings.showSets)
|
||||||
|
return `${item.minutes || 0}:${seconds}`;
|
||||||
return `${item.sets}`;
|
return `${item.sets}`;
|
||||||
}, [item, settings.alarm]);
|
}, [item, settings]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
|
|
17
db.ts
17
db.ts
|
@ -28,9 +28,9 @@ const migrations = [
|
||||||
CREATE TABLE IF NOT EXISTS settings (
|
CREATE TABLE IF NOT EXISTS settings (
|
||||||
minutes INTEGER NOT NULL DEFAULT 3,
|
minutes INTEGER NOT NULL DEFAULT 3,
|
||||||
seconds INTEGER NOT NULL DEFAULT 30,
|
seconds INTEGER NOT NULL DEFAULT 30,
|
||||||
alarm BOOLEAN NOT NULL DEFAULT false,
|
alarm BOOLEAN NOT NULL DEFAULT 0,
|
||||||
vibrate BOOLEAN NOT NULL DEFAULT true,
|
vibrate BOOLEAN NOT NULL DEFAULT 1,
|
||||||
predict BOOLEAN NOT NULL DEFAULT true,
|
predict BOOLEAN NOT NULL DEFAULT 1,
|
||||||
sets INTEGER NOT NULL DEFAULT 3
|
sets INTEGER NOT NULL DEFAULT 3
|
||||||
)
|
)
|
||||||
`,
|
`,
|
||||||
|
@ -42,16 +42,16 @@ const migrations = [
|
||||||
)
|
)
|
||||||
`,
|
`,
|
||||||
`
|
`
|
||||||
ALTER TABLE sets ADD COLUMN hidden DEFAULT false
|
ALTER TABLE sets ADD COLUMN hidden DEFAULT 0
|
||||||
`,
|
`,
|
||||||
`
|
`
|
||||||
ALTER TABLE settings ADD COLUMN notify DEFAULT false
|
ALTER TABLE settings ADD COLUMN notify DEFAULT 0
|
||||||
`,
|
`,
|
||||||
`
|
`
|
||||||
ALTER TABLE sets ADD COLUMN image TEXT NULL
|
ALTER TABLE sets ADD COLUMN image TEXT NULL
|
||||||
`,
|
`,
|
||||||
`
|
`
|
||||||
ALTER TABLE settings ADD COLUMN images BOOLEAN DEFAULT false
|
ALTER TABLE settings ADD COLUMN images BOOLEAN DEFAULT 0
|
||||||
`,
|
`,
|
||||||
`
|
`
|
||||||
SELECT * FROM settings LIMIT 1
|
SELECT * FROM settings LIMIT 1
|
||||||
|
@ -75,7 +75,7 @@ const migrations = [
|
||||||
ALTER TABLE sets ADD COLUMN seconds INTEGER NOT NULL DEFAULT 30
|
ALTER TABLE sets ADD COLUMN seconds INTEGER NOT NULL DEFAULT 30
|
||||||
`,
|
`,
|
||||||
`
|
`
|
||||||
ALTER TABLE settings ADD COLUMN showUnit BOOLEAN DEFAULT true
|
ALTER TABLE settings ADD COLUMN showUnit BOOLEAN DEFAULT 1
|
||||||
`,
|
`,
|
||||||
`
|
`
|
||||||
ALTER TABLE sets ADD COLUMN steps TEXT NULL
|
ALTER TABLE sets ADD COLUMN steps TEXT NULL
|
||||||
|
@ -115,6 +115,9 @@ const migrations = [
|
||||||
`
|
`
|
||||||
ALTER TABLE settings ADD COLUMN theme TEXT
|
ALTER TABLE settings ADD COLUMN theme TEXT
|
||||||
`,
|
`,
|
||||||
|
`
|
||||||
|
ALTER TABLE settings ADD COLUMN showSets BOOLEAN DEFAULT 1
|
||||||
|
`,
|
||||||
];
|
];
|
||||||
|
|
||||||
export let db: SQLiteDatabase;
|
export let db: SQLiteDatabase;
|
||||||
|
|
|
@ -11,4 +11,5 @@ export default interface Settings {
|
||||||
date?: string;
|
date?: string;
|
||||||
showDate: number;
|
showDate: number;
|
||||||
theme?: 'system' | 'dark' | 'light';
|
theme?: 'system' | 'dark' | 'light';
|
||||||
|
showSets?: number;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user