import { LifeBuoy, LogOut } from "lucide-react"; import { toast } from "sonner"; import { type AppContext } from "~/context"; import { GridBackground } from "./grid-background"; import { Button } from "./ui/button"; import { SidebarProvider, SidebarTrigger } from "./ui/sidebar"; import { AppSidebar } from "./app-sidebar"; import { authClient } from "../lib/auth-client"; import { DevPanelListener } from "./dev-panel-listener"; import { Outlet, useNavigate } from "@tanstack/react-router"; import { AppBreadcrumb } from "./app-breadcrumb"; import { Tooltip, TooltipContent, TooltipTrigger } from "./ui/tooltip"; import { ThemeToggle } from "./theme-toggle"; type Props = { loaderData: AppContext; }; export function Layout({ loaderData }: Props) { const navigate = useNavigate(); const handleLogout = async () => { await authClient.signOut({ fetchOptions: { onSuccess: () => { void navigate({ to: "/login", replace: true }); }, onError: ({ error }) => { toast.error("Logout failed", { description: error.message }); }, }, }); }; return (
{loaderData.user && (
{loaderData.user.name} Logout Report an issue
)}
); }