Improve responsiveness of timer page - 1.180 🚀
This commit is contained in:
parent
bf6863000f
commit
84ff8a110b
|
@ -17,7 +17,7 @@ export interface TickEvent {
|
|||
}
|
||||
|
||||
export default function TimerPage() {
|
||||
const { minutes, seconds } = useTimer();
|
||||
const { minutes, seconds, update } = useTimer();
|
||||
const [settings, setSettings] = useState<Settings>();
|
||||
const { colors } = useTheme();
|
||||
|
||||
|
@ -29,11 +29,13 @@ export default function TimerPage() {
|
|||
|
||||
const stop = () => {
|
||||
NativeModules.AlarmModule.stop();
|
||||
update();
|
||||
};
|
||||
|
||||
const add = async () => {
|
||||
console.log(`${TimerPage.name}.add:`, settings);
|
||||
NativeModules.AlarmModule.add();
|
||||
update();
|
||||
};
|
||||
|
||||
const progress = useMemo(() => {
|
||||
|
|
|
@ -85,8 +85,8 @@ android {
|
|||
applicationId "com.massive"
|
||||
minSdkVersion rootProject.ext.minSdkVersion
|
||||
targetSdkVersion rootProject.ext.targetSdkVersion
|
||||
versionCode 36205
|
||||
versionName "1.179"
|
||||
versionCode 36206
|
||||
versionName "1.180"
|
||||
}
|
||||
signingConfigs {
|
||||
release {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "massive",
|
||||
"version": "1.179",
|
||||
"version": "1.180",
|
||||
"private": true,
|
||||
"license": "GPL-3.0-only",
|
||||
"scripts": {
|
||||
|
|
28
use-timer.ts
28
use-timer.ts
|
@ -8,19 +8,23 @@ export default function useTimer() {
|
|||
const [minutes, setMinutes] = useState("00");
|
||||
const [seconds, setSeconds] = useState("00");
|
||||
|
||||
const update = () => {
|
||||
const current: number = NativeModules.AlarmModule.getCurrent();
|
||||
setMinutes(
|
||||
Math.floor(current / 1000 / 60)
|
||||
.toString()
|
||||
.padStart(2, "0")
|
||||
);
|
||||
setSeconds(
|
||||
Math.floor((current / 1000) % 60)
|
||||
.toString()
|
||||
.padStart(2, "0")
|
||||
);
|
||||
};
|
||||
|
||||
useFocusEffect(
|
||||
useCallback(() => {
|
||||
const current: number = NativeModules.AlarmModule.getCurrent();
|
||||
setMinutes(
|
||||
Math.floor(current / 1000 / 60)
|
||||
.toString()
|
||||
.padStart(2, "0")
|
||||
);
|
||||
setSeconds(
|
||||
Math.floor((current / 1000) % 60)
|
||||
.toString()
|
||||
.padStart(2, "0")
|
||||
);
|
||||
update();
|
||||
const listener = emitter.addListener("tick", (event: TickEvent) => {
|
||||
console.log(`${useTimer.name}.tick:`, { event });
|
||||
setMinutes(event.minutes);
|
||||
|
@ -30,5 +34,5 @@ export default function useTimer() {
|
|||
}, [])
|
||||
);
|
||||
|
||||
return { minutes, seconds };
|
||||
return { minutes, seconds, update };
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue