Move info boxes to model popups
This commit is contained in:
fraxle
2026-06-11 18:12:04 +01:00
parent b41c4bd75c
commit 9a9684ba99
12 changed files with 615 additions and 306 deletions
+25
View File
@@ -297,6 +297,29 @@ export function useAppState() {
return next;
});
// ── Welcome / "How it works" popup ───────────────────────────────────
// Auto-shows on first visit (no seen flag), can be reopened anytime via
// the footer link. Reopening does NOT clear the flag.
const [welcomeOpen, setWelcomeOpen] = useState(() => {
try { return localStorage.getItem('sunscope_welcome_seen') !== '1'; }
catch (e) { return false; }
});
useEffect(() => {
if (welcomeOpen && (() => { try { return localStorage.getItem('sunscope_welcome_seen') !== '1'; } catch (e) { return false; } })()) {
track('welcome_shown');
}
}, []);
const closeWelcome = () => {
try { localStorage.setItem('sunscope_welcome_seen', '1'); } catch (e) { /* ignore */ }
setWelcomeOpen(false);
};
const openWelcome = () => setWelcomeOpen(true);
// Restore-access modal ("Already subscribed?").
const [restoreOpen, setRestoreOpen] = useState(false);
const openRestore = () => setRestoreOpen(true);
const closeRestore = () => setRestoreOpen(false);
const [showUnits, setShowUnits] = useState(() => {
try {
const s = localStorage.getItem('sunscope_show_units');
@@ -631,6 +654,8 @@ export function useAppState() {
pollenType, setPollenTypeAndSave,
utciEnv, setUtciEnv: setUtciEnvAndSave,
showDecimals, toggleShowDecimals,
welcomeOpen, closeWelcome, openWelcome,
restoreOpen, openRestore, closeRestore,
showUnits, toggleShowUnits,
tableInterval, setTableInterval,
// table refs