diff --git a/frontend/src/app/features/consultation-jour/consultation-jour.component.html b/frontend/src/app/features/consultation-jour/consultation-jour.component.html
index 6d1f29f..9733c27 100644
--- a/frontend/src/app/features/consultation-jour/consultation-jour.component.html
+++ b/frontend/src/app/features/consultation-jour/consultation-jour.component.html
@@ -69,10 +69,6 @@
- @if (erreur()) {
-
{{ erreur() }}
- }
-
@if (chargement()) {
Chargement des trajets…
}
diff --git a/frontend/src/app/features/consultation-jour/consultation-jour.component.ts b/frontend/src/app/features/consultation-jour/consultation-jour.component.ts
index 9a5ec05..3e4d329 100644
--- a/frontend/src/app/features/consultation-jour/consultation-jour.component.ts
+++ b/frontend/src/app/features/consultation-jour/consultation-jour.component.ts
@@ -105,8 +105,6 @@ export class ConsultationJourComponent implements OnInit, OnDestroy {
/** Chargement de la journée en cours. */
readonly chargement = signal(false);
- /** Message d'erreur de chargement de la journée. */
- readonly erreur = signal(null);
private jourSub?: Subscription;
private vehiculesSub?: Subscription;
@@ -337,19 +335,15 @@ export class ConsultationJourComponent implements OnInit, OnDestroy {
const mois = moisCourant.mois;
this.chargement.set(true);
- this.erreur.set(null);
// Chaque observable du forkJoin porte son propre `catchError` afin que le
// forkJoin complète TOUJOURS (il n'émet qu'une fois tous les flux complétés).
// Ainsi un échec réseau sur le résumé ou la carte ne fige plus l'UI sur
- // « Chargement des trajets… ». On mémorise l'erreur du résumé pour l'afficher.
- let resumeEnErreur = false;
+ // « Chargement des trajets… ». Un mois sans données (ou en échec) affiche
+ // simplement une liste vide et le message « Aucun trajet pour ce mois ».
this.jourSub = forkJoin({
resume: this.trajetService.getResumeMensuel(annee, mois, vehiculeId).pipe(
- catchError(() => {
- resumeEnErreur = true;
- return of({ annee, mois, trajets: [], totalKm: 0 } as ResumeMensuel);
- })
+ catchError(() => of({ annee, mois, trajets: [], totalKm: 0 } as ResumeMensuel))
),
carte: this.trajetService
.getTrajetsJournee(date)
@@ -393,9 +387,6 @@ export class ConsultationJourComponent implements OnInit, OnDestroy {
? carte
: this.filtrerCarteParVehicule(carte)
);
- this.erreur.set(resumeEnErreur
- ? 'Impossible de charger les trajets du mois.'
- : null);
// Force la mise à jour immédiate de la liste, des totaux et de la carte
// après une navigation Jour ± 1, sans attendre une autre interaction.
this.cdr.markForCheck();
@@ -405,7 +396,6 @@ export class ConsultationJourComponent implements OnInit, OnDestroy {
// robuste : on affiche l'erreur et on rafraîchit la vue.
this.trajets.set([]);
this.trajetsCarte.set([]);
- this.erreur.set('Impossible de charger les trajets du mois.');
this.cdr.markForCheck();
}
});
diff --git a/frontend/src/app/features/panneau-totaux/panneau-totaux.component.html b/frontend/src/app/features/panneau-totaux/panneau-totaux.component.html
index b281312..f518aaa 100644
--- a/frontend/src/app/features/panneau-totaux/panneau-totaux.component.html
+++ b/frontend/src/app/features/panneau-totaux/panneau-totaux.component.html
@@ -1,10 +1,6 @@
Totaux
- @if (erreur()) {
- {{ erreur() }}
- }
-
@if (chargement() && !totaux()) {
Chargement des totaux…
}
diff --git a/frontend/src/app/features/panneau-totaux/panneau-totaux.component.ts b/frontend/src/app/features/panneau-totaux/panneau-totaux.component.ts
index 45ed440..509ea47 100644
--- a/frontend/src/app/features/panneau-totaux/panneau-totaux.component.ts
+++ b/frontend/src/app/features/panneau-totaux/panneau-totaux.component.ts
@@ -63,8 +63,6 @@ export class PanneauTotauxComponent implements OnChanges, OnDestroy {
/** Chargement en cours (totaux et/ou montant prévisionnel). */
readonly chargement = signal(false);
- /** Message d'erreur affiché si le chargement échoue. */
- readonly erreur = signal(null);
private totauxSub?: Subscription;
private montantSub?: Subscription;
@@ -98,7 +96,6 @@ export class PanneauTotauxComponent implements OnChanges, OnDestroy {
this.totaux.set(null);
this.montantPrevisionnel.set(null);
this.chargement.set(false);
- this.erreur.set(null);
this.cdr.markForCheck();
return;
}
@@ -109,7 +106,6 @@ export class PanneauTotauxComponent implements OnChanges, OnDestroy {
const mois = this.moisDe(date);
this.chargement.set(true);
- this.erreur.set(null);
this.cdr.markForCheck();
this.totauxSub = this.trajetService.getTotauxJour(date, vehiculeId).subscribe({
@@ -119,9 +115,11 @@ export class PanneauTotauxComponent implements OnChanges, OnDestroy {
this.cdr.markForCheck();
},
error: () => {
+ // Un mois / jour sans trajet est un cas normal : on affiche des totaux
+ // nuls plutôt qu'une alerte. Les vraies indisponibilités serveur sont
+ // signalées globalement par l'intercepteur (notification).
this.totaux.set(null);
this.chargement.set(false);
- this.erreur.set('Impossible de charger les totaux.');
this.cdr.markForCheck();
}
});
diff --git a/frontend/src/app/features/trajet-list/trajet-list.component.html b/frontend/src/app/features/trajet-list/trajet-list.component.html
index 1049aa3..4bb648d 100644
--- a/frontend/src/app/features/trajet-list/trajet-list.component.html
+++ b/frontend/src/app/features/trajet-list/trajet-list.component.html
@@ -1,6 +1,4 @@
-@if (groupes().length === 0) {
- Aucun trajet pour ce mois.
-} @else {
+@if (groupes().length > 0) {
@for (groupe of groupes(); track groupe.date) {