TF-451 Add version information

This commit is contained in:
dab246
2022-04-05 16:50:26 +07:00
committed by Dat H. Pham
parent 1c7f9ad333
commit 7c22a1c821
5 changed files with 45 additions and 1 deletions
@@ -4,6 +4,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:get/get.dart';
import 'package:model/model.dart';
import 'package:package_info_plus/package_info_plus.dart';
import 'package:tmail_ui_user/features/mailbox/presentation/mailbox_controller.dart';
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_node.dart';
import 'package:tmail_ui_user/features/mailbox/presentation/widgets/bottom_bar_selection_mailbox_widget.dart';
@@ -261,6 +262,13 @@ class MailboxView extends GetWidget<MailboxController> {
margin: EdgeInsets.only(left: 16, right: 16, bottom: 30),
child: _buildFolderMailbox(context),
),
Obx(() {
if (controller.mailboxDashBoardController.appInformation.value != null) {
return _buildVersionInformation(context, controller.mailboxDashBoardController.appInformation.value!);
} else {
return SizedBox.shrink();
}
}),
]
);
}
@@ -431,4 +439,16 @@ class MailboxView extends GetWidget<MailboxController> {
]);
}
}
Widget _buildVersionInformation(BuildContext context, PackageInfo packageInfo) {
return Container(
padding: EdgeInsets.symmetric(vertical: 16, horizontal: 16),
margin: EdgeInsets.only(bottom: 30),
child: Text(
'${AppLocalizations.of(context).version} ${packageInfo.version}',
textAlign: TextAlign.center,
style: TextStyle(fontSize: 16, color: AppColor.colorContentEmail, fontWeight: FontWeight.w500),
),
);
}
}
@@ -14,6 +14,7 @@ import 'package:jmap_dart_client/jmap/core/unsigned_int.dart';
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
import 'package:model/model.dart';
import 'package:package_info_plus/package_info_plus.dart';
import 'package:tmail_ui_user/features/base/reloadable/reloadable_controller.dart';
import 'package:tmail_ui_user/features/caching/caching_manager.dart';
import 'package:tmail_ui_user/features/composer/domain/state/save_email_as_drafts_state.dart';
@@ -68,6 +69,7 @@ class MailboxDashBoardController extends ReloadableController {
final suggestionSearch = <String>[].obs;
final dashBoardAction = DashBoardAction.none.obs;
final routePath = AppRoutes.MAILBOX_DASHBOARD.obs;
final appInformation = Rxn<PackageInfo>();
SearchQuery? searchQuery;
Session? sessionCurrent;
@@ -97,6 +99,7 @@ class MailboxDashBoardController extends ReloadableController {
dispatchRoute(AppRoutes.THREAD);
_setSessionCurrent();
_getUserProfile();
_initPackageInfo();
}
@override
@@ -194,6 +197,13 @@ class MailboxDashBoardController extends ReloadableController {
});
}
Future<void> _initPackageInfo() async {
final info = await PackageInfo.fromPlatform();
log('MailboxDashBoardController::_initPackageInfo(): ${info.version}');
appInformation.value = info;
}
void setMapDefaultMailboxId(Map<Role, MailboxId> newMapMailboxId) {
mapDefaultMailboxId = newMapMailboxId;
}