// tweaks.jsx — hook useTweaks: persiste preferencias (modo oscuro,
// acento, fuente, etc.) en localStorage para el panel admin.

const TWEAKS_KEY = "pulso.tweaks.v1";

function useTweaks(defaults) {
  const [state, setState] = React.useState(() => {
    try {
      const raw = localStorage.getItem(TWEAKS_KEY);
      if (raw) return { ...defaults, ...JSON.parse(raw) };
    } catch (_) {}
    return { ...defaults };
  });

  const set = React.useCallback((key, value) => {
    setState(prev => {
      const next = { ...prev, [key]: value };
      try { localStorage.setItem(TWEAKS_KEY, JSON.stringify(next)); } catch (_) {}
      return next;
    });
  }, []);

  return [state, set];
}

window.useTweaks = useTweaks;
