feat(features): refontes explore/feed/finance_workflow/help/logs/members/notifications

- explore + feed : pages de découverte (réseau, fil d'actualité)
- finance_workflow : approvals bloc + budgets bloc + dialogs
- help : support page avec FAQ + contact
- logs : monitoring bloc avec metrics + alerts + searchLogs
- members : recherche avancée, bulk actions, bloc complet, import/export
- notifications : bloc + page
This commit is contained in:
dahoud
2026-04-15 20:27:01 +00:00
parent 120434aba0
commit dbf6a972ba
7 changed files with 84 additions and 78 deletions

View File

@@ -1,6 +1,8 @@
import 'package:flutter/material.dart';
import '../../../../core/di/injection_container.dart';
import '../../../../shared/design_system/tokens/app_colors.dart';
import '../../../../shared/design_system/tokens/module_colors.dart';
import '../../../../shared/design_system/components/uf_app_bar.dart';
import '../../../../shared/models/membre_search_criteria.dart';
import '../../../../shared/models/membre_search_result.dart';
import '../../../organizations/domain/repositories/organization_repository.dart';
@@ -114,10 +116,9 @@ class _AdvancedSearchPageState extends State<AdvancedSearchPage>
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Recherche Avancée'),
backgroundColor: AppColors.primaryGreen,
foregroundColor: Colors.white,
appBar: UFAppBar(
title: 'Recherche Avancée',
moduleGradient: ModuleColors.membresGradient,
elevation: 0,
bottom: TabBar(
controller: _tabController,
@@ -179,7 +180,7 @@ class _AdvancedSearchPageState extends State<AdvancedSearchPage>
children: [
Row(
children: [
const Icon(Icons.flash_on, color: AppColors.primaryGreen),
const Icon(Icons.flash_on, color: AppColors.primary),
const SizedBox(width: 8),
Text(
'Recherche Rapide',
@@ -234,7 +235,7 @@ class _AdvancedSearchPageState extends State<AdvancedSearchPage>
children: [
Row(
children: [
const Icon(Icons.tune, color: AppColors.primaryGreen),
const Icon(Icons.tune, color: AppColors.primary),
const SizedBox(width: 8),
Text(
'Critères Détaillés',
@@ -325,7 +326,7 @@ class _AdvancedSearchPageState extends State<AdvancedSearchPage>
children: [
Row(
children: [
const Icon(Icons.filter_alt, color: AppColors.primaryGreen),
const Icon(Icons.filter_alt, color: AppColors.primary),
const SizedBox(width: 8),
Text(
'Filtres Avancés',
@@ -479,16 +480,16 @@ class _AdvancedSearchPageState extends State<AdvancedSearchPage>
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Icon(Icons.search, size: 64, color: Colors.grey),
Icon(Icons.search, size: 64, color: AppColors.textTertiary),
SizedBox(height: 16),
Text(
'Aucune recherche effectuée',
style: TextStyle(fontSize: 18, color: Colors.grey),
style: TextStyle(fontSize: 18, color: AppColors.textTertiary),
),
SizedBox(height: 8),
Text(
'Utilisez l\'onglet Critères pour lancer une recherche',
style: TextStyle(color: Colors.grey),
style: TextStyle(color: AppColors.textTertiary),
),
],
),
@@ -535,16 +536,16 @@ class _AdvancedSearchPageState extends State<AdvancedSearchPage>
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Icon(Icons.analytics, size: 64, color: Colors.grey),
Icon(Icons.analytics, size: 64, color: AppColors.textTertiary),
SizedBox(height: 16),
Text(
'Aucune statistique disponible',
style: TextStyle(fontSize: 18, color: Colors.grey),
style: TextStyle(fontSize: 18, color: AppColors.textTertiary),
),
SizedBox(height: 8),
Text(
'Effectuez une recherche pour voir les statistiques',
style: TextStyle(color: Colors.grey),
style: TextStyle(color: AppColors.textTertiary),
),
],
),
@@ -574,8 +575,8 @@ class _AdvancedSearchPageState extends State<AdvancedSearchPage>
return ActionChip(
label: Text(label),
onPressed: onTap,
backgroundColor: AppColors.primaryGreen.withOpacity(0.1),
labelStyle: const TextStyle(color: AppColors.primaryGreen),
backgroundColor: AppColors.primary.withOpacity(0.1),
labelStyle: const TextStyle(color: AppColors.primary),
);
}