feat(Label): Add depend on settings to register websocket for label

This commit is contained in:
dab246
2026-03-03 10:30:32 +07:00
committed by Dat H. Pham
parent a70a338608
commit 2e6e1fcdc8
11 changed files with 86 additions and 40 deletions
@@ -8,15 +8,15 @@ import 'package:tmail_ui_user/features/thread_detail/presentation/action/thread_
extension HandleReactiveObxVariableExtension on MailboxDashBoardController {
void registerReactiveObxVariableListener() {
advancedSearchVisibleWorker = ever(
workerObxVariables.add(ever(
searchController.isAdvancedSearchViewOpen,
_onAdvancedSearchVisibleChanged
);
));
searchInputFocusWorker = ever(
workerObxVariables.add(ever(
searchController.isSearchInputFocused,
onSearchInputFocusChanged
);
));
}
void _onAdvancedSearchVisibleChanged(bool visible) {
@@ -52,11 +52,4 @@ extension HandleReactiveObxVariableExtension on MailboxDashBoardController {
dispatchAction(dashboardAction);
}
void disposeReactiveObxVariableListener() {
advancedSearchVisibleWorker?.dispose();
advancedSearchVisibleWorker = null;
searchInputFocusWorker?.dispose();
searchInputFocusWorker = null;
}
}
@@ -1,3 +1,4 @@
import 'package:core/utils/app_logger.dart';
import 'package:get/get.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart';
@@ -15,4 +16,22 @@ extension HandleLogicLabelExtension on MailboxDashBoardController {
return labelController.isLabelSettingEnabled.isTrue &&
isLabelCapabilitySupported;
}
void registerLabelReactiveObxListener() {
workerObxVariables.add(
ever(
labelController.isLabelSettingEnabled,
_onLabelSettingEnabledChanged,
),
);
}
void _onLabelSettingEnabledChanged(bool isEnabled) {
log('$runtimeType::_onLabelSettingEnabledChanged: isEnabled is $isEnabled');
injectWebSocket(
session: sessionCurrent,
accountId: accountId.value,
isLabelAvailable: isEnabled,
);
}
}