parent
66c24a96bd
commit
374cbdf45d
|
@ -33,14 +33,15 @@ export default function SetList() {
|
||||||
const predict = useCallback(async () => {
|
const predict = useCallback(async () => {
|
||||||
setCount(0);
|
setCount(0);
|
||||||
setSet({...defaultSet});
|
setSet({...defaultSet});
|
||||||
if (!settings.predict) return;
|
if (settings.newSet === 'empty') return;
|
||||||
|
const todaysSet = await getToday();
|
||||||
|
if (!settings.newSet && todaysSet) return setSet({...todaysSet});
|
||||||
const todaysPlan = await getTodaysPlan();
|
const todaysPlan = await getTodaysPlan();
|
||||||
if (todaysPlan.length === 0) return;
|
if (todaysPlan.length === 0) return;
|
||||||
const todaysWorkouts = todaysPlan[0].workouts.split(',');
|
const todaysWorkouts = todaysPlan[0].workouts.split(',');
|
||||||
setWorkouts(todaysWorkouts);
|
setWorkouts(todaysWorkouts);
|
||||||
let workout = todaysWorkouts[0];
|
let workout = todaysWorkouts[0];
|
||||||
let best = await getBestSet(workout);
|
let best = await getBestSet(workout);
|
||||||
const todaysSet = await getToday();
|
|
||||||
if (!todaysSet || !todaysWorkouts.includes(todaysSet.name))
|
if (!todaysSet || !todaysWorkouts.includes(todaysSet.name))
|
||||||
return setSet(best);
|
return setSet(best);
|
||||||
let _count = await countToday(todaysSet.name);
|
let _count = await countToday(todaysSet.name);
|
||||||
|
|
|
@ -20,7 +20,7 @@ export default function SettingsPage() {
|
||||||
const [search, setSearch] = useState('');
|
const [search, setSearch] = useState('');
|
||||||
const [vibrate, setVibrate] = useState(!!settings.vibrate);
|
const [vibrate, setVibrate] = useState(!!settings.vibrate);
|
||||||
const [alarm, setAlarm] = useState(!!settings.alarm);
|
const [alarm, setAlarm] = useState(!!settings.alarm);
|
||||||
const [predict, setPredict] = useState(!!settings.predict);
|
const [newSet, setNewSet] = useState(settings.newSet);
|
||||||
const [sound, setSound] = useState(settings.sound);
|
const [sound, setSound] = useState(settings.sound);
|
||||||
const [notify, setNotify] = useState(!!settings.notify);
|
const [notify, setNotify] = useState(!!settings.notify);
|
||||||
const [images, setImages] = useState(!!settings.images);
|
const [images, setImages] = useState(!!settings.images);
|
||||||
|
@ -40,7 +40,7 @@ export default function SettingsPage() {
|
||||||
updateSettings({
|
updateSettings({
|
||||||
vibrate: +vibrate,
|
vibrate: +vibrate,
|
||||||
alarm: +alarm,
|
alarm: +alarm,
|
||||||
predict: +predict,
|
newSet,
|
||||||
sound,
|
sound,
|
||||||
notify: +notify,
|
notify: +notify,
|
||||||
images: +images,
|
images: +images,
|
||||||
|
@ -53,7 +53,7 @@ export default function SettingsPage() {
|
||||||
}, [
|
}, [
|
||||||
vibrate,
|
vibrate,
|
||||||
alarm,
|
alarm,
|
||||||
predict,
|
newSet,
|
||||||
sound,
|
sound,
|
||||||
notify,
|
notify,
|
||||||
images,
|
images,
|
||||||
|
@ -73,15 +73,6 @@ export default function SettingsPage() {
|
||||||
[setBattery, ignoring, toast],
|
[setBattery, ignoring, toast],
|
||||||
);
|
);
|
||||||
|
|
||||||
const changePredict = useCallback(
|
|
||||||
(enabled: boolean) => {
|
|
||||||
setPredict(enabled);
|
|
||||||
if (enabled) toast('Predict your next set based on todays plan.', 4000);
|
|
||||||
else toast('New sets will always be empty.', 4000);
|
|
||||||
},
|
|
||||||
[setPredict, toast],
|
|
||||||
);
|
|
||||||
|
|
||||||
const changeVibrate = useCallback(
|
const changeVibrate = useCallback(
|
||||||
(enabled: boolean) => {
|
(enabled: boolean) => {
|
||||||
setVibrate(enabled);
|
setVibrate(enabled);
|
||||||
|
@ -149,7 +140,6 @@ export default function SettingsPage() {
|
||||||
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},
|
||||||
{name: 'Predict sets', value: predict, onChange: changePredict},
|
|
||||||
{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},
|
||||||
|
@ -173,6 +163,17 @@ export default function SettingsPage() {
|
||||||
{input.name}
|
{input.name}
|
||||||
</Switch>
|
</Switch>
|
||||||
))}
|
))}
|
||||||
|
{'new set'.includes(search.toLowerCase()) && (
|
||||||
|
<Picker
|
||||||
|
style={{color}}
|
||||||
|
dropdownIconColor={color}
|
||||||
|
selectedValue={newSet}
|
||||||
|
onValueChange={value => setNewSet(value)}>
|
||||||
|
<Picker.Item value="" label="Copy new sets" />
|
||||||
|
<Picker.Item value="predict" label="Predict new sets" />
|
||||||
|
<Picker.Item value="empty" label="New sets are empty" />
|
||||||
|
</Picker>
|
||||||
|
)}
|
||||||
{'theme'.includes(search.toLowerCase()) && (
|
{'theme'.includes(search.toLowerCase()) && (
|
||||||
<Picker
|
<Picker
|
||||||
style={{color}}
|
style={{color}}
|
||||||
|
@ -190,7 +191,9 @@ export default function SettingsPage() {
|
||||||
</Picker>
|
</Picker>
|
||||||
)}
|
)}
|
||||||
{'alarm sound'.includes(search.toLowerCase()) && (
|
{'alarm sound'.includes(search.toLowerCase()) && (
|
||||||
<Button style={{alignSelf: 'flex-start'}} onPress={changeSound}>
|
<Button
|
||||||
|
style={{alignSelf: 'flex-start', marginTop: MARGIN}}
|
||||||
|
onPress={changeSound}>
|
||||||
Alarm sound
|
Alarm sound
|
||||||
{sound
|
{sound
|
||||||
? ': ' + sound.split('/')[sound.split('/').length - 1]
|
? ': ' + sound.split('/')[sound.split('/').length - 1]
|
||||||
|
|
3
db.ts
3
db.ts
|
@ -103,6 +103,9 @@ const migrations = [
|
||||||
`
|
`
|
||||||
ALTER TABLE settings ADD COLUMN nextAlarm TEXT NULL
|
ALTER TABLE settings ADD COLUMN nextAlarm TEXT NULL
|
||||||
`,
|
`,
|
||||||
|
`
|
||||||
|
ALTER TABLE settings ADD COLUMN newSet TEXT NULL
|
||||||
|
`,
|
||||||
];
|
];
|
||||||
|
|
||||||
export let db: SQLiteDatabase;
|
export let db: SQLiteDatabase;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
export default interface Settings {
|
export default interface Settings {
|
||||||
alarm: number;
|
alarm: number;
|
||||||
vibrate: number;
|
vibrate: number;
|
||||||
predict: number;
|
newSet?: 'predict' | 'empty';
|
||||||
sound?: string;
|
sound?: string;
|
||||||
notify?: number;
|
notify?: number;
|
||||||
images?: number;
|
images?: number;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user