import { useEffect, useState } from 'react'; import { Bar, BarChart, ResponsiveContainer, Tooltip, XAxis, YAxis } from 'recharts'; import { adminApi } from './adminApi.js'; export default function DashboardPage() { const [dashboard, setDashboard] = useState(null); const [error, setError] = useState(''); useEffect(() => { adminApi('/api/admin/dashboard') .then(setDashboard) .catch((loadError) => setError(loadError.message)); }, []); if (error) { return
{error}
; } if (!dashboard) { returnLoading dashboard…
; } const chart = Object.entries(dashboard.counts).map(([status, count]) => ({ status, count })); const cards = [ ['Submitted today', dashboard.submittedToday], ['Submitted this week', dashboard.submittedThisWeek], ['Surveys completed', dashboard.surveysCompleted], ['Pending surveys', dashboard.pendingSurveys], ['Average review (hours)', dashboard.averageReviewHours ?? '—'], ]; return ({label}
{value}