Files
nexusAI/packages/chat-client/src/hooks/useModels.js
2026-04-27 00:09:16 -07:00

24 lines
774 B
JavaScript

// 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 };
}