MCPcopy Create free account
hub / github.com/Icecubesaad/OpenLLM-Studio / useLoadedModel

Function useLoadedModel

src/hooks/useLoadedModel.ts:5–42  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

3import { useAppStore } from '../store/appStore';
4
5export function useLoadedModel() {
6 const [isLoading, setIsLoading] = useState(true);
7 const { loadedModel, setLoadedModel, currentConversationId } = useAppStore();
8
9 const refreshLoadedModel = async () => {
10 setIsLoading(true);
11 try {
12 const model = await getLoadedModel();
13 setLoadedModel(model);
14 } catch (err) {
15 console.error('Failed to get loaded model:', err);
16 setLoadedModel(null);
17 } finally {
18 setIsLoading(false);
19 }
20 };
21
22 useEffect(() => {
23 refreshLoadedModel();
24
25 // Poll every 10 seconds
26 const interval = setInterval(refreshLoadedModel, 10000);
27
28 return () => clearInterval(interval);
29 }, []);
30
31 // Refresh when conversation switches
32 useEffect(() => {
33 if (currentConversationId) {
34 refreshLoadedModel();
35 }
36 }, [currentConversationId]);
37
38 return {
39 loadedModel,
40 isLoading,
41 };
42}

Callers 1

ModelStatusIndicatorFunction · 0.90

Calls 1

refreshLoadedModelFunction · 0.85

Tested by

no test coverage detected