feat: ajout de la configuration des émulateurs Firebase et mise à jour des services pour utiliser le backend sécurisé

This commit is contained in:
ElPoyo
2026-01-06 23:43:36 +01:00
parent fb6a271f66
commit 13a890606d
24 changed files with 1905 additions and 375 deletions

View File

@@ -400,26 +400,33 @@ class _EquipmentDetailPageState extends State<EquipmentDetailPage> {
),
TextButton(
onPressed: () async {
// Fermer le dialog
Navigator.pop(context);
// Capturer le ScaffoldMessenger avant la suppression
final scaffoldMessenger = ScaffoldMessenger.of(context);
final navigator = Navigator.of(context);
try {
await context
.read<EquipmentProvider>()
.deleteEquipment(widget.equipment.id);
if (mounted) {
Navigator.pop(context);
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
content: Text('Équipement supprimé avec succès'),
backgroundColor: Colors.green,
),
);
}
// Revenir à la page précédente
navigator.pop();
// Afficher le snackbar (même si le widget est démonté)
scaffoldMessenger.showSnackBar(
const SnackBar(
content: Text('Équipement supprimé avec succès'),
backgroundColor: Colors.green,
),
);
} catch (e) {
if (mounted) {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(content: Text('Erreur: $e')),
);
}
// Afficher l'erreur
scaffoldMessenger.showSnackBar(
SnackBar(content: Text('Erreur: $e')),
);
}
},
style: TextButton.styleFrom(foregroundColor: Colors.red),

View File

@@ -31,10 +31,25 @@ class _EventDetailsHeaderState extends State<EventDetailsHeader> {
_fetchEventTypeName();
}
@override
void didUpdateWidget(EventDetailsHeader oldWidget) {
super.didUpdateWidget(oldWidget);
// Recharger le type d'événement si l'événement a changé
if (oldWidget.event.id != widget.event.id ||
oldWidget.event.eventTypeId != widget.event.eventTypeId) {
_fetchEventTypeName();
}
}
Future<void> _fetchEventTypeName() async {
setState(() => _isLoadingEventType = true);
try {
if (widget.event.eventTypeId.isEmpty) {
setState(() => _isLoadingEventType = false);
setState(() {
_eventTypeName = null;
_isLoadingEventType = false;
});
return;
}