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

@@ -59,7 +59,7 @@ class _AdvancedDashboardPageState extends State<AdvancedDashboardPage>
return BlocProvider(
create: (context) => _dashboardBloc,
child: Scaffold(
backgroundColor: AppColors.lightBackground,
backgroundColor: Theme.of(context).scaffoldBackgroundColor,
appBar: const UFAppBar(
title: 'DASHBOARD AVANCÉ',
),
@@ -92,7 +92,7 @@ class _AdvancedDashboardPageState extends State<AdvancedDashboardPage>
background: Container(
decoration: BoxDecoration(
gradient: LinearGradient(
colors: [AppColors.primaryGreen, AppColors.brandGreen],
colors: [AppColors.primary, AppColors.primaryDark],
begin: Alignment.topLeft,
end: Alignment.bottomRight,
),
@@ -258,13 +258,13 @@ class _AdvancedDashboardPageState extends State<AdvancedDashboardPage>
return Container(
decoration: BoxDecoration(
color: Theme.of(context).cardColor,
border: Border(bottom: BorderSide(color: AppColors.lightBorder, width: 1)),
border: Border(bottom: BorderSide(color: AppColors.border, width: 1)),
),
child: TabBar(
controller: _tabController,
labelColor: AppColors.primaryGreen,
unselectedLabelColor: AppColors.textSecondaryLight,
indicatorColor: AppColors.primaryGreen,
labelColor: AppColors.primary,
unselectedLabelColor: AppColors.textSecondary,
indicatorColor: AppColors.primary,
indicatorWeight: 3,
labelStyle: AppTypography.actionText.copyWith(fontSize: 10, fontWeight: FontWeight.bold, letterSpacing: 1),
tabs: const [
@@ -279,7 +279,7 @@ class _AdvancedDashboardPageState extends State<AdvancedDashboardPage>
Widget _buildOverviewTab() {
return RefreshIndicator(
onRefresh: () async => _refreshDashboardData(),
color: AppColors.primaryGreen,
color: AppColors.primary,
child: SingleChildScrollView(
padding: const EdgeInsets.all(12),
child: Column(
@@ -367,7 +367,7 @@ class _AdvancedDashboardPageState extends State<AdvancedDashboardPage>
'Rapport Mensuel',
'Synthèse complète des activités du mois',
Icons.calendar_month_outlined,
AppColors.primaryGreen,
AppColors.primary,
),
const SizedBox(height: 12),
_buildReportCard(
@@ -458,7 +458,7 @@ class _AdvancedDashboardPageState extends State<AdvancedDashboardPage>
],
),
),
const Icon(Icons.download_outlined, color: AppColors.textSecondaryLight, size: 18),
const Icon(Icons.download_outlined, color: AppColors.textSecondary, size: 18),
],
),
);
@@ -469,7 +469,7 @@ class _AdvancedDashboardPageState extends State<AdvancedDashboardPage>
onPressed: () {
// Actions rapides
},
backgroundColor: AppColors.primaryGreen,
backgroundColor: AppColors.primary,
child: const Icon(Icons.add, color: Colors.white),
);
}