Files
workavia-mail-front/lib/features/email_recovery/presentation/email_recovery_view.dart
T
hieubt 25cc14a188 TF-2101 Add email_recovery dialog
(cherry picked from commit a62d5c7e2c4558ef932b2bae753652a4554bd5a4)
2024-01-08 14:25:26 +01:00

86 lines
3.6 KiB
Dart

import 'package:core/presentation/views/responsive/responsive_widget.dart';
import 'package:core/utils/platform_info.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:pointer_interceptor/pointer_interceptor.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_view_styles.dart';
import 'package:tmail_ui_user/features/email_recovery/presentation/widgets/email_recovery_form/email_recovery_form_desktop_builder.dart';
import 'package:tmail_ui_user/features/email_recovery/presentation/widgets/email_recovery_form/email_recovery_form_mobile_builder.dart';
import 'package:tmail_ui_user/features/email_recovery/presentation/widgets/email_recovery_form/email_recovery_form_tablet_builder.dart';
class EmailRecoveryView extends GetWidget<EmailRecoveryController> {
@override
final controller = Get.find<EmailRecoveryController>();
EmailRecoveryView({super.key});
@override
Widget build(BuildContext context) {
return PointerInterceptor(
child: ResponsiveWidget(
responsiveUtils: controller.responsiveUtils,
mobile: Scaffold(
backgroundColor: PlatformInfo.isWeb ? Colors.black.withAlpha(24) : Colors.black38,
body: GestureDetector(
onTap: () => FocusScope.of(context).unfocus(),
child: SafeArea(
bottom: false,
left: false,
right: false,
child: Container(
decoration: EmailRecoveryViewStyles.backgroundDecorationMobile,
margin: EmailRecoveryViewStyles.backgroundMarginMobile,
child: ClipRRect(
borderRadius: EmailRecoveryViewStyles.clipRRectBorderRadiusMobile,
child: SafeArea(
child: EmailRecoveryFormMobileBuilder(),
),
),
),
),
),
),
tablet: Scaffold(
backgroundColor: Colors.black.withAlpha(24),
body: GestureDetector(
onTap: () => FocusScope.of(context).unfocus(),
child: Align(
alignment: Alignment.bottomCenter,
child: Container(
decoration: EmailRecoveryViewStyles.backgroundDecorationMobile,
width: double.infinity,
height: controller.responsiveUtils.getSizeScreenHeight(context) * 0.7,
child: ClipRRect(
borderRadius: EmailRecoveryViewStyles.clipRRectBorderRadiusMobile,
child: EmailRecoveryFormTabletBuilder(),
),
),
),
),
),
desktop: Scaffold(
backgroundColor: Colors.black.withAlpha(24),
body: GestureDetector(
onTap:() => FocusScope.of(context).unfocus(),
child: Center(
child: Card(
color: Colors.transparent,
shape: EmailRecoveryViewStyles.shapeBorderDesktop,
child: Container(
decoration: EmailRecoveryViewStyles.backgroundDecorationDesktop,
width: controller.responsiveUtils.getSizeScreenWidth(context) * 0.38,
height: controller.responsiveUtils.getSizeScreenHeight(context) * 0.6,
child: ClipRRect(
borderRadius: EmailRecoveryViewStyles.clipRRectBorderRadiusDesktop,
child: EmailRecoveryFormDesktopBuilder(),
),
),
),
),
),
),
),
);
}
}