TF-2667 Create ApplicationVersionWidget to display app version

This commit is contained in:
dab246
2024-03-06 11:14:33 +07:00
committed by Dat H. Pham
parent c9fed1fa41
commit 61687b60e0
20 changed files with 233 additions and 143 deletions
@@ -23,7 +23,6 @@ import 'package:jmap_dart_client/jmap/mail/email/email_address.dart';
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
import 'package:jmap_dart_client/jmap/mail/vacation/vacation_response.dart';
import 'package:model/model.dart';
import 'package:package_info_plus/package_info_plus.dart';
import 'package:pointer_interceptor/pointer_interceptor.dart';
import 'package:rxdart/transformers.dart';
import 'package:tmail_ui_user/features/base/action/ui_action.dart';
@@ -203,7 +202,6 @@ class MailboxDashBoardController extends ReloadableController {
final mailboxUIAction = Rxn<MailboxUIAction>();
final emailUIAction = Rxn<EmailUIAction>();
final dashboardRoute = DashboardRoutes.waiting.obs;
final appInformation = Rxn<PackageInfo>();
final currentSelectMode = SelectMode.INACTIVE.obs;
final filterMessageOption = FilterMessageOption.all.obs;
final listEmailSelected = <PresentationEmail>[].obs;
@@ -281,7 +279,6 @@ class MailboxDashBoardController extends ReloadableController {
_registerPendingEmailContents();
_registerPendingFileInfo();
_handleArguments();
_getAppVersion();
super.onReady();
}
@@ -541,12 +538,6 @@ class MailboxDashBoardController extends ReloadableController {
_handleNotificationMessageFromEmailId(arguments.emailId);
}
Future<void> _getAppVersion() async {
final info = await PackageInfo.fromPlatform();
log('MailboxDashBoardController::_getAppVersion(): ${info.version}');
appInformation.value = info;
}
void _getVacationResponse() {
if (accountId.value != null && _getAllVacationInteractor != null) {
consumeState(_getAllVacationInteractor!.execute(accountId.value!));
@@ -1941,12 +1932,16 @@ class MailboxDashBoardController extends ReloadableController {
}
void _storeSendingEmailInCaseOfSendingFailureInMobile(SendEmailFailure failure) {
if (PlatformInfo.isMobile) {
if (PlatformInfo.isMobile &&
failure.session != null &&
failure.accountId != null &&
failure.emailRequest != null
) {
_tryToStoreSendingEmail(
failure.session,
failure.accountId,
failure.emailRequest,
failure.mailboxRequest
failure.session!,
failure.accountId!,
failure.emailRequest!,
failure.mailboxRequest
);
}
}
@@ -5,6 +5,7 @@ import 'package:flutter_svg/flutter_svg.dart';
import 'package:get/get.dart';
import 'package:model/extensions/username_extension.dart';
import 'package:model/mailbox/presentation_mailbox.dart';
import 'package:tmail_ui_user/features/base/widget/application_version_widget.dart';
import 'package:tmail_ui_user/features/base/widget/popup_item_no_icon_widget.dart';
import 'package:tmail_ui_user/features/composer/presentation/composer_view_web.dart';
import 'package:tmail_ui_user/features/email/presentation/email_view.dart';
@@ -76,21 +77,9 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView {
logoSVG: controller.imagePaths.icTMailLogo,
onTapCallback: controller.redirectToInboxAction,
),
Obx(() {
if (controller.appInformation.value != null) {
return Padding(padding: const EdgeInsets.only(top: 6),
child: Text(
'v${controller.appInformation.value!.version}',
textAlign: TextAlign.center,
style: const TextStyle(
fontSize: 13,
color: AppColor.colorContentEmail,
fontWeight: FontWeight.w500),
));
} else {
return const SizedBox.shrink();
}
}),
ApplicationVersionWidget(
applicationManager: controller.applicationManager
)
])
),
Expanded(child: Container(
@@ -340,7 +329,10 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView {
: const SizedBox.shrink(),
const SizedBox(width: 24),
Obx(() => (AvatarBuilder()
..text(controller.sessionCurrent?.username.firstCharacter ?? '')
..text(controller.accountId.value != null
? controller.sessionCurrent?.username.firstCharacter ?? ''
: ''
)
..backgroundColor(Colors.white)
..textColor(Colors.black)
..context(context)