TF-451 Add version information
This commit is contained in:
@@ -4,6 +4,7 @@ import 'package:flutter/material.dart';
|
|||||||
import 'package:flutter_svg/flutter_svg.dart';
|
import 'package:flutter_svg/flutter_svg.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:model/model.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/mailbox_controller.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_node.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';
|
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),
|
margin: EdgeInsets.only(left: 16, right: 16, bottom: 30),
|
||||||
child: _buildFolderMailbox(context),
|
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/email/email.dart';
|
||||||
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
|
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
|
||||||
import 'package:model/model.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/base/reloadable/reloadable_controller.dart';
|
||||||
import 'package:tmail_ui_user/features/caching/caching_manager.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';
|
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 suggestionSearch = <String>[].obs;
|
||||||
final dashBoardAction = DashBoardAction.none.obs;
|
final dashBoardAction = DashBoardAction.none.obs;
|
||||||
final routePath = AppRoutes.MAILBOX_DASHBOARD.obs;
|
final routePath = AppRoutes.MAILBOX_DASHBOARD.obs;
|
||||||
|
final appInformation = Rxn<PackageInfo>();
|
||||||
|
|
||||||
SearchQuery? searchQuery;
|
SearchQuery? searchQuery;
|
||||||
Session? sessionCurrent;
|
Session? sessionCurrent;
|
||||||
@@ -97,6 +99,7 @@ class MailboxDashBoardController extends ReloadableController {
|
|||||||
dispatchRoute(AppRoutes.THREAD);
|
dispatchRoute(AppRoutes.THREAD);
|
||||||
_setSessionCurrent();
|
_setSessionCurrent();
|
||||||
_getUserProfile();
|
_getUserProfile();
|
||||||
|
_initPackageInfo();
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@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) {
|
void setMapDefaultMailboxId(Map<Role, MailboxId> newMapMailboxId) {
|
||||||
mapDefaultMailboxId = newMapMailboxId;
|
mapDefaultMailboxId = newMapMailboxId;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@@last_modified": "2022-04-05T16:53:32.520037",
|
"@@last_modified": "2022-04-05T16:47:07.723009",
|
||||||
"initializing_data": "Initializing data...",
|
"initializing_data": "Initializing data...",
|
||||||
"@initializing_data": {
|
"@initializing_data": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@@ -1009,5 +1009,11 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders_order": [],
|
"placeholders_order": [],
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
|
},
|
||||||
|
"version": "Version",
|
||||||
|
"@version": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders_order": [],
|
||||||
|
"placeholders": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1063,4 +1063,10 @@ class AppLocalizations {
|
|||||||
'All messages has been deleted forever',
|
'All messages has been deleted forever',
|
||||||
name: 'toast_message_empty_trash_folder_success');
|
name: 'toast_message_empty_trash_folder_success');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String get version {
|
||||||
|
return Intl.message(
|
||||||
|
'Version',
|
||||||
|
name: 'version');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -139,6 +139,8 @@ dependencies:
|
|||||||
|
|
||||||
connectivity_plus: 2.2.1
|
connectivity_plus: 2.2.1
|
||||||
|
|
||||||
|
package_info_plus: 1.4.1
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_test:
|
flutter_test:
|
||||||
sdk: flutter
|
sdk: flutter
|
||||||
|
|||||||
Reference in New Issue
Block a user