feat(frontend): improve application feedback messages

This commit is contained in:
SaidSoighiri94
2026-07-24 14:08:55 +02:00
parent a562b3248f
commit 4ee593c8d4
8 changed files with 236 additions and 62 deletions
@@ -5,6 +5,7 @@ import "../services/auth_service.dart";
import "../services/responsable_service.dart";
import "../theme/ensup_colors.dart";
import "../utils/file_download.dart";
import "../widgets/app_message.dart";
const _workspaceBackground = Color(0xFFF3F6F9);
const _orange = Color(0xFFD97706);
@@ -55,9 +56,7 @@ class _ResponsableScreenState extends State<ResponsableScreen> {
}
} catch (error) {
if (!mounted) return;
ScaffoldMessenger.of(
context,
).showSnackBar(SnackBar(content: Text(error.toString())));
AppMessage.erreur(context, error);
}
}
@@ -73,12 +72,16 @@ class _ResponsableScreenState extends State<ResponsableScreen> {
anomalie["id"] as int,
prochain,
);
if (!mounted) return;
AppMessage.succes(
context,
"L'anomalie est maintenant au statut ${_statusLabel(prochain)}.",
titre: "Statut mis à jour",
);
_rafraichir();
} catch (error) {
if (!mounted) return;
ScaffoldMessenger.of(
context,
).showSnackBar(SnackBar(content: Text(error.toString())));
AppMessage.erreur(context, error);
} finally {
if (mounted) {
setState(() => _transitionEnCours = false);
@@ -106,21 +109,17 @@ class _ResponsableScreenState extends State<ResponsableScreen> {
statutMateriel: decision.statutMateriel,
);
if (!mounted) return;
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text(
decision.decision == "CONFIRMER"
? "Le changement a été confirmé et l'anomalie a été créée."
: "Le changement a été refusé.",
),
),
AppMessage.succes(
context,
decision.decision == "CONFIRMER"
? "Le changement a été confirmé et l'anomalie a été créée."
: "Le changement a été refusé.",
titre: "Décision enregistrée",
);
_rafraichir();
} catch (error) {
if (!mounted) return;
ScaffoldMessenger.of(
context,
).showSnackBar(SnackBar(content: Text(error.toString())));
AppMessage.erreur(context, error);
} finally {
if (mounted) {
setState(() => _decisionEnCours = false);
@@ -134,9 +133,7 @@ class _ResponsableScreenState extends State<ResponsableScreen> {
_rafraichir();
} catch (error) {
if (!mounted) return;
ScaffoldMessenger.of(
context,
).showSnackBar(SnackBar(content: Text(error.toString())));
AppMessage.erreur(context, error);
}
}
@@ -152,14 +149,14 @@ class _ResponsableScreenState extends State<ResponsableScreen> {
contentType: file.contentType,
);
if (!mounted) return;
ScaffoldMessenger.of(
AppMessage.succes(
context,
).showSnackBar(const SnackBar(content: Text("Export CSV téléchargé.")));
"Le fichier d'historique est disponible dans vos téléchargements.",
titre: "Export CSV téléchargé",
);
} catch (error) {
if (!mounted) return;
ScaffoldMessenger.of(
context,
).showSnackBar(SnackBar(content: Text(error.toString())));
AppMessage.erreur(context, error, titre: "Export impossible");
} finally {
if (mounted) {
setState(() => _exportEnCours = false);