sds
sdsunknown
dart
2 years ago
13 kB
4
Indexable
import 'package:delivery_agrement/constant/app_color.dart'; import 'package:delivery_agrement/constant/app_image.dart'; import 'package:delivery_agrement/constant/app_string.dart'; import 'package:delivery_agrement/constant/appstring_textstyle.dart'; import 'package:delivery_agrement/custom_widget/cus_profile_field.dart'; import 'package:delivery_agrement/custom_widget/custom_button.dart'; import 'package:delivery_agrement/custom_widget/text_widget.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import '../custom_widget/custom_size_widget.dart'; import '../providers/signin_provider.dart'; class SignInScreen extends StatefulWidget { const SignInScreen({Key? key}) : super(key: key); @override State<SignInScreen> createState() => _SignInScreenState(); } class _SignInScreenState extends State<SignInScreen> { int screenSize = 1; @override Widget build(BuildContext context) { screenSize = ReturnScreenType(context); double height = MediaQuery.of(context).size.height; double width = MediaQuery.of(context).size.width; return Consumer<SignInProvider>( builder: (context, SignInProvider signInProvider, child) { return SafeArea( child: Scaffold( resizeToAvoidBottomInset: false, body: Form( key: signInProvider.signInKey, child: (screenSize == 1) ? Container( alignment: Alignment.center, child: Padding( padding: EdgeInsets.only( left: width / 20, right: width / 20, bottom: height / 5, ), child: SingleChildScrollView( child: Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, children: [ CustomText( text: AppString.systemDeliveryAgrement, textStyle: StringStyle.blcText5, ), Card( shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(10), ), elevation: 3, child: ClipRRect( borderRadius: BorderRadius.circular(10), child: Container( height: height / 3, width: screenSize == 1 ? width / 1.4 : screenSize == 2 ? width / 2 : width / 4, decoration: const BoxDecoration( image: DecorationImage( filterQuality: FilterQuality.high, image: AssetImage( AppImage.signInImage, ), fit: BoxFit.fill, ), ), ), ), ), const Align( alignment: Alignment.centerLeft, child: Padding( padding: EdgeInsets.only(bottom: 8.0), child: CustomText( text: AppString.signIn, ), ), ), CusProfileField( validator: (val) { if (val!.isEmpty) { return 'Please Enter your UserName'; } return null; }, controller: signInProvider.userController, width: width / 1.1, hintText: AppString.username, labelText: AppString.username, icon: const Icon(Icons.person), ), CusProfileField( validator: (val) { if (val!.isEmpty) { return 'Please Enter your password'; } return null; }, controller: signInProvider.passwordController, width: width / 1.1, hintText: AppString.password, labelText: AppString.password, icon: const Icon(Icons.lock), ), Align( alignment: Alignment.topRight, child: RichText( text: TextSpan( text: AppString.forgetPassword, style: StringStyle.pryText1, recognizer: TapGestureRecognizer() ..onTap = () {}, ), ), ), CustomButton( text: AppString.signIn, onTap: () { if (signInProvider .signInKey.currentState! .validate()) { signInProvider.login(context); } // if (signInProvider.signInKey.currentState! // .validate()) { // Navigator.pushNamed(context, '/'); // } }, color: AppColor.primary, width: width / 2.5, height: height / 18, ), ], ), ), ), ) : Center( child: Column( mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [ CustomText( text: AppString.systemDeliveryAgrement, textStyle: StringStyle.blcText5, ), Card( elevation: 3, child: Container( alignment: Alignment.center, height: height / 1.8, width: screenSize == 3 ? width / 1.5 : width / 1.2, child: Row( crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center, children: [ Expanded( child: Container( alignment: Alignment.center, decoration: const BoxDecoration( image: DecorationImage( filterQuality: FilterQuality.high, image: AssetImage( AppImage.signInImage, ), fit: BoxFit.fill, ), ), ), ), Expanded( child: Padding( padding: const EdgeInsets.all(8.0), child: Column( crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center, children: [ const CustomText( text: AppString.signIn, ), CusProfileField( validator: (val) { if (val!.isEmpty) { return 'Please Enter yor UserName'; } return null; }, containtWidget: Container(), controller: signInProvider.userController, hintText: AppString.username, labelText: AppString.username, icon: const Icon(Icons.person), ), CusProfileField( validator: (val) { if (val!.isEmpty) { return 'Please Enter yor password'; } return null; }, containtWidget: Container(), controller: signInProvider.passwordController, hintText: AppString.password, labelText: AppString.password, icon: const Icon(Icons.lock), ), Align( alignment: Alignment.topRight, child: RichText( text: TextSpan( text: AppString.forgetPassword, style: StringStyle.pryText1, recognizer: TapGestureRecognizer() ..onTap = () {}, ), ), ), Padding( padding: const EdgeInsets.only(top: 10), child: CustomButton( text: AppString.signIn, onTap: () { if (signInProvider .signInKey.currentState! .validate()) { signInProvider.login(context); } }, color: AppColor.primary, width: width / 2.5, height: height / 18, ), ), ], ), ), ), ], ), ), ), ], ), ), ), ), ); }); } }
Editor is loading...