feat(features): refontes onboarding/organizations/profile/reports/settings/solidarity

- onboarding : datasource souscription, models formule/status, bloc complet
- organizations : bloc orgs + switcher + types bloc, models, pages edit/create
- profile : bloc complet avec change password, delete account, preferences
- reports : bloc avec DashboardReports + ScheduleReports + GenerateReport
- settings : language, privacy, feedback pages
- solidarity : bloc complet demandes d'aide (CRUD, approuver, rejeter)
This commit is contained in:
dahoud
2026-04-15 20:27:12 +00:00
parent dbf6a972ba
commit 744faa3a9c
17 changed files with 711 additions and 403 deletions

View File

@@ -1,6 +1,8 @@
import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
import '../../../../shared/design_system/tokens/color_tokens.dart';
import '../../../../shared/design_system/tokens/module_colors.dart';
import '../../../members/data/models/membre_complete_model.dart';
/// Widget d'affichage du statut KYC (Know Your Customer) d'un membre.
@@ -34,7 +36,7 @@ class KycStatusWidget extends StatelessWidget {
children: [
Icon(
Icons.verified_user,
color: colorScheme.primary,
color: ModuleColors.profil,
size: 24,
),
const SizedBox(width: 8),
@@ -42,7 +44,7 @@ class KycStatusWidget extends StatelessWidget {
'Vérification KYC (Anti-blanchiment)',
style: theme.textTheme.titleMedium?.copyWith(
fontWeight: FontWeight.bold,
color: colorScheme.primary,
color: ModuleColors.profil,
),
),
],
@@ -82,7 +84,7 @@ class KycStatusWidget extends StatelessWidget {
Container(
padding: const EdgeInsets.all(12),
decoration: BoxDecoration(
color: colorScheme.primaryContainer.withOpacity(0.3),
color: ModuleColors.profil.withOpacity(0.08),
borderRadius: BorderRadius.circular(8),
),
child: Row(
@@ -90,15 +92,13 @@ class KycStatusWidget extends StatelessWidget {
Icon(
Icons.info_outline,
size: 16,
color: colorScheme.primary,
color: ModuleColors.profil,
),
const SizedBox(width: 8),
Expanded(
child: Text(
'Ces informations sont gérées par l\'administrateur et permettent de garantir la conformité aux normes BCEAO/OHADA.',
style: theme.textTheme.bodySmall?.copyWith(
color: colorScheme.onSurface,
),
style: theme.textTheme.bodySmall,
),
),
],
@@ -157,16 +157,16 @@ class KycStatusWidget extends StatelessWidget {
}
Color _getStatutKycColor(StatutKyc? statut) {
if (statut == null) return Colors.grey;
if (statut == null) return ColorTokens.textSecondary;
switch (statut) {
case StatutKyc.nonVerifie:
return Colors.orange;
return ColorTokens.warning;
case StatutKyc.enCours:
return Colors.blue;
return ColorTokens.info;
case StatutKyc.verifie:
return Colors.green;
return ColorTokens.success;
case StatutKyc.refuse:
return Colors.red;
return ColorTokens.error;
}
}
@@ -181,12 +181,12 @@ class KycStatusWidget extends StatelessWidget {
}
Color _getNiveauVigilanceColor(NiveauVigilanceKyc? niveau) {
if (niveau == null) return Colors.grey;
if (niveau == null) return ColorTokens.textSecondary;
switch (niveau) {
case NiveauVigilanceKyc.simplifie:
return Colors.blue;
return ColorTokens.info;
case NiveauVigilanceKyc.renforce:
return Colors.deepOrange;
return ColorTokens.warning;
}
}
}