feat : add dashboard with Chart.js charts and filters

Implement the dashboard page with real data from the API:
- KPI cards (hours, active tasks, total tasks, projects)
- Charts: hours by day (line), hours by project (doughnut),
  tasks by status (doughnut), tasks by priority (bar),
  tasks by project (horizontal stacked bar)
- Filters: period (week/month), project, user
- Add chart.js and vue-chartjs dependencies
- Add dashboard sidebar icon and translations

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-14 09:05:35 +01:00
parent 0733ac16cd
commit 25aef9b2d5
6 changed files with 776 additions and 69 deletions

View File

@@ -111,8 +111,21 @@
"hoursWorked": "Heures travaillées",
"inProgress": "En cours",
"done": "Terminé",
"filters": {
"period": "Période",
"project": "Projet",
"user": "Utilisateur",
"allProjects": "Tous les projets",
"allUsers": "Tous les utilisateurs"
},
"periods": {
"thisWeek": "Cette semaine",
"lastWeek": "Semaine dernière",
"thisMonth": "Ce mois",
"lastMonth": "Mois dernier"
},
"stats": {
"hoursThisWeek": "Heures cette semaine",
"hoursPeriod": "Heures sur la période",
"myActiveTasks": "Mes tâches actives",
"completed": "terminée(s)",
"totalTasks": "Tâches totales",
@@ -121,8 +134,8 @@
"users": "utilisateur(s)"
},
"charts": {
"hoursByDay": "Heures par jour (semaine en cours)",
"hoursByProject": "Temps par projet (semaine en cours)",
"hoursByDay": "Heures par jour",
"hoursByProject": "Temps par projet",
"tasksByStatus": "Tâches par statut",
"tasksByPriority": "Tâches par priorité",
"tasksByProject": "Tâches par projet"