feat: Implement activity management feature with Firestore integration
- Added AddActivityBottomSheet for adding custom activities to trips. - Created Activity model to represent tourist activities. - Developed ActivityRepository for managing activities in Firestore. - Integrated ActivityPlacesService for searching activities via Google Places API. - Updated ShowTripDetailsContent to navigate to activities page. - Enhanced main.dart to include ActivityBloc and necessary repositories.
This commit is contained in:
@@ -4,9 +4,11 @@ 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/blocs/activity/activity_bloc.dart';
|
||||
import 'package:travel_mate/firebase_options.dart';
|
||||
import 'package:travel_mate/services/balance_service.dart';
|
||||
import 'package:travel_mate/services/error_service.dart';
|
||||
import 'package:travel_mate/services/activity_places_service.dart';
|
||||
import 'package:flutter_dotenv/flutter_dotenv.dart';
|
||||
import 'package:travel_mate/services/expense_service.dart';
|
||||
import 'blocs/auth/auth_bloc.dart';
|
||||
@@ -26,6 +28,7 @@ import 'repositories/message_repository.dart';
|
||||
import 'repositories/account_repository.dart';
|
||||
import 'repositories/expense_repository.dart';
|
||||
import 'repositories/balance_repository.dart';
|
||||
import 'repositories/activity_repository.dart';
|
||||
import 'pages/login.dart';
|
||||
import 'pages/home.dart';
|
||||
import 'pages/signup.dart';
|
||||
@@ -99,6 +102,14 @@ class MyApp extends StatelessWidget {
|
||||
expenseRepository: context.read<ExpenseRepository>(),
|
||||
),
|
||||
),
|
||||
// Activity repository for managing trip activities
|
||||
RepositoryProvider<ActivityRepository>(
|
||||
create: (context) => ActivityRepository(),
|
||||
),
|
||||
// Activity places service for Google Places API integration
|
||||
RepositoryProvider<ActivityPlacesService>(
|
||||
create: (context) => ActivityPlacesService(),
|
||||
),
|
||||
// Balance service for business logic related to balances
|
||||
RepositoryProvider<BalanceService>(
|
||||
create: (context) => BalanceService(
|
||||
@@ -151,6 +162,14 @@ class MyApp extends StatelessWidget {
|
||||
expenseRepository: context.read<ExpenseRepository>(),
|
||||
),
|
||||
),
|
||||
// Activity BLoC for managing trip activities
|
||||
BlocProvider<ActivityBloc>(
|
||||
create: (context) => ActivityBloc(
|
||||
repository: context.read<ActivityRepository>(),
|
||||
placesService: context.read<ActivityPlacesService>(),
|
||||
errorService: ErrorService(),
|
||||
),
|
||||
),
|
||||
],
|
||||
child: BlocBuilder<ThemeBloc, ThemeState>(
|
||||
builder: (context, themeState) {
|
||||
|
||||
Reference in New Issue
Block a user