"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, ArrowLeft } from "lucide-react"; import { DarkModeToggle } from "./dark-mode-toggle"; import React from "react"; import { usePathname } from "next/navigation"; 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"; const pathname = usePathname(); // Don't show on dashboard or home page const shouldShowBackButton = pathname !== '/dashboard' && pathname !== '/'; if (isLoading) { return (
vtor.io {shouldShowBackButton && ( Back to dashboard )}
); } return (
vtor.io {shouldShowBackButton && ( )}
{isAuthenticated ? ( <>
User Avatar {user?.given_name || user?.email}
    {userMenuItems.map((item) => (
  • {item.title}

    {item.description}

  • ))}
  • Logout

    Sign out of your account

) : (
)} {/* Mobile Menu */}
Home {isAuthenticated ? ( <>
User Avatar {user?.given_name || user?.email}
{userMenuItems.map((item) => ( {item.title} ))} Logout
) : (
)}
); }