import AsyncStorage from '@react-native-async-storage/async-storage'; import {NativeStackScreenProps} from '@react-navigation/native-stack'; import React, {useEffect, useState} from 'react'; import {StyleSheet, Switch, Text, TextInput, View} from 'react-native'; import {Button} from 'react-native-paper'; import {RootStackParamList} from './App'; import {getDb} from './db'; export default function Settings({ navigation, }: NativeStackScreenProps) { const [minutes, setMinutes] = useState(''); const [seconds, setSeconds] = useState(''); const [alarmEnabled, setAlarmEnabled] = useState(true); useEffect(() => { (async () => { setMinutes((await AsyncStorage.getItem('minutes')) || '3'); setSeconds((await AsyncStorage.getItem('seconds')) || ''); setAlarmEnabled((await AsyncStorage.getItem('alarmEnabled')) === 'true'); })(); }, [navigation]); useEffect(() => { if (minutes) AsyncStorage.setItem('minutes', minutes); if (seconds) AsyncStorage.setItem('seconds', seconds); AsyncStorage.setItem('alarmEnabled', alarmEnabled ? 'true' : 'false'); }, [minutes, seconds, alarmEnabled]); const clear = async () => { const db = await getDb(); await db.executeSql(`DELETE FROM sets`); }; return ( Rest minutes Rest seconds Alarm enabled? ); } const styles = StyleSheet.create({ container: { flex: 1, padding: 10, }, });