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();
 | 
						|
});
 |