import { fetchApi } from "@/lib/api"; import DatasetToolbar from "@/components/DatasetToolbar"; import { Calendar, User, Crosshair } from "lucide-react"; import Link from "next/link"; interface PlottingData { session_id: string; wallet_hash: string; timestamp: string; plotting: { impacts: any[]; }; } interface PhotoData { filename: string; imageUrl: string; data: PlottingData | null; } export default async function DashboardPage() { let photos: PhotoData[] = []; try { const response = await fetchApi('/api/all-data'); photos = response.data; } catch (error) { console.error("Error fetching photos:", error); } return (

Galerie des Sessions

Visualisez et gérez les données d'entraînement collectées.

{photos.map((photo) => ( {/* Image Preview */}
{/* eslint-disable-next-line @next/next/no-img-element */} {photo.filename}
{/* Badge impacts */} {photo.data?.plotting?.impacts && (
{photo.data.plotting.impacts.length} IMPACTS
)}
{/* Info */}
{photo.data ? new Date(photo.data.timestamp).toLocaleDateString() : 'Date inconnue'}
{photo.data ? ( DATA OK ) : ( NO DATA )}
{photo.data?.wallet_hash?.substring(0, 12) || 'Anonyme'}...
Session ID {photo.data?.session_id || 'N/A'}
))}
{photos.length === 0 && (

Aucune session d'entraînement trouvée.

)}
); }