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:
Dayron
2025-11-03 16:40:33 +01:00
parent 64fcc88984
commit 8ff9e12fd4
11 changed files with 3185 additions and 1 deletions

View File

@@ -6,6 +6,7 @@ import 'package:travel_mate/components/home/create_trip_content.dart';
import 'package:travel_mate/models/trip.dart';
import 'package:travel_mate/components/map/map_content.dart';
import 'package:travel_mate/services/error_service.dart';
import 'package:travel_mate/components/activities/activities_page.dart';
import 'package:url_launcher/url_launcher.dart';
class ShowTripDetailsContent extends StatefulWidget {
@@ -402,7 +403,7 @@ class _ShowTripDetailsContentState extends State<ShowTripDetailsContent> {
icon: Icons.local_activity,
title: 'Activités',
color: Colors.green,
onTap: () => _showComingSoon('Activités'),
onTap: () => _navigateToActivities(),
),
_buildActionButton(
icon: Icons.account_balance_wallet,
@@ -624,4 +625,13 @@ class _ShowTripDetailsContentState extends State<ShowTripDetailsContent> {
),
);
}
void _navigateToActivities() {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => ActivitiesPage(trip: widget.trip),
),
);
}
}