mirror of
https://github.com/immich-app/immich.git
synced 2024-12-23 02:06:15 +02:00
bcc2c34eef
* 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();
|
|
});
|