import AsyncStorage from '@react-native-async-storage/async-storage';
import React, {useEffect, useState} from 'react';
import {StyleSheet, Text} from 'react-native';
import {Button, Modal, Portal} from 'react-native-paper';
export default function Alarm() {
const [show, setShow] = useState(false);
const [seconds, setSeconds] = useState(0);
const [minutes, setMinutes] = useState(0);
let intervalId: number;
useEffect(() => {
intervalId = setInterval(async () => {
const next = await AsyncStorage.getItem('nextAlarm');
if (!next) return;
const ms = new Date(next).getTime() - new Date().getTime();
if (ms <= 0) return;
let secondsLeft = ms / 1000;
secondsLeft--;
if (secondsLeft <= 0) return clearInterval(intervalId);
setSeconds(Math.floor(secondsLeft % 60));
setMinutes(Math.floor(secondsLeft / 60));
}, 1000);
return () => clearInterval(intervalId);
}, []);
return (
<>
setShow(false)}>
Resting
{minutes}:{seconds}
>
);
}
const styles = StyleSheet.create({
center: {
alignItems: 'center',
alignSelf: 'center',
marginBottom: 10,
},
title: {
fontSize: 18,
},
});