"use client" import { Logo } from "@ui/assets/Logo" import { Avatar, AvatarFallback, AvatarImage } from "@ui/components/avatar" import { useAuth } from "@lib/auth-context" import { LayoutGridIcon, Plus, SearchIcon, LogOut, Settings, Home, Code2, ExternalLink, HelpCircle, MenuIcon, MessageCircleIcon, RotateCcw, } from "lucide-react" import { Button } from "@ui/components/button" import { cn } from "@lib/utils" import { dmSansClassName } from "@/lib/fonts" import { Tabs, TabsList, TabsTrigger } from "@ui/components/tabs" import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, } from "@ui/components/dropdown-menu" import { authClient } from "@lib/auth" import { useProjectMutations } from "@/hooks/use-project-mutations" import { useProject } from "@/stores" import { useRouter } from "next/navigation" import Link from "next/link" import { SpaceSelector } from "./space-selector" import { useIsMobile } from "@hooks/use-mobile" import { useOrgOnboarding } from "@hooks/use-org-onboarding" import { useState } from "react" import { FeedbackModal } from "./feedback-modal" interface HeaderProps { onAddMemory?: () => void onOpenMCP?: () => void onOpenChat?: () => void onOpenSearch?: () => void } export function Header({ onAddMemory, onOpenMCP, onOpenChat, onOpenSearch, }: HeaderProps) { const { user } = useAuth() const { selectedProject } = useProject() const { switchProject } = useProjectMutations() const router = useRouter() const isMobile = useIsMobile() const { resetOrgOnboarded } = useOrgOnboarding() const [isFeedbackOpen, setIsFeedbackOpen] = useState(false) const handleTryOnboarding = () => { resetOrgOnboarded() router.push("/new/onboarding?step=input&flow=welcome") } const handleFeedback = () => { setIsFeedbackOpen(true) } const displayName = user?.displayUsername || localStorage.getItem("username") || localStorage.getItem("userName") || "" const userName = displayName ? `${displayName.split(" ")[0]}'s` : "My" return (
{user?.name}
{user?.email}