TF-2101 Add email_recovery form

(cherry picked from commit 194dc8f4772f4aa178b479217d3814892b32b94e)
This commit is contained in:
hieubt
2023-12-20 23:31:26 +07:00
committed by Dat H. Pham
parent 685356f710
commit f52467785b
4 changed files with 164 additions and 0 deletions
@@ -0,0 +1,19 @@
import 'package:flutter/material.dart';
class EmailRecoveryFormStyles {
static const double iconClosePositionTop = 7;
static const double iconClosePositionRight = 12;
static const EdgeInsetsGeometry padding = EdgeInsets.only(top: 16);
static const EdgeInsetsGeometry inputAreaPadding = EdgeInsets.all(20.0);
static const EdgeInsetsGeometry bottomAreaPadding = EdgeInsets.symmetric(
horizontal: 20,
vertical: 12,
);
static const TextStyle titleTextStyle = TextStyle(
fontSize: 20,
fontWeight: FontWeight.w700,
color: Colors.black,
);
}
@@ -0,0 +1,49 @@
import 'package:core/presentation/views/button/icon_button_web.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:get/get.dart';
import 'package:tmail_ui_user/features/email_recovery/presentation/email_recovery_controller.dart';
import 'package:tmail_ui_user/features/email_recovery/presentation/styles/email_recovery_form_styles.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
class EmailRecoveryFormDesktopBuilder extends GetWidget<EmailRecoveryController> {
@override
final controller = Get.find<EmailRecoveryController>();
EmailRecoveryFormDesktopBuilder({super.key});
@override
Widget build(BuildContext context) {
return Stack(
children: [
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
padding: EmailRecoveryFormStyles.padding,
alignment: Alignment.center,
child: Text(
AppLocalizations.of(context).recoverDeletedMessages,
style: EmailRecoveryFormStyles.titleTextStyle,
),
),
],
),
Positioned(
top: EmailRecoveryFormStyles.iconClosePositionTop,
right: EmailRecoveryFormStyles.iconClosePositionRight,
child: buildIconWeb(
icon: SvgPicture.asset(
controller.imagePaths.icClose,
fit: BoxFit.fill,
width: 24,
height: 24,
),
tooltip: AppLocalizations.of(context).close,
onTap: () => controller.closeView(context),
),
)
],
);
}
}
@@ -0,0 +1,49 @@
import 'package:core/presentation/views/button/icon_button_web.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:get/get.dart';
import 'package:tmail_ui_user/features/email_recovery/presentation/email_recovery_controller.dart';
import 'package:tmail_ui_user/features/email_recovery/presentation/styles/email_recovery_form_styles.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
class EmailRecoveryFormMobileBuilder extends GetWidget<EmailRecoveryController> {
@override
final controller = Get.find<EmailRecoveryController>();
EmailRecoveryFormMobileBuilder({super.key});
@override
Widget build(BuildContext context) {
return Stack(
children: [
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
padding: EmailRecoveryFormStyles.padding,
alignment: Alignment.center,
child: Text(
AppLocalizations.of(context).recoverDeletedMessages,
style: EmailRecoveryFormStyles.titleTextStyle,
),
),
],
),
Positioned(
top: EmailRecoveryFormStyles.iconClosePositionTop,
left: EmailRecoveryFormStyles.iconClosePositionRight,
child: buildIconWeb(
icon: SvgPicture.asset(
controller.imagePaths.icClose,
height: 24,
width: 24,
fit: BoxFit.fill,
),
tooltip: AppLocalizations.of(context).close,
onTap: () => controller.closeView(context),
),
)
],
);
}
}
@@ -0,0 +1,47 @@
import 'package:core/presentation/views/button/icon_button_web.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:get/get.dart';
import 'package:tmail_ui_user/features/email_recovery/presentation/email_recovery_controller.dart';
import 'package:tmail_ui_user/features/email_recovery/presentation/styles/email_recovery_form_styles.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
class EmailRecoveryFormTabletBuilder extends GetWidget<EmailRecoveryController> {
@override
final controller = Get.find<EmailRecoveryController>();
EmailRecoveryFormTabletBuilder({super.key});
@override
Widget build(BuildContext context) {
return Stack(
children: [
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
padding: EmailRecoveryFormStyles.padding,
alignment: Alignment.center,
child: Text(
AppLocalizations.of(context).recoverDeletedMessages,
style: EmailRecoveryFormStyles.titleTextStyle,
),
),
],
),
Positioned(
top: EmailRecoveryFormStyles.iconClosePositionTop,
right: EmailRecoveryFormStyles.iconClosePositionRight,
child: buildIconWeb(
icon: SvgPicture.asset(
controller.imagePaths.icClose,
fit: BoxFit.fill,
),
tooltip: AppLocalizations.of(context).close,
onTap: () => controller.closeView(context),
),
)
],
);
}
}