import { useEffect, useRef, useState } from "react"; import { useStore } from "../store/useStore"; import { ChevronDown } from "./Icon"; /** Sélecteur de modèle Ollama (chip orange de la barre supérieure). */ export function ModelSelector() { const { models, selectedModel, setSelectedModel } = useStore(); const [open, setOpen] = useState(false); const ref = useRef(null); useEffect(() => { const onClick = (e: MouseEvent) => { if (ref.current && !ref.current.contains(e.target as Node)) setOpen(false); }; document.addEventListener("mousedown", onClick); return () => document.removeEventListener("mousedown", onClick); }, []); return (
{open && (
{models.length === 0 && (
Aucun modèle installé
)} {models.map((m) => ( ))}
)}
); }