Always show default mailbox in all MailboxView, Search Mailbox and Settings
This commit is contained in:
+4
-12
@@ -12,7 +12,6 @@ import 'package:get/get.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/state.dart' as jmap;
|
||||
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
|
||||
import 'package:model/mailbox/expand_mode.dart';
|
||||
import 'package:model/mailbox/presentation_mailbox.dart';
|
||||
import 'package:tmail_ui_user/features/base/base_mailbox_controller.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/domain/model/mailbox_subscribe_action_state.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/domain/model/mailbox_subscribe_state.dart';
|
||||
@@ -30,7 +29,6 @@ import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_catego
|
||||
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_node.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_tree_builder.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_creator/domain/usecases/verify_name_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/presentation/mailbox_visibility/state/mailbox_visibility_state.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/presentation/manage_account_dashboard_controller.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
|
||||
@@ -69,13 +67,13 @@ class MailboxVisibilityController extends BaseMailboxController {
|
||||
@override
|
||||
void onData(Either<Failure, Success> newState) {
|
||||
super.onData(newState);
|
||||
newState.fold((failure) => null, (success) {
|
||||
if (success is GetAllMailboxSuccess) {
|
||||
newState.fold((failure) => null, (success) async {
|
||||
if (success is GetAllMailboxSuccess) {
|
||||
currentMailboxState = success.currentMailboxState;
|
||||
_handleBuildMailboxTree(success.mailboxList);
|
||||
await buildTree(success.mailboxList);
|
||||
} else if (success is RefreshChangesAllMailboxSuccess) {
|
||||
currentMailboxState = success.currentMailboxState;
|
||||
refreshTree(success.mailboxList);
|
||||
await refreshTree(success.mailboxList);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -103,12 +101,6 @@ class MailboxVisibilityController extends BaseMailboxController {
|
||||
super.onReady();
|
||||
}
|
||||
|
||||
void _handleBuildMailboxTree(List<PresentationMailbox> mailboxList) async {
|
||||
dispatchState(Right(LoadingBuildTreeMailboxVisibility()));
|
||||
await buildTree(mailboxList);
|
||||
dispatchState(Right(BuildTreeMailboxVisibilitySuccess()));
|
||||
}
|
||||
|
||||
void subscribeMailbox(MailboxNode mailboxNode) {
|
||||
final _mailboxSubscribeState = mailboxNode.item.isSubscribedMailbox
|
||||
? MailboxSubscribeState.disabled : MailboxSubscribeState.enabled;
|
||||
|
||||
+3
-12
@@ -12,7 +12,6 @@ import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_catego
|
||||
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_node.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/mailbox_visibility/mailbox_visibility_controller.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/presentation/mailbox_visibility/state/mailbox_visibility_state.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/presentation/mailbox_visibility/utils/mailbox_visibility_utils.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/presentation/mailbox_visibility/widgets/mailbox_visibility_folder_tile_builder.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/presentation/mailbox_visibility/widgets/mailbox_visibility_header_widget.dart';
|
||||
@@ -57,17 +56,9 @@ class MailboxVisibilityView extends GetWidget<MailboxVisibilityController>
|
||||
Widget _buildLoadingView() {
|
||||
return Obx(() => controller.viewState.value.fold(
|
||||
(failure) => const SizedBox.shrink(),
|
||||
(success) {
|
||||
if (success is LoadingState || success is LoadingBuildTreeMailboxVisibility) {
|
||||
return Padding(
|
||||
padding: const EdgeInsets.only(top: 16),
|
||||
child: loadingWidget
|
||||
);
|
||||
} else {
|
||||
return const SizedBox.shrink();
|
||||
}
|
||||
}
|
||||
));
|
||||
(success) => success is LoadingState
|
||||
? Padding(padding: const EdgeInsets.only(top: 16), child: loadingWidget)
|
||||
: const SizedBox.shrink()));
|
||||
}
|
||||
|
||||
Widget _buildListMailbox(BuildContext context) {
|
||||
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
import 'package:core/presentation/state/success.dart';
|
||||
|
||||
class LoadingBuildTreeMailboxVisibility extends LoadingState {}
|
||||
|
||||
class BuildTreeMailboxVisibilitySuccess extends UIState {}
|
||||
+3
-3
@@ -35,7 +35,7 @@ class MailBoxVisibilityFolderTileBuilder extends StatelessWidget {
|
||||
const SizedBox(width: 8),
|
||||
_buildLeadingMailboxItem(context),
|
||||
Expanded(child: _buildTitleFolderItem()),
|
||||
if (!_mailboxNode.item.hasRole() || !_mailboxNode.item.isSubscribedMailbox)
|
||||
if (!_mailboxNode.item.isDefault)
|
||||
_buildSubscribeButton(context),
|
||||
const SizedBox(width: 32),
|
||||
]
|
||||
@@ -85,7 +85,7 @@ class MailBoxVisibilityFolderTileBuilder extends StatelessWidget {
|
||||
overflow: CommonTextStyle.defaultTextOverFlow,
|
||||
style: TextStyle(
|
||||
fontSize: _mailboxNode.item.isTeamMailboxes ? 16 : 15,
|
||||
color: _mailboxNode.item.isSubscribedMailbox
|
||||
color: _mailboxNode.item.allowedToDisplay
|
||||
? Colors.black
|
||||
: AppColor.colorTitleAUnSubscribedMailbox,
|
||||
fontWeight: _mailboxNode.item.isTeamMailboxes
|
||||
@@ -114,7 +114,7 @@ class MailBoxVisibilityFolderTileBuilder extends StatelessWidget {
|
||||
_mailboxNode.item.getMailboxIcon(_imagePaths),
|
||||
width: 20,
|
||||
height: 20,
|
||||
color: _mailboxNode.item.isSubscribedMailbox
|
||||
color: _mailboxNode.item.allowedToDisplay
|
||||
? AppColor.primaryColor
|
||||
: AppColor.colorIconUnSubscribedMailbox,
|
||||
fit: BoxFit.fill
|
||||
|
||||
Reference in New Issue
Block a user