diff --git a/lib/features/home/presentation/blocs/home_bloc.dart b/lib/features/home/presentation/blocs/home_bloc.dart index 0df86d3b..5829df5f 100644 --- a/lib/features/home/presentation/blocs/home_bloc.dart +++ b/lib/features/home/presentation/blocs/home_bloc.dart @@ -1,26 +1,38 @@ +import 'dart:async'; + import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:hub/shared/helpers/storage/base_storage.dart'; import 'package:hub/shared/helpers/storage/storage_helper.dart'; +import '../../../../shared/components/molecules/locals/index.dart'; import 'index.dart'; class HomeBloc extends Bloc { + late StreamSubscription _completer; + HomeBloc() : super(HomeState()) { - on((event, emit) async { - final devUUID = (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; - final userUUID = (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; - final cliUUID = (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; - final userName = (await StorageHelper().get(KeychainStorageKey.userName.value)) ?? ''; - final userEmail = (await StorageHelper().get(SecureStorageKey.email.value)) ?? ''; - - emit(state.copyWith( - devUUID: devUUID, - userUUID: userUUID, - cliUUID: cliUUID, - userName: userName, - userEmail: userEmail, - )); + on(_onHomeEvent); + _completer = LocalsRepositoryImpl.license.stream.listen((v) { + add(HomeEvent()); }); + } + + Future _onHomeEvent(HomeEvent event, Emitter emit) async { + final devUUID = (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + final userUUID = (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + final cliUUID = (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + final userName = (await StorageHelper().get(KeychainStorageKey.userName.value)) ?? ''; + final userEmail = (await StorageHelper().get(SecureStorageKey.email.value)) ?? ''; + + emit(state.copyWith( + devUUID: devUUID, + userUUID: userUUID, + cliUUID: cliUUID, + userName: userName, + userEmail: userEmail, + )); } } + + diff --git a/lib/shared/components/molecules/locals/presentation/widgets/local_profile/local_profile_widget.dart b/lib/shared/components/molecules/locals/presentation/widgets/local_profile/local_profile_widget.dart index 83760caa..77994112 100644 --- a/lib/shared/components/molecules/locals/presentation/widgets/local_profile/local_profile_widget.dart +++ b/lib/shared/components/molecules/locals/presentation/widgets/local_profile/local_profile_widget.dart @@ -52,9 +52,7 @@ class _LocalProfileComponentWidgetState extends State( builder: (context, state) {