"use client"; import { useAtomValue } from "jotai"; import { usePathname } from "next/navigation"; import { currentThreadAtom } from "@/atoms/chat/current-thread.atom"; import { activeSearchSpaceIdAtom } from "@/atoms/search-spaces/search-space-query.atoms"; import { ChatHeader } from "@/components/new-chat/chat-header"; import { ChatShareButton } from "@/components/new-chat/chat-share-button"; import type { ChatVisibility, ThreadRecord } from "@/lib/chat/thread-persistence"; interface HeaderProps { mobileMenuTrigger?: React.ReactNode; } export function Header({ mobileMenuTrigger }: HeaderProps) { const pathname = usePathname(); const searchSpaceId = useAtomValue(activeSearchSpaceIdAtom); const isChatPage = pathname?.includes("/new-chat") ?? false; const currentThreadState = useAtomValue(currentThreadAtom); const hasThread = isChatPage && currentThreadState.id !== null; const threadForButton: ThreadRecord | null = hasThread && currentThreadState.id !== null ? { id: currentThreadState.id, visibility: currentThreadState.visibility ?? "PRIVATE", created_by_id: null, search_space_id: 0, title: "", archived: false, created_at: "", updated_at: "", } : null; const handleVisibilityChange = (_visibility: ChatVisibility) => {}; return (
{/* Left side - Mobile menu trigger + Model selector */}
{mobileMenuTrigger} {isChatPage && searchSpaceId && ( )}
{/* Right side - Actions */}
{hasThread && ( )}
); }