refactor: Centralize error and notification handling using a dedicated _errorService across various components.
This commit is contained in:
@@ -15,6 +15,7 @@ import 'balances_tab.dart';
|
||||
import 'expenses_tab.dart';
|
||||
import '../../models/user_balance.dart';
|
||||
import '../../models/expense.dart';
|
||||
import '../../services/error_service.dart';
|
||||
|
||||
class GroupExpensesPage extends StatefulWidget {
|
||||
final Account account;
|
||||
@@ -93,20 +94,13 @@ class _GroupExpensesPageState extends State<GroupExpensesPage>
|
||||
BlocListener<ExpenseBloc, ExpenseState>(
|
||||
listener: (context, state) {
|
||||
if (state is ExpenseOperationSuccess) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(state.message),
|
||||
backgroundColor: Colors.green,
|
||||
),
|
||||
ErrorService().showSnackbar(
|
||||
message: state.message,
|
||||
isError: false,
|
||||
);
|
||||
_loadData(); // Recharger les données après une opération
|
||||
} else if (state is ExpenseError) {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(state.message),
|
||||
backgroundColor: Colors.red,
|
||||
),
|
||||
);
|
||||
ErrorService().showError(message: state.message);
|
||||
} else if (state is ExpensesLoaded) {
|
||||
// Rafraîchir les balances quand les dépenses changent (ex: via stream)
|
||||
context.read<BalanceBloc>().add(
|
||||
@@ -393,12 +387,7 @@ class _GroupExpensesPageState extends State<GroupExpensesPage>
|
||||
AddExpenseDialog(group: widget.group, currentUser: userState.user),
|
||||
);
|
||||
} else {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
const SnackBar(
|
||||
content: Text('Erreur: utilisateur non connecté'),
|
||||
backgroundColor: Colors.red,
|
||||
),
|
||||
);
|
||||
ErrorService().showError(message: 'Erreur: utilisateur non connecté');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user