forked from Cutlery/immich
		
	* feat(mobile): partner sharing * getAllAssets for other users * i18n * fix tests * try to fix web tests * shared with/by confusion * error logging * guard against outdated server version
		
			
				
	
	
		
			27 lines
		
	
	
		
			689 B
		
	
	
	
		
			Dart
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			689 B
		
	
	
	
		
			Dart
		
	
	
	
	
	
| import 'dart:async';
 | |
| 
 | |
| import 'package:hooks_riverpod/hooks_riverpod.dart';
 | |
| import 'package:immich_mobile/shared/models/store.dart';
 | |
| import 'package:immich_mobile/shared/models/user.dart';
 | |
| 
 | |
| class CurrentUserProvider extends StateNotifier<User?> {
 | |
|   CurrentUserProvider() : super(null) {
 | |
|     state = Store.tryGet(StoreKey.currentUser);
 | |
|     streamSub =
 | |
|         Store.watch(StoreKey.currentUser).listen((user) => state = user);
 | |
|   }
 | |
| 
 | |
|   late final StreamSubscription<User?> streamSub;
 | |
| 
 | |
|   @override
 | |
|   void dispose() {
 | |
|     streamSub.cancel();
 | |
|     super.dispose();
 | |
|   }
 | |
| }
 | |
| 
 | |
| final currentUserProvider =
 | |
|     StateNotifierProvider<CurrentUserProvider, User?>((ref) {
 | |
|   return CurrentUserProvider();
 | |
| });
 |