TF-3986 Change style for alert quota
This commit is contained in:
@@ -1,10 +1,13 @@
|
||||
import 'package:core/presentation/utils/theme_utils.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:flutter_svg/flutter_svg.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:tmail_ui_user/features/base/widget/default_field/default_close_button_widget.dart';
|
||||
import 'package:tmail_ui_user/features/quotas/domain/extensions/quota_extensions.dart';
|
||||
import 'package:tmail_ui_user/features/quotas/presentation/quotas_controller.dart';
|
||||
import 'package:tmail_ui_user/features/quotas/presentation/styles/quotas_banner_styles.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
|
||||
class QuotasBannerWidget extends StatelessWidget {
|
||||
|
||||
@@ -16,49 +19,79 @@ class QuotasBannerWidget extends StatelessWidget {
|
||||
Widget build(BuildContext context) {
|
||||
return Obx(() {
|
||||
final octetQuota = _quotasController.octetsQuota.value;
|
||||
if (octetQuota != null && octetQuota.allowedDisplayToQuotaBanner) {
|
||||
|
||||
if (octetQuota != null &&
|
||||
octetQuota.allowedDisplayToQuotaBanner &&
|
||||
_quotasController.isBannerEnabled.isTrue) {
|
||||
final appLocalizations = AppLocalizations.of(context);
|
||||
|
||||
return Container(
|
||||
decoration: BoxDecoration(
|
||||
color: octetQuota.getQuotaBannerBackgroundColor(),
|
||||
borderRadius: const BorderRadius.all(Radius.circular(QuotasBannerStyles.borderRadius)),
|
||||
decoration: const BoxDecoration(
|
||||
color: QuotasBannerStyles.backgroundColor,
|
||||
borderRadius: BorderRadius.all(
|
||||
Radius.circular(QuotasBannerStyles.borderRadius),
|
||||
),
|
||||
),
|
||||
margin: QuotasBannerStyles.getBannerMargin(
|
||||
context,
|
||||
_quotasController.responsiveUtils),
|
||||
padding: QuotasBannerStyles.bannerPadding,
|
||||
child: Row(
|
||||
_quotasController.responsiveUtils,
|
||||
),
|
||||
child: Stack(
|
||||
children: [
|
||||
SvgPicture.asset(
|
||||
octetQuota.getQuotaBannerIcon(_quotasController.imagePaths),
|
||||
width: QuotasBannerStyles.iconSize,
|
||||
height: QuotasBannerStyles.iconSize,
|
||||
fit: BoxFit.fill,
|
||||
),
|
||||
const SizedBox(width: QuotasBannerStyles.iconPadding),
|
||||
Expanded(
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
Padding(
|
||||
padding: QuotasBannerStyles.bannerPadding,
|
||||
child: Row(
|
||||
children: [
|
||||
Text(
|
||||
octetQuota.getQuotaBannerTitle(context),
|
||||
style: ThemeUtils.defaultTextStyleInterFont.copyWith(
|
||||
fontSize: QuotasBannerStyles.titleTextSize,
|
||||
fontWeight: QuotasBannerStyles.titleFontWeight,
|
||||
color: octetQuota.getQuotaBannerTitleColor(),
|
||||
),
|
||||
SvgPicture.asset(
|
||||
_quotasController.imagePaths.icCloud,
|
||||
width: QuotasBannerStyles.iconSize,
|
||||
height: QuotasBannerStyles.iconSize,
|
||||
fit: BoxFit.fill,
|
||||
),
|
||||
const SizedBox(height: QuotasBannerStyles.space),
|
||||
Text(
|
||||
octetQuota.getQuotaBannerMessage(context),
|
||||
style: ThemeUtils.defaultTextStyleInterFont.copyWith(
|
||||
fontSize: QuotasBannerStyles.messageTextSize,
|
||||
fontWeight: QuotasBannerStyles.messageFontWeight,
|
||||
color: QuotasBannerStyles.messageTextColor,
|
||||
const SizedBox(width: QuotasBannerStyles.iconPadding),
|
||||
Expanded(
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
octetQuota.getQuotaBannerTitle(context),
|
||||
style: QuotasBannerStyles.titleTextStyle,
|
||||
),
|
||||
const SizedBox(height: 8),
|
||||
if (!PlatformInfo.isWeb ||
|
||||
!_quotasController.isManageMyStorageIsEnabled)
|
||||
Text(
|
||||
appLocalizations.quotaBannerWarningSubtitleWithoutPremium,
|
||||
style: QuotasBannerStyles.subTitleTextStyle,
|
||||
)
|
||||
else
|
||||
Wrap(
|
||||
crossAxisAlignment: WrapCrossAlignment.center,
|
||||
children: [
|
||||
Text(
|
||||
'${appLocalizations.quotaBannerWarningSubtitleWithPremium} ',
|
||||
style: QuotasBannerStyles.subTitleTextStyle,
|
||||
),
|
||||
TMailButtonWidget.fromText(
|
||||
text: appLocalizations.manageMyStorage,
|
||||
backgroundColor: QuotasBannerStyles.backgroundColor,
|
||||
textStyle: QuotasBannerStyles.manageStorageButtonTextStyle,
|
||||
padding: EdgeInsets.zero,
|
||||
onTapActionCallback: () =>
|
||||
_quotasController.handleManageMyStorage(context),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
DefaultCloseButtonWidget(
|
||||
iconClose: _quotasController.imagePaths.icCloseDialog,
|
||||
onTapActionCallback: _quotasController.closeBanner,
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user