mirror of
				https://github.com/immich-app/immich.git
				synced 2025-10-30 18:22:37 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			44 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
| import 'package:hooks_riverpod/hooks_riverpod.dart';
 | |
| import 'package:immich_mobile/models/map/map_marker.model.dart';
 | |
| import 'package:immich_mobile/providers/map/map_service.provider.dart';
 | |
| import 'package:immich_mobile/providers/map/map_state.provider.dart';
 | |
| import 'package:riverpod_annotation/riverpod_annotation.dart';
 | |
| 
 | |
| part 'map_marker.provider.g.dart';
 | |
| 
 | |
| @riverpod
 | |
| Future<List<MapMarker>> mapMarkers(Ref ref) async {
 | |
|   final service = ref.read(mapServiceProvider);
 | |
|   final mapState = ref.read(mapStateNotifierProvider);
 | |
|   DateTime? fileCreatedAfter;
 | |
|   bool? isFavorite;
 | |
|   bool? isIncludeArchived;
 | |
|   bool? isWithPartners;
 | |
| 
 | |
|   if (mapState.relativeTime != 0) {
 | |
|     fileCreatedAfter =
 | |
|         DateTime.now().subtract(Duration(days: mapState.relativeTime));
 | |
|   }
 | |
| 
 | |
|   if (mapState.showFavoriteOnly) {
 | |
|     isFavorite = true;
 | |
|   }
 | |
| 
 | |
|   if (!mapState.includeArchived) {
 | |
|     isIncludeArchived = false;
 | |
|   }
 | |
| 
 | |
|   if (mapState.withPartners) {
 | |
|     isWithPartners = true;
 | |
|   }
 | |
| 
 | |
|   final markers = await service.getMapMarkers(
 | |
|     isFavorite: isFavorite,
 | |
|     withArchived: isIncludeArchived,
 | |
|     withPartners: isWithPartners,
 | |
|     fileCreatedAfter: fileCreatedAfter,
 | |
|   );
 | |
| 
 | |
|   return markers.toList();
 | |
| }
 |