feat: integrate ErrorService for consistent error display and standardize bloc error messages.
This commit is contained in:
@@ -10,6 +10,7 @@ import '../../services/activity_cache_service.dart';
|
||||
import '../loading/laoding_content.dart';
|
||||
import '../../blocs/user/user_bloc.dart';
|
||||
import '../../blocs/user/user_state.dart';
|
||||
import '../../services/error_service.dart';
|
||||
|
||||
class ActivitiesPage extends StatefulWidget {
|
||||
final Trip trip;
|
||||
@@ -120,22 +121,15 @@ class _ActivitiesPageState extends State<ActivitiesPage>
|
||||
return BlocListener<ActivityBloc, ActivityState>(
|
||||
listener: (context, state) {
|
||||
if (state is ActivityError) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(state.message),
|
||||
backgroundColor: Colors.red,
|
||||
action: SnackBarAction(
|
||||
label: 'Réessayer',
|
||||
textColor: Colors.white,
|
||||
onPressed: () {
|
||||
if (_tabController.index == 2) {
|
||||
_searchGoogleActivities();
|
||||
} else {
|
||||
_loadActivities();
|
||||
}
|
||||
},
|
||||
),
|
||||
),
|
||||
ErrorService().showError(
|
||||
message: state.message,
|
||||
onRetry: () {
|
||||
if (_tabController.index == 2) {
|
||||
_searchGoogleActivities();
|
||||
} else {
|
||||
_loadActivities();
|
||||
}
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
@@ -152,20 +146,14 @@ class _ActivitiesPageState extends State<ActivitiesPage>
|
||||
});
|
||||
|
||||
// Afficher un feedback de succès
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text('${state.activity.name} ajoutée au voyage !'),
|
||||
duration: const Duration(seconds: 2),
|
||||
backgroundColor: Colors.green,
|
||||
action: SnackBarAction(
|
||||
label: 'Voir',
|
||||
textColor: Colors.white,
|
||||
onPressed: () {
|
||||
// Revenir à l'onglet des activités du voyage
|
||||
_tabController.animateTo(0);
|
||||
},
|
||||
),
|
||||
),
|
||||
// Afficher un feedback de succès
|
||||
ErrorService().showSnackbar(
|
||||
message: '${state.activity.name} ajoutée au voyage !',
|
||||
isError: false,
|
||||
onRetry: () {
|
||||
// Revenir à l'onglet des activités du voyage
|
||||
_tabController.animateTo(0);
|
||||
},
|
||||
);
|
||||
});
|
||||
}
|
||||
@@ -217,21 +205,13 @@ class _ActivitiesPageState extends State<ActivitiesPage>
|
||||
_tripActivities.add(state.newlyAddedActivity!);
|
||||
});
|
||||
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(
|
||||
ErrorService().showSnackbar(
|
||||
message:
|
||||
'${state.newlyAddedActivity!.name} ajoutée au voyage !',
|
||||
),
|
||||
duration: const Duration(seconds: 2),
|
||||
backgroundColor: Colors.green,
|
||||
action: SnackBarAction(
|
||||
label: 'Voir',
|
||||
textColor: Colors.white,
|
||||
onPressed: () {
|
||||
_tabController.animateTo(0);
|
||||
},
|
||||
),
|
||||
),
|
||||
isError: false,
|
||||
onRetry: () {
|
||||
_tabController.animateTo(0);
|
||||
},
|
||||
);
|
||||
});
|
||||
}
|
||||
@@ -1026,12 +1006,9 @@ class _ActivitiesPageState extends State<ActivitiesPage>
|
||||
|
||||
// Si l'activité a été trouvée et que l'utilisateur a déjà voté
|
||||
if (currentActivity.id.isNotEmpty && currentActivity.hasUserVoted(userId)) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
const SnackBar(
|
||||
content: Text('Vous avez déjà voté pour cette activité'),
|
||||
backgroundColor: Colors.orange,
|
||||
duration: Duration(seconds: 2),
|
||||
),
|
||||
ErrorService().showSnackbar(
|
||||
message: 'Vous avez déjà voté pour cette activité',
|
||||
isError: true,
|
||||
);
|
||||
return;
|
||||
}
|
||||
@@ -1044,13 +1021,7 @@ class _ActivitiesPageState extends State<ActivitiesPage>
|
||||
final message = vote == 1
|
||||
? 'Vote positif ajouté !'
|
||||
: 'Vote négatif ajouté !';
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(message),
|
||||
duration: const Duration(seconds: 1),
|
||||
backgroundColor: vote == 1 ? Colors.green : Colors.orange,
|
||||
),
|
||||
);
|
||||
ErrorService().showSnackbar(message: message, isError: false);
|
||||
}
|
||||
|
||||
void _addGoogleActivityToTrip(Activity activity) {
|
||||
|
||||
Reference in New Issue
Block a user