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 08f4bff358
commit 43d4cd66e1
2133 changed files with 237004 additions and 173303 deletions

View File

@@ -164,7 +164,7 @@ class _ResponsiveNavigationState extends State<ResponsiveNavigation> {
data: theme.copyWith(
colorScheme: theme.colorScheme.copyWith(
onSecondaryContainer: selectedColor, // Couleur de l'icône sélectionnée
secondaryContainer: selectedColor.withOpacity(0.15), // Couleur de fond de l'indicateur
secondaryContainer: selectedColor.withValues(alpha: 0.15), // Couleur de fond de l'indicateur
),
),
child: NavigationBar(
@@ -359,7 +359,7 @@ class _ResponsiveNavigationState extends State<ResponsiveNavigation> {
// Définir les couleurs selon le rôle (admin = rouge, user = vert)
final Color selectedColor = widget.isAdmin ? Colors.red : Colors.green;
final Color unselectedColor = theme.colorScheme.onSurface.withOpacity(0.6);
final Color unselectedColor = theme.colorScheme.onSurface.withValues(alpha: 0.6);
// Gérer le cas où l'icône est un BadgedIcon ou autre widget composite
Widget iconWidget;
@@ -401,7 +401,7 @@ class _ResponsiveNavigationState extends State<ResponsiveNavigation> {
height: 50,
decoration: BoxDecoration(
color: isSelected
? selectedColor.withOpacity(0.1)
? selectedColor.withValues(alpha: 0.1)
: Colors.transparent,
borderRadius: BorderRadius.circular(8),
),
@@ -422,7 +422,7 @@ class _ResponsiveNavigationState extends State<ResponsiveNavigation> {
),
),
tileColor:
isSelected ? selectedColor.withOpacity(0.1) : null,
isSelected ? selectedColor.withValues(alpha: 0.1) : null,
onTap: () {
widget.onDestinationSelected(index);
},