import { BadgeCheck, LogOut, Moon, ShieldHalf, Sun } from "lucide-react"; import { useEffect, useState } from "react"; import { useAuth } from "react-oidc-context"; import { NavLink, Outlet, useNavigate } from "react-router-dom"; import { t } from "../../lib/i18n"; import LanguageSelector from "../common/LanguageSelector"; import { Toaster } from "../ui/toaster"; const navItems = [ { labelKey: "ui.dev.nav.clients", labelFallback: "Clients", to: "/clients", icon: ShieldHalf, }, ]; function AppLayout() { const auth = useAuth(); const navigate = useNavigate(); const [theme, setTheme] = useState<"light" | "dark">(() => { const stored = window.localStorage.getItem("admin_theme"); return stored === "dark" ? "dark" : "light"; }); const handleLogout = () => { if ( window.confirm(t("msg.dev.logout_confirm", "로그아웃 하시겠습니까?")) ) { auth.removeUser(); navigate("/login"); } }; useEffect(() => { const root = document.documentElement; root.classList.remove("light", "dark"); if (theme === "light") { root.classList.add("light"); } else { root.classList.add("dark"); } window.localStorage.setItem("admin_theme", theme); }, [theme]); const toggleTheme = () => { setTheme((prev) => (prev === "light" ? "dark" : "light")); }; return (

{t("ui.dev.header.plane", "Dev Plane")}

{t("ui.dev.header.subtitle", "Manage your applications")}
); } export default AppLayout;