'use client'; import { useState, useEffect } from 'react'; import { apiClient } from '@/lib/api'; import type { Model, Language } from '@/types'; interface ControlPanelProps { selectedLanguage: Language; selectedModel: string; onLanguageChange: (language: Language) => void; onModelChange: (modelId: string) => void; onDeploy: () => void; onClear: () => void; isGenerating: boolean; } export default function ControlPanel({ selectedLanguage, selectedModel, onLanguageChange, onModelChange, onDeploy, onClear, isGenerating, }: ControlPanelProps) { const [models, setModels] = useState([]); const [languages, setLanguages] = useState([]); const [isLoading, setIsLoading] = useState(true); useEffect(() => { loadData(); }, []); const loadData = async () => { setIsLoading(true); await Promise.all([loadModels(), loadLanguages()]); setIsLoading(false); }; const loadModels = async () => { try { console.log('Loading models...'); const modelsList = await apiClient.getModels(); console.log('Models loaded:', modelsList); setModels(modelsList); } catch (error) { console.error('Failed to load models:', error); } }; const loadLanguages = async () => { try { console.log('Loading languages...'); const { languages: languagesList } = await apiClient.getLanguages(); console.log('Languages loaded:', languagesList); setLanguages(languagesList); } catch (error) { console.error('Failed to load languages:', error); } }; return (

Configuration

{/* Language Selection */}
{/* Model Selection */}
{!isLoading && models.find(m => m.id === selectedModel) && (

{models.find(m => m.id === selectedModel)?.description}

)}
{/* Action Buttons */}
{/* Info Panel */}

💡 Tips

  • • Be specific in your requirements
  • • Try different AI models
  • • Edit code in the editor
  • • Deploy to HF Spaces
); }