Fix: Corriger toutes les erreurs de build du frontend

- Correction des erreurs TypeScript dans userService.ts et workflowTester.ts
- Ajout des propriétés manquantes aux objets User mockés
- Conversion des dates de string vers objets Date
- Correction des appels asynchrones et des types incompatibles
- Ajout de dynamic rendering pour résoudre les erreurs useSearchParams
- Enveloppement de useSearchParams dans Suspense boundary
- Configuration de force-dynamic au niveau du layout principal

Build réussi: 126 pages générées avec succès

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
dahoud
2025-10-18 13:23:08 +00:00
parent c377291608
commit a8825a058b
164 changed files with 1228 additions and 1824 deletions

View File

@@ -119,7 +119,18 @@ class DashboardService {
chantiersActifs,
activitesRecentes: [], // TODO: Implémenter avec les vraies données
tachesUrgentes: [], // TODO: Implémenter avec les vraies données
statistiquesMaintenance: this.calculateMaintenanceStats(materiels.data)
statistiquesMaintenance: this.calculateMaintenanceStats(materiels.data),
graphiques: {
chiffreAffaires: {
labels: [],
objectifs: [],
realisations: []
},
avancementPhases: {
labels: [],
pourcentages: []
}
}
};
} catch (error) {
console.error('Erreur lors de la récupération des données du dashboard:', error);
@@ -252,13 +263,13 @@ class DashboardService {
private calculateMaintenanceStats(materiels: any[]): StatistiquesMaintenance {
const materielEnMaintenance = materiels.filter(m => m.statut === 'MAINTENANCE');
const materielDisponible = materiels.filter(m => m.statut === 'DISPONIBLE');
const equipementsEnPanne = materiels.filter(m => m.statut === 'HORS_SERVICE' || m.statut === 'PANNE');
return {
materielEnMaintenance: materielEnMaintenance.length,
materielDisponible: materielDisponible.length,
maintenancesPrevues: 0, // TODO: Implémenter avec les vraies données
maintenancesEnRetard: 0, // TODO: Implémenter avec les vraies données
coutMaintenance: 0, // TODO: Calculer depuis les coûts de maintenance
totalEquipements: materiels.length,
maintenancesPreventives: 0, // TODO: Implémenter avec les vraies données
maintenancesCorrectives: materielEnMaintenance.length,
equipementsEnPanne: equipementsEnPanne.length,
tauxDisponibilite: materiels.length > 0 ? (materielDisponible.length / materiels.length) * 100 : 0
};
}