import React from "react"; import { Button } from "@/components/ui/button"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from "@/components/ui/dropdown-menu"; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/components/ui/tooltip"; import { Badge } from "@/components/ui/badge"; import { Check, Info } from "lucide-react"; import { CHAT_MODELS } from "@/lib/config/types"; interface ModelSelectorProps { selectedModel: string; selectedModelName: string; enabledChatModels: string[] | undefined; onModelChange: (model: string) => void; } export const ModelSelector = React.memo(({ selectedModel, selectedModelName, enabledChatModels, onModelChange }: ModelSelectorProps) => ( {CHAT_MODELS .filter((model) => enabledChatModels?.includes(model.model)) .map((model) => ( onModelChange(model.model)} >
{model.model === selectedModel && ( )} {model.name}

{model.description}

{model.modalities && model.modalities.length > 0 && (
{model.modalities.map((modality) => ( {modality.toLowerCase()} ))}
)}
))}
)); ModelSelector.displayName = "ModelSelector";