feat(features): refontes adhesions/admin/auth/backup/contributions/dashboard/epargne/events

- adhesions : bloc complet avec events/states/model, dialogs paiement/rejet
- admin : users bloc, user management list/detail pages
- authentication : bloc + keycloak auth service + webview
- backup : bloc complet, repository, models
- contributions : bloc + widgets + export
- dashboard : widgets connectés (activities, events, notifications, search)
  + charts + monitoring + shortcuts
- epargne : repository, transactions, dialogs
- events : bloc complet, pages (detail, connected, wrapper), models
This commit is contained in:
dahoud
2026-04-15 20:26:48 +00:00
parent 45dcd2171e
commit 120434aba0
36 changed files with 903 additions and 1411 deletions

View File

@@ -5,6 +5,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:get_it/get_it.dart';
import '../../../../core/utils/logger.dart';
import '../../../../shared/design_system/tokens/app_colors.dart';
import 'package:intl/intl.dart';
import '../../bloc/contributions_bloc.dart';
import '../../bloc/contributions_event.dart';
@@ -92,7 +93,7 @@ class _CreateContributionDialogState extends State<CreateContributionDialog> {
enabled: false, // Lecture seule
)
else
const Text('Impossible de récupérer votre profil', style: TextStyle(color: Colors.red)),
const Text('Impossible de récupérer votre profil', style: TextStyle(color: AppColors.error)),
const SizedBox(height: 16),
// Type de contribution
@@ -225,7 +226,7 @@ class _CreateContributionDialogState extends State<CreateContributionDialog> {
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
content: Text('Profil non chargé'),
backgroundColor: Colors.red,
backgroundColor: AppColors.error,
),
);
return;
@@ -247,7 +248,7 @@ class _CreateContributionDialogState extends State<CreateContributionDialog> {
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
content: Text('Aucune organisation disponible. Le membre et l\'utilisateur connecté doivent être rattachés à une organisation.'),
backgroundColor: Colors.red,
backgroundColor: AppColors.error,
),
);
setState(() => _isLoading = false);
@@ -276,7 +277,7 @@ class _CreateContributionDialogState extends State<CreateContributionDialog> {
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
content: Text('Contribution créée avec succès'),
backgroundColor: Colors.green,
backgroundColor: AppColors.success,
),
);
}