feat(screener): useScreenerMode hook (form|canvas + localStorage)

This commit is contained in:
2026-05-13 21:38:31 +09:00
parent c60c32b7f2
commit 2fd2ea33c7
2 changed files with 54 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
import { useState } from 'react';
const STORAGE_KEY = 'screener-mode-v1';
const VALID_MODES = new Set(['form', 'canvas']);
function readMode() {
try {
const v = localStorage.getItem(STORAGE_KEY);
return VALID_MODES.has(v) ? v : 'form';
} catch {
return 'form';
}
}
export function useScreenerMode() {
const [mode, setModeState] = useState(readMode);
const setMode = (m) => {
if (!VALID_MODES.has(m)) return;
setModeState(m);
try { localStorage.setItem(STORAGE_KEY, m); } catch {}
};
return { mode, setMode };
}