import { Menu, Moon, Sun } from "lucide-react"; import type { ReactNode } from "react"; import { useTranslation } from "react-i18next"; import { Button } from "@/components/ui/button"; import { cn } from "@/lib/utils"; interface ThreadHeaderProps { title: string; onToggleSidebar: () => void; theme: "light" | "dark"; onToggleTheme: () => void; hideSidebarToggleForHostChrome?: boolean; hostChromeTitleInset?: boolean; hideThemeButton?: boolean; minimal?: boolean; promptNavigatorAction?: ReactNode; sessionInfoAction?: ReactNode; } export function ThreadHeader({ title, onToggleSidebar, theme, onToggleTheme, hideSidebarToggleForHostChrome = false, hostChromeTitleInset = false, hideThemeButton = false, minimal = false, promptNavigatorAction, sessionInfoAction, }: ThreadHeaderProps) { const { t } = useTranslation(); return (
{!minimal ? (
{title}
) : null}
{sessionInfoAction} {promptNavigatorAction} {!hideThemeButton ? ( ) : null}
{!minimal ? (
) : null}
); } function ThemeButton({ theme, onToggleTheme, label, className, }: { theme: "light" | "dark"; onToggleTheme: () => void; label: string; className?: string; }) { return ( ); }