/* ============================================================
   app.jsx — Top-level mode router.
   사용자가 진입했을 때 A/B 워크플로 중 하나를 고른 후 해당 화면을
   렌더한다. 선택은 localStorage 에 저장되어 새로고침 후에도 유지.
   좌측 상단 로고 클릭으로 언제든 진입 화면(mode picker)으로 복귀.
   ============================================================ */

const MODE_KEY = "banner-forge-mode";

function App() {
  const [mode, setMode] = React.useState(() => {
    try { return localStorage.getItem(MODE_KEY) || null; } catch { return null; }
  });

  const pick = (m) => {
    setMode(m);
    try { localStorage.setItem(MODE_KEY, m); } catch {}
  };
  const back = () => {
    setMode(null);
    try { localStorage.removeItem(MODE_KEY); } catch {}
  };

  if (!mode)        return <window.ModeEntry onPick={pick} />;
  if (mode === "a") return <window.ModeAApp onBackToEntry={back} />;
  if (mode === "b") return <window.ModeBApp onBackToEntry={back} />;
  // Unknown mode — recover to entry
  return <window.ModeEntry onPick={pick} />;
}

ReactDOM.createRoot(document.getElementById("root")).render(<App />);
