TF-2101 Add email_recovery form
(cherry picked from commit 194dc8f4772f4aa178b479217d3814892b32b94e)
This commit is contained in:
@@ -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,
|
||||||
|
);
|
||||||
|
}
|
||||||
+49
@@ -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),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
+49
@@ -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),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
+47
@@ -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),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user