TF-3894 Fix blank email content when opening email

This commit is contained in:
dab246
2025-09-03 10:37:01 +07:00
committed by Dat H. Pham
parent 949c1a698c
commit 5a64ff7e8f
41 changed files with 309 additions and 169 deletions
@@ -1,5 +1,6 @@
import 'package:flutter/cupertino.dart';
import 'package:model/extensions/session_extension.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/profile_setting/profile_setting_action_type.dart';
@@ -10,7 +11,12 @@ extension HandleProfileSettingActionTypeClickExtension on MailboxDashBoardContro
}) {
switch (actionType) {
case ProfileSettingActionType.signOut:
logout(context, sessionCurrent, accountId.value);
String accountDisplayName = ownEmailAddress.value;
if (accountDisplayName.trim().isEmpty) {
accountDisplayName =
sessionCurrent?.getOwnEmailAddressOrUsername() ?? '';
}
logout(context, sessionCurrent, accountId.value, accountDisplayName);
break;
case ProfileSettingActionType.manageAccount:
goToSettings();
@@ -1,24 +0,0 @@
import 'package:core/utils/app_logger.dart';
import 'package:jmap_dart_client/jmap/identities/identity.dart';
import 'package:model/extensions/session_extension.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart';
extension UpdateOwnEmailAddressExtension on MailboxDashBoardController {
void synchronizeOwnEmailAddress(String emailAddress) {
log('UpdateOwnEmailAddressExtension::synchronizeOwnEmailAddress:OwnEmailAddress = ${ownEmailAddress.value}, NewEmailAddress = $emailAddress');
if (ownEmailAddress.value.isNotEmpty || emailAddress.isEmpty) return;
ownEmailAddress.value = emailAddress;
}
void updateOwnEmailAddressFromIdentities(List<Identity> listIdentities) {
final identityEmailAddress = listIdentities.firstOrNull?.email ?? '';
if (identityEmailAddress.isNotEmpty) {
synchronizeOwnEmailAddress(identityEmailAddress);
} else {
synchronizeOwnEmailAddress(sessionCurrent?.getUserDisplayName() ?? '');
}
}
}