dahoud
744faa3a9c
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)
2026-04-15 20:27:12 +00:00
dahoud
ba779a7a40
feat(ui): dark mode adaptatif sur 15 pages/widgets restants
...
Pattern AppColors pair (isDark ternaries) appliqué sur :
- login_page : SnackBar error color Color(0xFFDC2626) → AppColors.error
(gradient brand intentionnel non modifié)
- help_support : barre de recherche + ExpansionTile + chevrons → scheme adaptatif
- system_settings : état 'Accès réservé' + unselectedLabelColor TabBar
- epargne : date/description/boutons OutlinedButton foregroundColor adaptatifs
- conversation_tile, connected_recent_activities, connected_upcoming_events
- dashboard_notifications_widget
- budgets_list_page, pending_approvals_page, approve/reject_dialog
- create_organization_page, edit_organization_page, about_page
Les couleurs sémantiques (error, success, warning, primary) restent inchangées.
Les blancs/gradients intentionnels (AppBars brand, logos payment) préservés.
2026-04-15 20:14:59 +00:00
dahoud
b2f29922d3
feat(navigation): titre 'Mon/Mes Organisations' dynamique + fallback modules
...
Plus page (more_page.dart) :
- Titre entrée Organisations dynamique selon rôle/nombre d'orgs :
* SuperAdmin → 'Gestion des Organisations'
* OrgAdmin 1 org → 'Mon Organisation'
* OrgAdmin 2+ orgs → 'Mes Organisations'
- Sous-titres adaptés
- Helpers _orgTitle/_orgSubtitle utilisent OrgSwitcherBloc pour le count
- 7 modules non encore implémentés (TONTINE, CREDIT, AGRICULTURE, COLLECTE_FONDS,
PROJETS_ONG, CULTE_DONS, VOTES) : Navigator.pushNamed remplacé par _comingSoon()
SnackBar 'Disponible prochainement' (les routes n'étaient enregistrées nulle part)
- Entrée 'Comptes épargne' → 'Épargne & Crédit' (terme métier pour mutuelles)
Organizations page :
- AppBar title dynamique via _appBarTitle() (même logique que more_page)
- SnackBars OrganizationCreated/Updated/Deleted : Color(0xFF16A34A) → AppColors.success
2026-04-15 20:14:42 +00:00
dahoud
55f84da49a
feat(ui): RefreshIndicator + AlwaysScrollable + dark mode sur 14 pages
...
RefreshIndicator ajouté (dispatche les events BLoC appropriés) :
- adhesion_detail, adhesions_page, demande_aide_detail, demandes_aide_page
- event_detail, organization_detail, org_selector, org_types
- user_management_detail, reports (TabBarView), logs (Dashboard tab)
- profile (onglet Perso), backup (3 onglets), notifications
Fixes associés :
- AlwaysScrollableScrollPhysics sur tous les scroll widgets
(permet pull-to-refresh même si contenu < écran)
- Empty states des listes : wrappés dans SingleChildScrollView pour refresh
- Dark mode adaptatif sur textes/surfaces/borders hardcodés
- backup_page : bouton retour ajouté dans le header gradient
- org_types : chevron/star/border adaptatifs
- reports : couleurs placeholders graphique + chevrons
2026-04-15 20:13:50 +00:00
dahoud
cf2866a0aa
fix(UI-02): guards rôle sur pages organisations — FAB, édition, suppression SUPER_ADMIN only
...
- OrgTypesPage: FAB création, tap/édition/suppression type visibles uniquement SUPER_ADMIN
- OrganizationDetailPage: bouton édition visible orgAdmin+superAdmin, suppression SUPER_ADMIN only, section Actions cachée si non autorisé
2026-04-11 01:27:42 +00:00
dahoud
70cbd1c873
fix(mobile): URL changement mdp corrigée + v3.0 — multi-org, AppAuth, sécurité prod
...
Auth:
- profile_repository.dart: /api/auth/change-password → /api/membres/auth/change-password
Multi-org (Phase 3):
- OrgSelectorPage, OrgSwitcherBloc, OrgSwitcherEntry
- org_context_service.dart: headers X-Active-Organisation-Id + X-Active-Role
Navigation:
- MorePage: navigation conditionnelle par typeOrganisation
- Suppression adaptive_navigation (remplacé par main_navigation_layout)
Auth AppAuth:
- keycloak_webview_auth_service: fixes AppAuth Android
- AuthBloc: gestion REAUTH_REQUIS + premierLoginComplet
Onboarding:
- Nouveaux états: payment_method_page, onboarding_shared_widgets
- SouscriptionStatusModel mis à jour StatutValidationSouscription
Android:
- build.gradle: ProGuard/R8, network_security_config
- Gradle wrapper mis à jour
2026-04-07 20:56:03 +00:00
dahoud
289efc4956
feat(mobile): consolidation modules epargne, messaging, organisations
...
- Epargne: badge LCB-FT (bouclier ambre) sur comptes avec fonds bloques + note recap
- EpargneDetail: historique pagine (page/size), affichage soldeAvant/soldeApres/motif dans chaque transaction, bouton "Charger plus"
- TransactionEpargneRepository: getByCompte accepte page et size, gere reponse paginee Spring (content[])
- MessagingDatasource: markMessageAsRead silencieuse (pas d'endpoint unitaire), getUnreadCount somme unreadCount des conversations
- OrganizationDetail: _memberCount charge le vrai nombre depuis GET /membres/count, affiche la valeur reelle au lieu de nombreMembres (toujours 0)
2026-04-05 13:37:21 +00:00
dahoud
5383df6dcb
refactoring
2026-03-31 09:14:47 +00:00
dahoud
d094d6db9c
Initial commit: unionflow-mobile-apps
...
Application Flutter complète (sans build artifacts).
Signed-off-by: lions dev Team
2026-03-15 16:30:08 +00:00