feat: Add User and UserBalance models with serialization methods

feat: Implement BalanceRepository for group balance calculations

feat: Create ExpenseRepository for managing expenses

feat: Add services for handling expenses and storage operations

fix: Update import paths for models in repositories and services

refactor: Rename CountContent to AccountContent in HomePage

chore: Add StorageService for image upload and management
This commit is contained in:
Dayron
2025-10-21 16:02:58 +02:00
parent 62eb434548
commit 4edbd1cf34
60 changed files with 1973 additions and 342 deletions

View File

@@ -1,9 +1,13 @@
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:travel_mate/blocs/balance/balance_bloc.dart';
import 'package:travel_mate/blocs/expense/expense_bloc.dart';
import 'package:travel_mate/blocs/message/message_bloc.dart';
import 'package:travel_mate/services/balance_service.dart';
import 'package:travel_mate/services/error_service.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
import 'package:travel_mate/services/expense_service.dart';
import 'blocs/auth/auth_bloc.dart';
import 'blocs/auth/auth_event.dart';
import 'blocs/theme/theme_bloc.dart';
@@ -19,6 +23,8 @@ import 'repositories/user_repository.dart';
import 'repositories/group_repository.dart';
import 'repositories/message_repository.dart';
import 'repositories/account_repository.dart';
import 'repositories/expense_repository.dart';
import 'repositories/balance_repository.dart';
import 'pages/login.dart';
import 'pages/home.dart';
import 'pages/signup.dart';
@@ -54,6 +60,17 @@ class MyApp extends StatelessWidget {
RepositoryProvider<MessageRepository>(
create: (context) => MessageRepository(),
),
RepositoryProvider<AccountRepository>(
create: (context) => AccountRepository(),
),
RepositoryProvider<ExpenseRepository>(
create: (context) => ExpenseRepository(),
),
RepositoryProvider<BalanceRepository>(
create: (context) => BalanceRepository(
expenseRepository: context.read<ExpenseRepository>(),
),
),
],
child: MultiBlocProvider(
@@ -76,7 +93,27 @@ class MyApp extends StatelessWidget {
BlocProvider(create: (context) => UserBloc()),
BlocProvider(
create: (context) => MessageBloc(),
),
BlocProvider(
create: (context) => AccountBloc(
context.read<AccountRepository>(),
),
),
// Nouveaux blocs
BlocProvider<ExpenseBloc>(
create: (context) => ExpenseBloc(
expenseRepository: context.read<ExpenseRepository>(),
expenseService: context.read<ExpenseService>(),
),
),
BlocProvider<BalanceBloc>(
create: (context) => BalanceBloc(
balanceRepository: context.read<BalanceRepository>(),
balanceService: context.read<BalanceService>(),
expenseRepository: context.read<ExpenseRepository>(),
),
),
],
child: BlocBuilder<ThemeBloc, ThemeState>(