trainlog/web/src/routes/DashboardPage.tsx
2026-09-16 10:07:18 +02:00

31 lines
1.4 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { EmptyState } from '../components/EmptyState'
import { Tile } from '../components/Tile'
const dashboardTiles = [
['Prochaine séance', 'Planification', 'Aucune séance préparée disponible.'],
['Activité', 'Régularité', 'Les données d’activité ne sont pas encore exposées.'],
['Progression', 'Évolution', 'La métrique de progression reste à définir.'],
['Dernière séance', 'Historique', 'Aucune séance terminée disponible.'],
['Records / MAX', 'Performances', 'Aucun MAX mesuré disponible.'],
['Répartition musculaire', 'Zones', 'La répartition par zone n’est pas encore disponible.'],
['Cardio / récupération', 'Physiologie', 'Aucune donnée cardio ou récupération disponible.'],
] as const
export function DashboardPage() {
return (
<section className="page" aria-labelledby="page-title">
<div className="page-heading">
<div><p className="eyebrow">VUE D’ENSEMBLE</p><h1 id="page-title">Dashboard</h1></div>
<p className="page-intro">Vos repères d’entraînement, sans extrapolation ni donnée inventée.</p>
</div>
<div className="tile-grid dashboard-preview">
{dashboardTiles.map(([title, eyebrow, message], index) => (
<Tile key={title} title={title} eyebrow={eyebrow}
className={index === 0 || index === 2 ? 'tile-wide' : ''}>
<EmptyState message={message} />
</Tile>
))}
</div>
</section>
)
}