refactor: update global states to ValueNotifiers

This commit is contained in:
shenlong-tanwen
2024-10-18 09:19:39 +05:30
parent c91a2878dc
commit e8bb9a3934
7 changed files with 21 additions and 22 deletions
@@ -1,8 +1,8 @@
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter/foundation.dart';
import 'package:immich_mobile/domain/models/user.model.dart';
class CurrentUserCubit extends Cubit<User> {
CurrentUserCubit(super.initialState);
class CurrentUserProvider extends ValueNotifier<User> {
CurrentUserProvider(super.initialState);
void updateUser(User user) => emit(user);
void updateUser(User user) => value = user;
}
@@ -15,8 +15,8 @@ enum GalleryPermissionStatus {
bool get isLimited => this == GalleryPermissionStatus.limited;
}
class GalleryPermissionNotifier extends ValueNotifier<GalleryPermissionStatus> {
GalleryPermissionNotifier() : super(GalleryPermissionStatus.yetToRequest) {
class GalleryPermissionProvider extends ValueNotifier<GalleryPermissionStatus> {
GalleryPermissionProvider() : super(GalleryPermissionStatus.yetToRequest) {
checkPermission();
}
@@ -1,11 +1,11 @@
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter/foundation.dart';
import 'package:immich_mobile/domain/models/server-info/server_feature_config.model.dart';
import 'package:immich_mobile/domain/services/server_info.service.dart';
class ServerFeatureConfigCubit extends Cubit<ServerFeatureConfig> {
class ServerFeatureConfigProvider extends ValueNotifier<ServerFeatureConfig> {
final ServerInfoService _serverInfoService;
ServerFeatureConfigCubit(this._serverInfoService)
ServerFeatureConfigProvider(this._serverInfoService)
: super(const ServerFeatureConfig.reset());
Future<void> getFeatures() async =>
@@ -14,14 +14,14 @@ class ServerFeatureConfigCubit extends Cubit<ServerFeatureConfig> {
Future<void> _getFeatures() async {
final features = await _serverInfoService.getServerFeatures();
if (features != null) {
emit(state.copyWith(features: features));
value = value.copyWith(features: features);
}
}
Future<void> _getConfig() async {
final config = await _serverInfoService.getServerConfig();
if (config != null) {
emit(state.copyWith(config: config));
value = value.copyWith(config: config);
}
}
}