// hooks/useModels.js import { useState, useEffect } from 'react'; import { fetchModels } from '../api/orchestration'; import { FALLBACK_MODELS, DEFAULT_MODEL } from '../config/constants'; export function useModels() { const [models, setModels] = useState(FALLBACK_MODELS); const [selectedModel, setSelectedModel] = useState(DEFAULT_MODEL); const [loading, setLoading] = useState(true); useEffect(() => { fetchModels() .then(data => { setModels(data); setSelectedModel(data[0]?.value ?? DEFAULT_MODEL); }) .catch(err => { console.warn('[useModels] Falling back to static list:', err.message); }) .finally(() => setLoading(false)); }, []); return { models, selectedModel, setSelectedModel, loading }; }