import { useQuery } from "@tanstack/react-query" import { Dropdown, Tooltip } from "antd" import { LucideBrain } from "lucide-react" import React from "react" import { useTranslation } from "react-i18next" import { fetchChatModels } from "@/services/ollama" import { useMessage } from "@/hooks/useMessage" import { ProviderIcons } from "./ProviderIcon" export const ModelSelect: React.FC = () => { const { t } = useTranslation("common") const { setSelectedModel, selectedModel } = useMessage() const { data } = useQuery({ queryKey: ["getAllModelsForSelect"], queryFn: async () => { const models = await fetchChatModels({ returnEmpty: false }) return models } }) return ( <> {data && data.length > 0 && ( ({ key: d.name, label: (
{d.name}
), onClick: () => { if (selectedModel === d.name) { setSelectedModel(null) } else { setSelectedModel(d.name) } } })) || [], style: { maxHeight: 500, overflowY: "scroll" }, className: "no-scrollbar", activeKey: selectedModel }} placement={"topLeft"} trigger={["click"]}>
)} ) }