"use client"; // ============================================================ // Dashboard shell — premium dark theme. Keeps the sidebar + // header and swaps the inner content. Profile / Support / Rules // render real views; other workspace modules show a placeholder. // ============================================================ import { useEffect, useState } from "react"; import { Sidebar, NAV_ITEMS } from "./sidebar"; import { Topbar } from "./topbar"; import { ToastProvider, PageHead, Btn, Icon } from "./ui"; import { Profile } from "./profile"; import { Support } from "./support"; import { Rules } from "./rules"; import { AiAssistant } from "./ai-assistant"; import { TeamManagement } from "./team-management"; import { Messenger } from "./messenger"; import { Inbox } from "./inbox"; import { Leads } from "./leads"; import { Verify } from "./verify"; import "../../app/dashboard/dashboard.css"; export function Dashboard() { const [theme, setTheme] = useState<"dark" | "light">("dark"); const [active, setActive] = useState("dashboard"); useEffect(() => { // Sync the persisted theme from localStorage (an external system) on mount. // eslint-disable-next-line react-hooks/set-state-in-effect try { const t = localStorage.getItem("lup_dash_theme"); if (t === "light" || t === "dark") setTheme(t); } catch {} }, []); function toggle() { setTheme((t) => { const n = t === "dark" ? "light" : "dark"; try { localStorage.setItem("lup_dash_theme", n); } catch {} return n; }); } const item = NAV_ITEMS.find((i) => i.key === active); const title = item?.label ?? "Dashboard"; const subtitle = item?.subtitle ?? "Workspace module"; return (
{active === "profile" ? : active === "support" ? : active === "rules" ? : active === "ai" ? : active === "messenger" ? : active === "inbox" ? : active === "leads" ? : active === "verify" ? : active === "team" ? : }
); } // Placeholder for workspace modules that don't have a view yet — keeps the // full navigation coherent and points users to the live sections. function ComingSoon({ title, icon, onGo }: { title: string; icon: string; onGo: (k: string) => void }) { return (

{title} is coming soon

This area is reserved for the {title} module. In the meantime, the account experience is fully built out.

onGo("profile")}>Open Profile onGo("support")}>Support Center onGo("rules")}>Rules
); }