import { ArrowLeft, Code, Webhook, Cable, CreditCard, User } from "lucide-react"; import { Sidebar, SidebarContent, SidebarGroup, SidebarGroupContent, SidebarHeader, SidebarMenu, SidebarMenuItem, SidebarProvider, } from "~/components/ui/sidebar"; import { Button } from "~/components/ui"; import { cn } from "~/lib/utils"; import { type LoaderFunctionArgs } from "@remix-run/server-runtime"; import { requireUser, requireWorkpace } from "~/services/session.server"; import { typedjson } from "remix-typedjson"; import { clearRedirectTo, commitSession } from "~/services/redirectTo.server"; import { Outlet, useLocation, useNavigate } from "@remix-run/react"; export const loader = async ({ request }: LoaderFunctionArgs) => { const user = await requireUser(request); const workspace = await requireWorkpace(request); return typedjson( { user, workspace, }, { headers: { "Set-Cookie": await commitSession(await clearRedirectTo(request)), }, }, ); }; export default function Settings() { const location = useLocation(); const data = { nav: [ // { name: "Workspace", icon: Building }, { name: "Account", icon: User }, { name: "Billing", icon: CreditCard }, { name: "API", icon: Code }, { name: "Webhooks", icon: Webhook }, { name: "MCP", icon: Cable }, ], }; const navigate = useNavigate(); const gotoHome = () => { navigate("/home/conversation"); }; return (