feat: Implement account management features

- Added ExpenseDetailDialog for displaying expense details and actions.
- Created ExpensesTab to list expenses for a group.
- Developed GroupExpensesPage to manage group expenses with tabs for expenses, balances, and settlements.
- Introduced SettlementsTab to show optimized repayment plans.
- Refactored create_trip_content.dart to remove CountBloc and related logic.
- Added Account model to manage user accounts and group members.
- Replaced CountRepository with AccountRepository for account-related operations.
- Removed CountService and CountRepository as part of the refactor.
- Updated main.dart and home.dart to integrate new account management components.
This commit is contained in:
Dayron
2025-10-21 00:42:36 +02:00
parent a3ced0e812
commit c69618cbd9
21 changed files with 182 additions and 747 deletions

View File

@@ -9,8 +9,6 @@ import '../../blocs/trip/trip_event.dart';
import '../../blocs/trip/trip_state.dart';
import '../../blocs/group/group_bloc.dart';
import '../../blocs/group/group_event.dart';
import '../../blocs/count/count_bloc.dart';
import '../../blocs/count/count_event.dart';
import '../../data/models/group.dart';
import '../../data/models/group_member.dart';
import '../../services/user_service.dart';
@@ -572,7 +570,7 @@ class _CreateTripContentState extends State<CreateTripContent> {
final group = Group(
id: '', // Sera généré par Firestore
name: _titleController.text.trim(),
tripId: tripId,
tripId: tripId, // ✅ ID du voyage récupéré
createdBy: currentUser.id,
);
@@ -591,15 +589,11 @@ class _CreateTripContentState extends State<CreateTripContent> {
)),
];
// Créer le groupe
context.read<GroupBloc>().add(CreateGroupWithMembers(
group: group,
members: groupMembers,
));
// ✅ AJOUT : Attendre un court instant pour que le groupe soit créé
await Future.delayed(const Duration(milliseconds: 500));
if (mounted) {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(