'use client'; import { useEffect, useState } from 'react'; import { Card } from '@/components/ui/card'; import { LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer, Legend } from 'recharts'; export default function PowerPredictionGraph() { const [predictions, setPredictions] = useState(null); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); useEffect(() => { const fetchPredictions = async () => { try { const response = await fetch('/api/predictions'); if (!response.ok) throw new Error('Failed to fetch predictions'); const data = await response.json(); setPredictions(data); } catch (err) { setError(err.message); } finally { setLoading(false); } }; fetchPredictions(); }, []); if (loading) { return (
Loading predictions...
); } if (error) { return (
Error loading predictions
); } if (!predictions?.length) { return null; } const chartData = predictions.map(pred => ({ date: new Date(pred.date).toLocaleDateString('en-US', { weekday: 'short' }), predicted: pred.predictedPower, confidence: pred.confidence * 100 })); return (

7-Day Power Generation Forecast

); }