import PersistenceWarning from "./PersistenceWarning";
import { useState } from "react";
import { Outlet, useLocation, useNavigate } from "react-router-dom";
import {
AppShell,
AppShellMain,
AppShellSidebar,
AppShellSidebarContent,
AppShellSidebarFooter,
AppShellSidebarHeader,
Button,
Field,
FieldLabel,
GlobalHeader,
GlobalHeaderActions,
GlobalHeaderBrand,
GlobalHeaderInner,
Select,
SideNav,
SideNavGroup,
SideNavGroupLabel,
SideNavItem,
SideNavLink,
SideNavList,
SkipLink,
StatusIndicator,
} from "lumen-ui-kit";
import { logoutSession } from "../lib/api";
import { useWorkspace } from "../workspaces/WorkspaceProvider";
import { workspacePath, workspaceSection } from "../workspaces/workspaceRoutes";
import CreateWorkspaceDialog from "./CreateWorkspaceDialog";
const groups = [
{ label: "Explore", items: [["", "Overview"], ["graph", "Graph"]] },
{ label: "Memory", items: [["data", "Data"], ["observations", "Observations"], ["vectors", "Vectors"]] },
{ label: "Operations", items: [["tasks", "Tasks"], ["ingest", "Ingest"], ["settings", "Settings"]] },
] as const;
export default function Layout() {
const navigate = useNavigate();
const location = useLocation();
const {
workspaces,
activeWorkspace,
switchWorkspace,
canManageWorkspaces,
} = useWorkspace();
const [createOpen, setCreateOpen] = useState(false);
const section = workspaceSection(location.pathname);
const visible = workspaces.filter((workspace) => !workspace.archived);
async function logout() {
try { await logoutSession(); }
finally { navigate("/login"); }
}
const navigation = activeWorkspace ? (
Workspace
{activeWorkspace?.display_name ?? "None"}
{activeWorkspace?.brain_id}