import React, { useState, useEffect } from 'react'; import { apiClient } from '../services/apiService.ts'; import { CpuIcon } from './icons/Icons.tsx'; interface AiSummaryModalProps { isOpen: boolean; onClose: () => void; dashboardData: string; } const AiSummaryModal: React.FC = ({ isOpen, onClose, dashboardData }) => { const [isLoading, setIsLoading] = useState(false); const [summary, setSummary] = useState(''); const [error, setError] = useState(''); useEffect(() => { if (isOpen) { setIsLoading(true); setSummary(''); setError(''); const systemPrompt = 'Anda adalah analis peternakan ayam broiler CP 707. Buat ringkasan singkat dan profesional dalam Bahasa Indonesia berdasarkan data berikut. Gunakan standar buku Manajemen Broiler CP 707.'; apiClient .proxyLmStudio(dashboardData, systemPrompt, 0.2) .then((res) => setSummary(res.response || '')) .catch((err: Error) => setError(err.message || 'Terjadi kesalahan tidak diketahui.')) .finally(() => setIsLoading(false)); } }, [isOpen, dashboardData]); if (!isOpen) return null; return (

Ringkasan Laporan AI

{isLoading && (

AI sedang menganalisis data...

)} {error &&

{error}

} {summary && (
') }} /> )}
); }; export default AiSummaryModal;