diff --git a/Routes.tsx b/Routes.tsx index 6129940..e1332fe 100644 --- a/Routes.tsx +++ b/Routes.tsx @@ -11,7 +11,6 @@ import PlanPage from './PlanPage'; import Route from './route'; import {getSettings, settings} from './settings.service'; import SettingsPage from './SettingsPage'; -import TimerPage from './TimerPage'; import WorkoutsPage from './WorkoutsPage'; const Drawer = createDrawerNavigator(); @@ -37,7 +36,6 @@ export default function Routes() { {name: 'Plans', component: PlanPage, icon: 'calendar'}, {name: 'Best', component: BestPage, icon: 'stats-chart'}, {name: 'Workouts', component: WorkoutsPage, icon: 'barbell'}, - {name: 'Timer', component: TimerPage, icon: 'time'}, {name: 'Settings', component: SettingsPage, icon: 'settings'}, ]; diff --git a/SetItem.tsx b/SetItem.tsx index 3c615e9..1e8faef 100644 --- a/SetItem.tsx +++ b/SetItem.tsx @@ -60,7 +60,7 @@ export default function SetItem({ <> - navigation.navigate('EditSet', {set: item, workouts: []}) + navigation.navigate('EditSet', {set: item, workouts: [], count: 0}) } title={item.name} description={`${item.reps} x ${item.weight}${item.unit || 'kg'}`} diff --git a/TimerPage.tsx b/TimerPage.tsx deleted file mode 100644 index 2569055..0000000 --- a/TimerPage.tsx +++ /dev/null @@ -1,93 +0,0 @@ -import {useFocusEffect} from '@react-navigation/native'; -import React, {useCallback, useEffect, useState} from 'react'; -import {NativeModules, View} from 'react-native'; -import {Button, Text} from 'react-native-paper'; -import {MARGIN, PADDING} from './constants'; -import { - getNext, - getSettings, - settings, - updateSettings, -} from './settings.service'; - -export default function TimerPage() { - const [next, setNext] = useState(new Date()); - const [ms, setMs] = useState(0); - const [intervalId, setIntervalId] = useState(0); - - const seconds = - ms > 0 - ? Math.floor((ms / 1000) % 60) - .toString() - .padStart(2, '0') - : '00'; - - const minutes = - ms > 0 - ? Math.floor(ms / 1000 / 60) - .toString() - .padStart(2, '0') - : '00'; - - useFocusEffect( - useCallback(() => { - getNext().then(nextIso => - setNext(nextIso ? new Date(nextIso) : new Date()), - ); - }, []), - ); - - const tick = (date: Date) => { - const remaining = date.getTime() - new Date().getTime(); - console.log(`${TimerPage.name}.useEffect`, {remaining}); - if (remaining <= 0) return; - setMs(remaining); - }; - - useEffect(() => { - console.log(`${TimerPage.name}.useEffect:`, {next}); - const date = next || new Date(); - tick(date); - const id = setInterval(() => { - tick(date); - }, 1000); - setIntervalId(oldId => { - clearInterval(oldId); - return id; - }); - return () => clearInterval(id); - }, [next]); - - const stop = () => { - NativeModules.AlarmModule.stop(); - setNext(new Date()); - updateSettings({...settings, nextAlarm: undefined}); - getSettings(); - tick(new Date()); - setMs(0); - }; - - const add = async () => { - console.log(`${TimerPage.name}.add:`, {intervalId, next}); - const date = next || new Date(); - date.setTime(date.getTime() + 1000 * 60); - await updateSettings({...settings, nextAlarm: date.toISOString()}); - setNext(date); - NativeModules.AlarmModule.add(ms, !!settings.vibrate, settings.sound); - tick(date); - }; - - return ( - - - {minutes}:{seconds} - - - - - ); -} diff --git a/drawer-param-list.ts b/drawer-param-list.ts index 8fea9ed..e590f4c 100644 --- a/drawer-param-list.ts +++ b/drawer-param-list.ts @@ -4,5 +4,4 @@ export type DrawerParamList = { Best: {}; Plans: {}; Workouts: {}; - Timer: {}; };