"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, FileText, Home, Folder, Settings, User, LogOut, LogIn } from "lucide-react"; import { DarkModeToggle } from "./dark-mode-toggle"; import { cn } from "@/lib/utils"; import React from "react"; const navigationItems = [ { title: "Files", href: "/files", description: "Browse and manage your files", icon: Folder, }, { title: "API Docs", href: "/api-docs", description: "View API documentation", icon: FileText, }, ]; 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 (
vtor.io
); } return (
vtor.io {navigationItems.map((item) => ( {item.title} ))}
{isAuthenticated ? ( <>
User Avatar {user?.given_name || user?.email}
    {userMenuItems.map((item) => (
  • {item.title}

    {item.description}

  • ))}
  • Logout

    Sign out of your account

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