import { createFileRoute, Outlet, redirect, Link } from "@tanstack/react-router" import { useState } from "react" import { Button } from "@/components/ui/button" import { Input } from "@/components/ui/input" import { Separator } from "@/components/ui/separator" import { ScrollArea } from "@/components/ui/scroll-area" import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar" import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu" import { Sheet, SheetContent, SheetTrigger } from "@/components/ui/sheet" import { ModeToggle } from "@/components/mode-toggle" import { Menu, Bell, Search as SearchIcon, LayoutDashboard, GraduationCap, FileText, Settings, LogOut, } from "lucide-react" import { useSupabaseAuth } from "@/auth/supabase" export const Route = createFileRoute("/_authenticated")({ beforeLoad: ({ context }) => { if (!context.auth.isAuthenticated) { throw redirect({ to: "/login", search: { redirect: location.href } }) } }, component: Layout, }) const nav = [ { to: "/planes", label: "Planes", icon: GraduationCap }, { to: "/materias", label: "Materias", icon: FileText }, { to: "/dashboard", label: "Dashboard", icon: LayoutDashboard }, { to: "/ajustes", label: "Ajustes", icon: Settings }, ] function Layout() { const { auth } = Route.useRouteContext() const [query, setQuery] = useState("") return (