import { Fragment, useState } from "react"; import { Dialog, Menu, Transition } from "@headlessui/react"; import { Bars3CenterLeftIcon, CogIcon, HomeIcon, XMarkIcon, } from "@heroicons/react/24/outline"; import { ChevronDownIcon } from "@heroicons/react/20/solid"; import { useSupabaseClient, useUser } from "@supabase/auth-helpers-react"; import { useRouter } from "next/router"; import Link from "next/link"; const navigation = [ { name: "Home", href: "/dashboard", icon: HomeIcon, current: true }, { name: "Settings", href: "/dashboard/settings", icon: CogIcon, current: false, }, ]; //@ts-ignore function classNames(...classes) { return classes.filter(Boolean).join(" "); } export default function DashboardLayout({ children, }: { children: React.ReactNode; }) { const [sidebarOpen, setSidebarOpen] = useState(false); const user = useUser(); const router = useRouter(); const supabase = useSupabaseClient(); return ( <>
PageAssist
PageAssist
{/* Search bar */}
{/* Profile dropdown */}
Open user menu for {user?.email}
{({ active }) => ( Settings )} {({ active }) => (
{ await supabase.auth.signOut(); router.push("/"); }} className={classNames( active ? "bg-gray-100" : "", "block px-4 py-2 text-sm text-gray-700" )} > Logout
)}
{children}
); }