TF-1611 Fix can not display correctly menu screen when open setting view

(cherry picked from commit 2ba04f782ef17dac3b93930dccd3723f13d6836d)
This commit is contained in:
dab246
2023-03-24 01:13:51 +07:00
committed by Dat Vu
parent bc01ab9b0f
commit fed514e40b
20 changed files with 174 additions and 274 deletions
@@ -28,7 +28,6 @@ import 'package:tmail_ui_user/features/manage_account/domain/usecases/edit_ident
import 'package:tmail_ui_user/features/manage_account/domain/usecases/get_all_identities_interactor.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/manage_account_dashboard_controller.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/model/identity_action_type.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/model/settings_page_level.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/profiles/identities/widgets/delete_identity_dialog_builder.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
import 'package:tmail_ui_user/main/routes/app_routes.dart';
@@ -51,8 +50,6 @@ class IdentitiesController extends BaseController {
final identitySelected = Rxn<Identity>();
final listAllIdentities = <Identity>[].obs;
late Worker accountIdWorker;
IdentitiesController(
this._getAllIdentitiesInteractor,
this._deleteIdentityInteractor,
@@ -64,16 +61,10 @@ class IdentitiesController extends BaseController {
@override
void onInit() {
_initWorker();
_registerObxStreamListener();
super.onInit();
}
@override
void onClose() {
_clearWorker();
super.onClose();
}
@override
void onDone() {
viewState.value.fold(
@@ -98,23 +89,13 @@ class IdentitiesController extends BaseController {
);
}
void _initWorker() {
accountIdWorker = ever(_accountDashBoardController.accountId, (accountId) {
if (accountId is AccountId) {
final session = _accountDashBoardController.sessionCurrent;
if (session != null) {
_getAllIdentities(session, accountId);
}
void _registerObxStreamListener() {
ever(_accountDashBoardController.accountId, (accountId) {
final session = _accountDashBoardController.sessionCurrent;
if (accountId != null && session != null) {
_getAllIdentities(session, accountId);
}
});
if (_accountDashBoardController.settingsPageLevel.value == SettingsPageLevel.level1) {
_accountDashBoardController.accountId.refresh();
}
}
void _clearWorker() {
accountIdWorker.call();
}
void _getAllIdentities(Session session, AccountId accountId) {
@@ -14,7 +14,7 @@ class IdentityBindings extends Bindings {
void dependencies() {
IdentityInteractorsBindings().dependencies();
Get.lazyPut(() => IdentitiesController(
Get.put(IdentitiesController(
Get.find<GetAllIdentitiesInteractor>(),
Get.find<DeleteIdentityInteractor>(),
Get.find<CreateNewIdentityInteractor>(),
@@ -1,38 +1,10 @@
import 'package:get/get.dart';
import 'package:tmail_ui_user/features/base/base_bindings.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/profiles/identities/identity_bindings.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/profiles/profiles_controller.dart';
class ProfileBindings extends BaseBindings {
class ProfileBindings extends Bindings {
@override
void dependencies() {
super.dependencies();
IdentityBindings().dependencies();
}
@override
void bindingsController() {
Get.lazyPut(() => ProfilesController());
}
@override
void bindingsDataSource() {
}
@override
void bindingsDataSourceImpl() {
}
@override
void bindingsInteractor() {
}
@override
void bindingsRepository() {
}
@override
void bindingsRepositoryImpl() {
}
}
@@ -1,8 +0,0 @@
import 'package:tmail_ui_user/features/base/base_controller.dart';
class ProfilesController extends BaseController {
@override
void onDone() {}
}
@@ -6,10 +6,9 @@ import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/base/setting_detail_view_builder.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/profiles/identities/identities_view.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/profiles/profiles_controller.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/profiles/widgets/profiles_header_widget.dart';
class ProfilesView extends GetWidget<ProfilesController> {
class ProfilesView extends StatelessWidget {
final _responsiveUtils = Get.find<ResponsiveUtils>();
final _imagePaths = Get.find<ImagePaths>();