nice update

This commit is contained in:
gpatruno
2026-07-16 20:23:58 +02:00
parent a0d7163464
commit 9106c8b873
47 changed files with 5183 additions and 1732 deletions
+24
View File
@@ -0,0 +1,24 @@
import { useEffect, useState } from 'react';
export function useCountdown(endsAt) {
const [remaining, setRemaining] = useState(0);
useEffect(() => {
if (!endsAt) {
setRemaining(0);
return undefined;
}
const tick = () => {
const ms = new Date(endsAt).getTime() - Date.now();
setRemaining(Math.max(0, Math.ceil(ms / 1000)));
};
tick();
const id = setInterval(tick, 250);
return () => clearInterval(id);
}, [endsAt]);
const mm = String(Math.floor(remaining / 60)).padStart(2, '0');
const ss = String(remaining % 60).padStart(2, '0');
return { remaining, label: `${mm}:${ss}` };
}