mirror of
				https://github.com/KevinMidboe/immich.git
				synced 2025-10-29 17:40:28 +00:00 
			
		
		
		
	* Add include archive setting to map on web * open api * better naming for web isArchived variable * add withArchived setting to mobile * (e2e): tests for mapMarker endpoint and isArchived * isArchived to mobile * chore: cleanup test * chore: optimize e2e --------- Co-authored-by: shalong-tanwen <139912620+shalong-tanwen@users.noreply.github.com> Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
		
			
				
	
	
		
			62 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
| import 'package:hooks_riverpod/hooks_riverpod.dart';
 | |
| import 'package:immich_mobile/modules/map/models/map_state.model.dart';
 | |
| import 'package:immich_mobile/modules/settings/providers/app_settings.provider.dart';
 | |
| import 'package:immich_mobile/modules/settings/services/app_settings.service.dart';
 | |
| 
 | |
| class MapStateNotifier extends StateNotifier<MapState> {
 | |
|   MapStateNotifier(this.appSettingsProvider)
 | |
|       : super(
 | |
|           MapState(
 | |
|             isDarkTheme: appSettingsProvider
 | |
|                 .getSetting<bool>(AppSettingsEnum.mapThemeMode),
 | |
|             showFavoriteOnly: appSettingsProvider
 | |
|                 .getSetting<bool>(AppSettingsEnum.mapShowFavoriteOnly),
 | |
|             includeArchived: appSettingsProvider
 | |
|                 .getSetting<bool>(AppSettingsEnum.mapIncludeArchived),
 | |
|             relativeTime: appSettingsProvider
 | |
|                 .getSetting<int>(AppSettingsEnum.mapRelativeDate),
 | |
|           ),
 | |
|         );
 | |
| 
 | |
|   final AppSettingsService appSettingsProvider;
 | |
| 
 | |
|   bool get isDarkTheme => state.isDarkTheme;
 | |
| 
 | |
|   void switchTheme(bool isDarkTheme) {
 | |
|     appSettingsProvider.setSetting(
 | |
|       AppSettingsEnum.mapThemeMode,
 | |
|       isDarkTheme,
 | |
|     );
 | |
|     state = state.copyWith(isDarkTheme: isDarkTheme);
 | |
|   }
 | |
| 
 | |
|   void switchFavoriteOnly(bool isFavoriteOnly) {
 | |
|     appSettingsProvider.setSetting(
 | |
|       AppSettingsEnum.mapShowFavoriteOnly,
 | |
|       isFavoriteOnly,
 | |
|     );
 | |
|     state = state.copyWith(showFavoriteOnly: isFavoriteOnly);
 | |
|   }
 | |
| 
 | |
|   void switchIncludeArchived(bool isIncludeArchived) {
 | |
|     appSettingsProvider.setSetting(
 | |
|       AppSettingsEnum.mapIncludeArchived,
 | |
|       isIncludeArchived,
 | |
|     );
 | |
|     state = state.copyWith(includeArchived: isIncludeArchived);
 | |
|   }
 | |
| 
 | |
|   void setRelativeTime(int relativeTime) {
 | |
|     appSettingsProvider.setSetting(
 | |
|       AppSettingsEnum.mapRelativeDate,
 | |
|       relativeTime,
 | |
|     );
 | |
|     state = state.copyWith(relativeTime: relativeTime);
 | |
|   }
 | |
| }
 | |
| 
 | |
| final mapStateNotifier =
 | |
|     StateNotifierProvider<MapStateNotifier, MapState>((ref) {
 | |
|   return MapStateNotifier(ref.watch(appSettingsServiceProvider));
 | |
| });
 |