sds
sdsunknown
dart
3 years ago
13 kB
9
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...