Files
OPEN_CODEX_API/src/components/ChatHeader.tsx
T
2025-10-16 18:48:32 +00:00

55 lines
1.7 KiB
TypeScript

import { ChevronDown } from "lucide-react";
import { Button } from "@/components/ui/button";
import {
DropdownMenu,
DropdownMenuContent,
DropdownMenuItem,
DropdownMenuTrigger,
} from "@/components/ui/dropdown-menu";
interface ChatHeaderProps {
showModelSelector?: boolean;
}
export const ChatHeader = ({ showModelSelector = false }: ChatHeaderProps) => {
const models = [
"ChatGPT 4.1",
"ChatGPT 5",
"Claude Sonnet 4.5",
"Claude Opus 4.1",
];
return (
<header className="border-b border-border bg-card/50 backdrop-blur-sm px-6 py-4 flex items-center justify-between">
<div className="flex items-center gap-4">
<div className="flex items-center gap-2">
<div className="w-2 h-2 rounded-full bg-primary animate-pulse-glow" />
<span className="text-sm text-muted-foreground">Online</span>
</div>
{showModelSelector && (
<DropdownMenu>
<DropdownMenuTrigger asChild>
<Button variant="outline" className="gap-2 glass-effect">
<span className="font-medium">ChatGPT 4.1</span>
<ChevronDown className="w-4 h-4" />
</Button>
</DropdownMenuTrigger>
<DropdownMenuContent align="start" className="glass-effect bg-popover border-border z-50">
{models.map((model) => (
<DropdownMenuItem key={model} className="cursor-pointer">
{model}
</DropdownMenuItem>
))}
</DropdownMenuContent>
</DropdownMenu>
)}
</div>
<div className="text-sm text-muted-foreground">
{showModelSelector ? "Modelo de linguagem avançado" : "Sistema HGTX Codex"}
</div>
</header>
);
};