feat: Mise à jour des interfaces mobiles v3.2.3

- Amélioration des interfaces utilisateur sur mobile
- Optimisation de la responsivité des composants Flutter
- Mise à jour des widgets de chat et communication
- Amélioration des formulaires et tableaux
- Ajout de nouveaux composants pour l'administration
- Optimisation des thèmes et styles visuels

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-09-02 20:35:40 +02:00
parent 4153f73ace
commit f7baa7492c
106 changed files with 88501 additions and 88280 deletions

View File

@@ -2,7 +2,6 @@ import 'package:flutter/material.dart';
import 'package:geosector_app/core/data/models/sector_model.dart';
import 'package:geosector_app/core/data/models/membre_model.dart';
import 'package:geosector_app/core/data/models/user_sector_model.dart';
import 'package:geosector_app/core/repositories/membre_repository.dart';
import 'package:geosector_app/core/services/current_amicale_service.dart';
import 'package:hive_flutter/hive_flutter.dart';
import 'package:geosector_app/core/constants/app_keys.dart';
@@ -31,7 +30,6 @@ class _SectorDialogState extends State<SectorDialog> {
Color _selectedColor = Colors.blue;
final List<int> _selectedMemberIds = [];
bool _isLoading = false;
bool _membersLoaded = false;
String _searchQuery = '';
@override
@@ -96,12 +94,11 @@ class _SectorDialogState extends State<SectorDialog> {
// Marquer le chargement comme terminé
setState(() {
_membersLoaded = true;
});
} catch (e) {
debugPrint('Erreur lors du chargement des membres du secteur: $e');
setState(() {
_membersLoaded = true; // Même en cas d'erreur
// Marquer comme terminé même en cas d'erreur
});
}
}
@@ -121,7 +118,7 @@ class _SectorDialogState extends State<SectorDialog> {
}
String _colorToHex(Color color) {
return '#${color.value.toRadixString(16).substring(2).toUpperCase()}';
return '#${color.toARGB32().toRadixString(16).substring(2).toUpperCase()}';
}
void _handleSave() async {
@@ -200,7 +197,7 @@ class _SectorDialogState extends State<SectorDialog> {
itemCount: colors.length,
itemBuilder: (context, index) {
final color = colors[index];
final isSelected = _selectedColor.value == color.value;
final isSelected = _selectedColor.toARGB32() == color.toARGB32();
return InkWell(
onTap: () {
@@ -222,7 +219,7 @@ class _SectorDialogState extends State<SectorDialog> {
boxShadow: isSelected
? [
BoxShadow(
color: Colors.black.withOpacity(0.3),
color: Colors.black.withValues(alpha: 0.3),
blurRadius: 4,
offset: const Offset(0, 2),
),