feat: Add expense management features with tabs for expenses, balances, and settlements

- Implemented ExpensesTab to display a list of expenses with details.
- Created GroupExpensesPage to manage group expenses with a tabbed interface.
- Added SettlementsTab to show optimized settlements between users.
- Developed data models for Expense and Balance, including necessary methods for serialization.
- Introduced CountRepository for Firestore interactions related to expenses.
- Added CountService to handle business logic for expenses and settlements.
- Integrated image picker for receipt uploads.
- Updated main.dart to include CountBloc and CountRepository.
- Enhanced pubspec.yaml with new dependencies for image picking and Firebase storage.

Not Tested yet
This commit is contained in:
Dayron
2025-10-20 19:22:57 +02:00
parent 633d2c5e5c
commit ce754c1e6c
18 changed files with 2668 additions and 5 deletions

View File

@@ -12,11 +12,13 @@ import 'blocs/theme/theme_state.dart';
import 'blocs/group/group_bloc.dart';
import 'blocs/user/user_bloc.dart';
import 'blocs/trip/trip_bloc.dart';
import 'blocs/count/count_bloc.dart';
import 'repositories/auth_repository.dart';
import 'repositories/trip_repository.dart';
import 'repositories/user_repository.dart';
import 'repositories/group_repository.dart';
import 'repositories/message_repository.dart';
import 'repositories/count_repository.dart';
import 'pages/login.dart';
import 'pages/home.dart';
import 'pages/signup.dart';
@@ -52,6 +54,9 @@ class MyApp extends StatelessWidget {
RepositoryProvider<MessageRepository>(
create: (context) => MessageRepository(),
),
RepositoryProvider<CountRepository>(
create: (context) => CountRepository(),
),
],
child: MultiBlocProvider(
providers: [
@@ -74,6 +79,9 @@ class MyApp extends StatelessWidget {
BlocProvider(
create: (context) => MessageBloc(),
),
BlocProvider(
create: (context) => CountBloc(),
),
],
child: BlocBuilder<ThemeBloc, ThemeState>(
builder: (context, themeState) {