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

@@ -90,7 +90,7 @@ class PassageSummaryCard extends StatelessWidget {
backgroundIcon,
size: backgroundIconSize,
color: (backgroundIconColor ?? AppTheme.primaryColor)
.withOpacity(backgroundIconOpacity),
.withValues(alpha: backgroundIconOpacity),
),
),
),
@@ -104,7 +104,7 @@ class PassageSummaryCard extends StatelessWidget {
// Titre avec comptage
useValueListenable
? _buildTitleWithValueListenable()
: _buildTitleWithStaticData(),
: _buildTitleWithStaticData(context),
const Divider(height: 24),
// Contenu principal
Expanded(
@@ -117,7 +117,7 @@ class PassageSummaryCard extends StatelessWidget {
flex: isDesktop ? 1 : 2,
child: useValueListenable
? _buildPassagesListWithValueListenable()
: _buildPassagesListWithStaticData(),
: _buildPassagesListWithStaticData(context),
),
// Séparateur vertical
@@ -176,8 +176,8 @@ class PassageSummaryCard extends StatelessWidget {
Expanded(
child: Text(
title,
style: const TextStyle(
fontSize: 16,
style: TextStyle(
fontSize: AppTheme.r(context, 16),
fontWeight: FontWeight.bold,
),
),
@@ -186,7 +186,7 @@ class PassageSummaryCard extends StatelessWidget {
customTotalDisplay?.call(totalUserPassages) ??
totalUserPassages.toString(),
style: TextStyle(
fontSize: 20,
fontSize: AppTheme.r(context, 20),
fontWeight: FontWeight.bold,
color: titleColor,
),
@@ -198,7 +198,7 @@ class PassageSummaryCard extends StatelessWidget {
}
/// Construction du titre avec données statiques
Widget _buildTitleWithStaticData() {
Widget _buildTitleWithStaticData(BuildContext context) {
final totalPassages =
passagesByType?.values.fold(0, (sum, count) => sum + count) ?? 0;
@@ -215,8 +215,8 @@ class PassageSummaryCard extends StatelessWidget {
Expanded(
child: Text(
title,
style: const TextStyle(
fontSize: 16,
style: TextStyle(
fontSize: AppTheme.r(context, 16),
fontWeight: FontWeight.bold,
),
),
@@ -224,7 +224,7 @@ class PassageSummaryCard extends StatelessWidget {
Text(
customTotalDisplay?.call(totalPassages) ?? totalPassages.toString(),
style: TextStyle(
fontSize: 20,
fontSize: AppTheme.r(context, 20),
fontWeight: FontWeight.bold,
color: titleColor,
),
@@ -241,18 +241,18 @@ class PassageSummaryCard extends StatelessWidget {
builder: (context, Box<PassageModel> passagesBox, child) {
final passagesCounts = _calculatePassagesCounts(passagesBox);
return _buildPassagesList(passagesCounts);
return _buildPassagesList(context, passagesCounts);
},
);
}
/// Construction de la liste des passages avec données statiques
Widget _buildPassagesListWithStaticData() {
return _buildPassagesList(passagesByType ?? {});
Widget _buildPassagesListWithStaticData(BuildContext context) {
return _buildPassagesList(context, passagesByType ?? {});
}
/// Construction de la liste des passages
Widget _buildPassagesList(Map<int, int> passagesCounts) {
Widget _buildPassagesList(BuildContext context, Map<int, int> passagesCounts) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
@@ -284,13 +284,13 @@ class PassageSummaryCard extends StatelessWidget {
Expanded(
child: Text(
typeData['titres'] as String,
style: const TextStyle(fontSize: 14),
style: TextStyle(fontSize: AppTheme.r(context, 14)),
),
),
Text(
count.toString(),
style: TextStyle(
fontSize: 16,
fontSize: AppTheme.r(context, 16),
fontWeight: FontWeight.bold,
color: color,
),