Change logos to beta and move position version on web (#3203)

This commit is contained in:
Dat Vu
2024-10-16 17:56:20 +07:00
committed by GitHub
parent 8ccbd8a69d
commit 401f0b97fb
9 changed files with 124 additions and 25 deletions
@@ -1,22 +1,32 @@
import 'package:core/presentation/resources/image_paths.dart';
import 'package:core/presentation/views/button/tmail_button_widget.dart';
import 'package:core/utils/platform_info.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:tmail_ui_user/main/utils/app_config.dart';
class ApplicationLogoWidthTextWidget extends StatelessWidget {
final ImagePaths _imagePaths = Get.find<ImagePaths>();
final VoidCallback? onTapAction;
final EdgeInsetsGeometry? margin;
ApplicationLogoWidthTextWidget({super.key, this.onTapAction});
ApplicationLogoWidthTextWidget({
super.key,
this.onTapAction,
this.margin,
});
@override
Widget build(BuildContext context) {
return TMailButtonWidget.fromIcon(
icon: _imagePaths.icLogoWithText,
icon: PlatformInfo.isWeb && !AppConfig.isSaasPlatForm
? _imagePaths.icLogoWithTextBeta
: _imagePaths.icLogoWithText,
iconSize: 33,
padding: EdgeInsets.zero,
margin: margin,
backgroundColor: Colors.transparent,
hoverColor: Colors.transparent,
onTapActionCallback: onTapAction,
@@ -13,6 +13,7 @@ import 'package:tmail_ui_user/features/mailbox/presentation/widgets/mailbox_item
import 'package:tmail_ui_user/features/mailbox/presentation/widgets/mailbox_loading_bar_widget.dart';
import 'package:tmail_ui_user/features/mailbox/presentation/widgets/user_information_widget.dart';
import 'package:tmail_ui_user/features/quotas/presentation/quotas_view.dart';
import 'package:tmail_ui_user/features/quotas/presentation/styles/quotas_view_styles.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
import 'package:tmail_ui_user/main/utils/app_config.dart';
@@ -31,8 +32,15 @@ class MailboxView extends BaseMailboxView {
backgroundColor: controller.responsiveUtils.isWebDesktop(context)
? AppColor.colorBgDesktop
: Colors.white,
body: Column(children: [
if (!controller.responsiveUtils.isDesktop(context)) _buildLogoApp(context),
body: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
if (!controller.responsiveUtils.isDesktop(context))
ApplicationLogoWidthTextWidget(
margin: const EdgeInsetsDirectional.only(
top: 16,
bottom: 16,
start: 16,
),
),
if (!controller.responsiveUtils.isDesktop(context))
const Divider(
color: AppColor.colorDividerMailbox,
@@ -50,27 +58,34 @@ class MailboxView extends BaseMailboxView {
child: _buildListMailbox(context),
),
)),
const QuotasView(),
const QuotasView(
padding: EdgeInsetsDirectional.only(
start: QuotasViewStyles.padding,
top: QuotasViewStyles.padding,
),
),
Container(
color: AppColor.colorBgMailbox,
width: double.infinity,
alignment: controller.responsiveUtils.isDesktop(context)
? AlignmentDirectional.centerStart
: AlignmentDirectional.center,
padding: const EdgeInsets.all(16),
child: ApplicationVersionWidget(
padding: EdgeInsets.zero,
title: '${AppLocalizations.of(context).version.toLowerCase()} ',
textStyle: Theme.of(context).textTheme.bodySmall?.copyWith(
fontSize: 13,
color: AppColor.colorTextBody,
fontWeight: FontWeight.normal
),
),
),
]),
)
);
}
Widget _buildLogoApp(BuildContext context) {
return Container(
color: Colors.white,
padding: EdgeInsetsDirectional.only(
top: controller.responsiveUtils.isDesktop(context) ? 25 : 16,
bottom: controller.responsiveUtils.isDesktop(context) ? 25 : 16,
start: controller.responsiveUtils.isDesktop(context) ? 32 : 16,
),
child: Row(children: [
ApplicationLogoWidthTextWidget(),
const ApplicationVersionWidget()
])
);
}
Widget _buildListMailbox(BuildContext context) {
final mailboxListWidget = SingleChildScrollView(
controller: controller.mailboxListScrollController,
@@ -3,7 +3,6 @@ import 'package:core/presentation/utils/responsive_utils.dart';
import 'package:core/presentation/views/image/avatar_builder.dart';
import 'package:flutter/material.dart';
import 'package:tmail_ui_user/features/base/widget/application_logo_with_text_widget.dart';
import 'package:tmail_ui_user/features/base/widget/application_version_widget.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/app_grid_dashboard_controller.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/styles/navigation_bar_style.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/app_dashboard/app_grid_dashboard_icon.dart';
@@ -41,7 +40,7 @@ class NavigationBarWidget extends StatelessWidget {
mainAxisSize: MainAxisSize.min,
children: [
ApplicationLogoWidthTextWidget(onTapAction: onTapApplicationLogoAction),
const ApplicationVersionWidget()
const Spacer(),
],
),
),
@@ -129,6 +129,23 @@ class ManageAccountMenuView extends GetWidget<ManageAccountMenuController> {
]
),
)),
Container(
color: AppColor.colorBgMailbox,
width: double.infinity,
alignment: controller.responsiveUtils.isDesktop(context)
? AlignmentDirectional.centerStart
: AlignmentDirectional.center,
padding: const EdgeInsets.all(16),
child: ApplicationVersionWidget(
padding: EdgeInsets.zero,
title: '${AppLocalizations.of(context).version.toLowerCase()} ',
textStyle: Theme.of(context).textTheme.bodySmall?.copyWith(
fontSize: 13,
color: AppColor.colorTextBody,
fontWeight: FontWeight.normal
),
),
),
]
)
),
@@ -8,7 +8,9 @@ import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
class QuotasView extends GetWidget<QuotasController> {
const QuotasView({Key? key}) : super(key: key);
final EdgeInsetsGeometry? padding;
const QuotasView({Key? key, this.padding}) : super(key: key);
@override
Widget build(BuildContext context) {
@@ -17,7 +19,7 @@ class QuotasView extends GetWidget<QuotasController> {
final octetQuota = controller.octetsQuota.value!;
return LayoutBuilder(builder: (context, constraints) {
return Container(
padding: const EdgeInsetsDirectional.only(
padding: padding ?? const EdgeInsetsDirectional.only(
start: QuotasViewStyles.padding,
top: QuotasViewStyles.padding,
bottom: QuotasViewStyles.bottomPadding
+5
View File
@@ -14,6 +14,7 @@ class AppConfig {
static const String appFCMConfigurationPath = "configurations/env.fcm";
static const String iOSKeychainSharingGroupId = 'KUT463DS29.com.linagora.ios.teammail.shared';
static const String iOSKeychainSharingService = 'com.linagora.ios.teammail.sessions';
static const String saasPlatform = 'saas';
static String get baseUrl => dotenv.get('SERVER_URL', fallback: '');
static String get domainRedirectUrl => dotenv.get('DOMAIN_REDIRECT_URL', fallback: '');
@@ -61,4 +62,8 @@ class AppConfig {
return forwardWarningMessage;
}
static String get _platformEnv => dotenv.get('PLATFORM', fallback: 'other');
static bool get isSaasPlatForm => _platformEnv == saasPlatform;
}