TF-1014: add quotas out of storage

This commit is contained in:
ManhNTX
2022-11-10 10:35:00 +07:00
committed by Dat H. Pham
parent 75495e7d1f
commit 181915f071
15 changed files with 262 additions and 152 deletions
@@ -0,0 +1,85 @@
import 'dart:ui';
import 'package:core/core.dart';
import 'package:flutter/widgets.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
enum QuotasState {
normal,
runningOutOfStorage,
runOutOfStorage;
Color getColorProgress() {
switch(this) {
case QuotasState.normal:
return AppColor.primaryColor;
case QuotasState.runningOutOfStorage:
return AppColor.colorProgressQuotasWarning;
case QuotasState.runOutOfStorage:
return AppColor.colorOutOfStorageQuotasWarning;
}
}
Color getColorQuotasFooterText() {
switch(this) {
case QuotasState.normal:
case QuotasState.runningOutOfStorage:
return AppColor.loginTextFieldHintColor;
case QuotasState.runOutOfStorage:
return AppColor.colorOutOfStorageQuotasWarning;
}
}
String getQuotasFooterText(BuildContext context, num usedCapacity, num softLimitCapacity) {
switch(this) {
case QuotasState.normal:
case QuotasState.runningOutOfStorage:
return AppLocalizations.of(context).textQuotasUsed(
usedCapacity.toDouble(),
softLimitCapacity.toDouble(),
);
case QuotasState.runOutOfStorage:
return AppLocalizations.of(context).textQuotasOutOfStorage;
}
}
String getIconWarningBanner(ImagePaths imagePaths) {
switch(this) {
case QuotasState.normal:
case QuotasState.runningOutOfStorage:
return imagePaths.icQuotasWarning;
case QuotasState.runOutOfStorage:
return imagePaths.icQuotasOutOfStorage;
}
}
Color getBackgroundColorWarningBanner() {
switch(this) {
case QuotasState.normal:
case QuotasState.runningOutOfStorage:
return AppColor.colorBackgroundQuotasWarning.withOpacity(0.12);
case QuotasState.runOutOfStorage:
return AppColor.colorOutOfStorageQuotasWarning.withOpacity(0.12);
}
}
String getTitleWarningBanner(BuildContext context, num progress) {
switch(this) {
case QuotasState.normal:
case QuotasState.runningOutOfStorage:
return AppLocalizations.of(context).textQuotasRunningOutOfStorageTitle(progress.toDouble() * 100);
case QuotasState.runOutOfStorage:
return AppLocalizations.of(context).textQuotasRunOutOfStorageTitle;
}
}
String getContentWarningBanner(BuildContext context) {
switch(this) {
case QuotasState.normal:
case QuotasState.runningOutOfStorage:
return AppLocalizations.of(context).textQuotasRunningOutOfStorageContent;
case QuotasState.runOutOfStorage:
return AppLocalizations.of(context).textQuotasRunOutOfStorageContent;
}
}
}