// src/pages/VueConso/VueConso.jsx
// Page Vue consolidée : graphique barres + tableau avec export CSV
import { useState, useEffect } from 'react';
import { useNavigate } from 'react-router-dom';
import { Download } from 'lucide-react';
import { BarChart, Bar, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer } from 'recharts';
import { getDashboard, exportToCSV } from '../../services/api';
import DataTable from '../../components/common/DataTable';
import LoadingSpinner from '../../components/common/LoadingSpinner';
import ErrorMessage from '../../components/common/ErrorMessage';
import Button from '../../components/common/Button';
import { getStatutMonitoring } from '../../utils/statutMonitoring';
import { buildMonitoringColumns } from '../../utils/monitoringColumns';
import styles from './VueConso.module.css';
export default function VueConso() {
const navigate = useNavigate();
const [data, setData] = useState([]);
const [loading, setLoading] = useState(true);
const [erreur, setErreur] = useState('');
useEffect(() => {
async function loadData() {
setLoading(true);
setErreur('');
try {
const result = await getDashboard();
setData(Array.isArray(result) ? result : []);
} catch (e) {
setErreur(e.message || 'Erreur lors du chargement de la vue consolidée.');
} finally {
setLoading(false);
}
}
loadData();
}, []);
if (loading) return