"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 { 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, Upload, Home, Folder, Settings, User, LogOut, LogIn } from "lucide-react"; import { cn } from "@/lib/utils"; import React from "react"; const navigationItems = [ { title: "Files", href: "/files", description: "Browse and manage your files", icon: Folder, }, { title: "Upload", href: "/upload", description: "Upload new files to the platform", icon: Upload, }, { 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 } = useKindeBrowserClient(); const user = getUser(); return (
vtor.io vtor.io Home {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
) : (
)}
); }