feat(mobile): amélioration UX NotImplementedFailure + SnackbarHelper
- NotImplementedFailure: ajout userFriendlyMessage et icon construction (blue) - ErrorDisplayWidget: support spécial pour NotImplementedFailure (bientôt disponible) - SnackbarHelper: classe centralisée pour messages cohérents (success, error, warning, info, notImplemented) - budgets_list_page: remplace generic snackbar par SnackbarHelper.showNotImplemented - conversations_page: remplace 2 TODOs par SnackbarHelper.showNotImplemented - export_members: met à jour TODO obsolète (endpoint PDF maintenant disponible) - cache_service: fix AppLogger.error calls (error: named param) - cached_datasource_decorator: fix AppLogger.error call Task #64 - Fix Snackbar Placeholders + NotImplementedFailure UX
This commit is contained in:
@@ -88,6 +88,8 @@ class ErrorDisplayWidget extends StatelessWidget {
|
||||
return Icons.error_outline;
|
||||
} else if (failure is ServerFailure) {
|
||||
return Icons.cloud_off;
|
||||
} else if (failure is NotImplementedFailure) {
|
||||
return Icons.construction;
|
||||
} else {
|
||||
return Icons.warning_amber;
|
||||
}
|
||||
@@ -103,6 +105,8 @@ class ErrorDisplayWidget extends StatelessWidget {
|
||||
return Colors.deepOrange;
|
||||
} else if (failure is ValidationFailure) {
|
||||
return Colors.amber;
|
||||
} else if (failure is NotImplementedFailure) {
|
||||
return Colors.blue[700]!;
|
||||
} else {
|
||||
return Theme.of(context).colorScheme.error;
|
||||
}
|
||||
@@ -122,6 +126,8 @@ class ErrorDisplayWidget extends StatelessWidget {
|
||||
return 'Données invalides';
|
||||
} else if (failure is ServerFailure) {
|
||||
return 'Erreur serveur';
|
||||
} else if (failure is NotImplementedFailure) {
|
||||
return 'Bientôt disponible';
|
||||
} else {
|
||||
return 'Une erreur est survenue';
|
||||
}
|
||||
@@ -213,6 +219,8 @@ class ErrorBanner extends StatelessWidget {
|
||||
return Icons.error_outline;
|
||||
} else if (failure is ServerFailure) {
|
||||
return Icons.cloud_off;
|
||||
} else if (failure is NotImplementedFailure) {
|
||||
return Icons.construction;
|
||||
} else {
|
||||
return Icons.warning_amber;
|
||||
}
|
||||
@@ -227,6 +235,8 @@ class ErrorBanner extends StatelessWidget {
|
||||
return Colors.deepOrange;
|
||||
} else if (failure is ValidationFailure) {
|
||||
return Colors.amber;
|
||||
} else if (failure is NotImplementedFailure) {
|
||||
return Colors.blue[700]!;
|
||||
} else {
|
||||
return Theme.of(context).colorScheme.error;
|
||||
}
|
||||
@@ -245,6 +255,8 @@ class ErrorBanner extends StatelessWidget {
|
||||
return 'Données invalides';
|
||||
} else if (failure is ServerFailure) {
|
||||
return 'Erreur serveur';
|
||||
} else if (failure is NotImplementedFailure) {
|
||||
return 'Bientôt disponible';
|
||||
} else {
|
||||
return 'Erreur';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user