Presearch google activities.
This commit is contained in:
@@ -2,6 +2,7 @@ import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import '../../models/activity.dart';
|
||||
import '../../repositories/activity_repository.dart';
|
||||
import '../../services/activity_places_service.dart';
|
||||
import '../../services/activity_cache_service.dart';
|
||||
import '../../services/error_service.dart';
|
||||
import 'activity_event.dart';
|
||||
import 'activity_state.dart';
|
||||
@@ -34,6 +35,7 @@ class ActivityBloc extends Bloc<ActivityEvent, ActivityState> {
|
||||
on<ClearSearchResults>(_onClearSearchResults);
|
||||
on<UpdateActivity>(_onUpdateActivity);
|
||||
on<ToggleActivityFavorite>(_onToggleActivityFavorite);
|
||||
on<RestoreCachedSearchResults>(_onRestoreCachedSearchResults);
|
||||
}
|
||||
|
||||
/// Handles loading activities for a trip
|
||||
@@ -88,6 +90,9 @@ class ActivityBloc extends Bloc<ActivityEvent, ActivityState> {
|
||||
finalResults = searchResults;
|
||||
}
|
||||
|
||||
// Mettre en cache les résultats
|
||||
ActivityCacheService().setCachedActivities(event.tripId, finalResults);
|
||||
|
||||
emit(ActivitySearchResults(
|
||||
searchResults: finalResults,
|
||||
query: event.category?.displayName ?? 'Toutes les activités',
|
||||
@@ -132,6 +137,9 @@ class ActivityBloc extends Bloc<ActivityEvent, ActivityState> {
|
||||
finalResults = activities;
|
||||
}
|
||||
|
||||
// Mettre en cache les résultats
|
||||
ActivityCacheService().setCachedActivities(event.tripId, finalResults);
|
||||
|
||||
emit(ActivitySearchResults(
|
||||
searchResults: finalResults,
|
||||
query: event.category?.displayName ?? 'Toutes les activités',
|
||||
@@ -157,6 +165,9 @@ class ActivityBloc extends Bloc<ActivityEvent, ActivityState> {
|
||||
tripId: event.tripId,
|
||||
);
|
||||
|
||||
// Mettre en cache les résultats
|
||||
ActivityCacheService().setCachedActivities(event.tripId, searchResults);
|
||||
|
||||
emit(ActivitySearchResults(
|
||||
searchResults: searchResults,
|
||||
query: event.query,
|
||||
@@ -470,4 +481,16 @@ class ActivityBloc extends Bloc<ActivityEvent, ActivityState> {
|
||||
|
||||
return filtered;
|
||||
}
|
||||
|
||||
/// Restores cached search results
|
||||
Future<void> _onRestoreCachedSearchResults(
|
||||
RestoreCachedSearchResults event,
|
||||
Emitter<ActivityState> emit,
|
||||
) async {
|
||||
emit(ActivitySearchResults(
|
||||
searchResults: event.searchResults,
|
||||
query: 'cached',
|
||||
isLoading: false,
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -184,4 +184,14 @@ class ToggleActivityFavorite extends ActivityEvent {
|
||||
|
||||
@override
|
||||
List<Object> get props => [activityId, userId];
|
||||
}
|
||||
|
||||
/// Event to restore cached search results
|
||||
class RestoreCachedSearchResults extends ActivityEvent {
|
||||
final List<Activity> searchResults;
|
||||
|
||||
const RestoreCachedSearchResults({required this.searchResults});
|
||||
|
||||
@override
|
||||
List<Object?> get props => [searchResults];
|
||||
}
|
||||
Reference in New Issue
Block a user