"use client"; import Link from "next/link"; import Image from "next/image"; import { LoginLink, LogoutLink, RegisterLink } from "@kinde-oss/kinde-auth-nextjs/server"; import { useKindeBrowserClient } from "@kinde-oss/kinde-auth-nextjs"; import { useTheme } from "@/app/providers"; import { NavigationMenu, NavigationMenuContent, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, } from "@/components/ui/navigation-menu"; import { Button } from "@/components/ui/button"; import { Sheet, SheetContent, SheetTrigger } from "@/components/ui/sheet"; import { Menu, Home, Settings, User, LogOut, LogIn } from "lucide-react"; import { DarkModeToggle } from "./dark-mode-toggle"; import React from "react"; const userMenuItems = [ { title: "Profile", href: "/profile", description: "Manage your profile settings", icon: User, }, { title: "Settings", href: "/settings", description: "Configure your preferences", icon: Settings, }, ]; export default function Header() { const { isAuthenticated, getUser, isLoading } = useKindeBrowserClient(); const { theme } = useTheme(); const user = getUser(); const logoSrc = theme === "dark" ? "/vtorio-dark.svg" : "/vtorio.svg"; if (isLoading) { return ( ); } return ( {isAuthenticated ? ( <> {user?.given_name || user?.email} {userMenuItems.map((item) => ( {item.title} {item.description} ))} Logout Sign out of your account > ) : ( Login )} {/* Mobile Menu */} Toggle menu Home {isAuthenticated ? ( <> {user?.given_name || user?.email} {userMenuItems.map((item) => ( {item.title} ))} Logout > ) : ( Login Sign Up )} ); }
{item.description}
Sign out of your account