import React, { useState, useEffect } from 'react'; import { Eye } from 'lucide-react'; import { settingsService } from '../services/settingsService'; import { useLanguage } from '../contexts/LanguageContext'; interface VisionModel { id: string; name: string; modelId: string; } interface VisionModelSelectorProps { isAdmin?: boolean; } const VisionModelSelector: React.FC = ({ isAdmin = false }) => { const { t } = useLanguage(); const [visionModels, setVisionModels] = useState([]); const [selectedModelId, setSelectedModelId] = useState(''); const [loading, setLoading] = useState(true); const [error, setError] = useState(''); useEffect(() => { loadData(); }, []); const loadData = async () => { try { setLoading(true); setError(''); const [models, current] = await Promise.all([ settingsService.getVisionModels(), settingsService.getVisionModel() ]); console.log('Vision models loaded:', models); console.log('Current vision model:', current); setVisionModels(models || []); setSelectedModelId(current?.visionModelId || ''); } catch (error) { console.error(t('loadVisionModelFailed'), error); setError(t('loadFailed')); } finally { setLoading(false); } }; const handleChange = async (modelId: string) => { try { setSelectedModelId(modelId); await settingsService.updateVisionModel(modelId); } catch (error) { console.error(t('saveVisionModelFailed'), error); } }; return (
{t('visionModelSettings')}
{error ? (
{error}
) : ( )}

{t('visionModelHelp')}

); }; export default VisionModelSelector;