// App-wide "hints" toggle: when on, Tooltip components reveal short explanatory // captions on hover so the UI is somewhat self-documenting for new users. Experienced // users can turn it off in Settings. Persisted to localStorage (+ server preferences). const KEY = "siftlode.hints"; let enabled = load(); let listeners: Array<() => void> = []; function load(): boolean { try { return localStorage.getItem(KEY) !== "0"; // default ON } catch { return true; } } export function hintsEnabled(): boolean { return enabled; } export function setHintsEnabled(v: boolean): void { enabled = v; try { localStorage.setItem(KEY, v ? "1" : "0"); } catch { /* ignore */ } listeners.forEach((l) => l()); } export function subscribeHints(listener: () => void): () => void { listeners.push(listener); return () => { listeners = listeners.filter((l) => l !== listener); }; }