gascom/lib/screens/log_in_screen.dart
Abdullah Salah 216efb8a83 first commit
2024-12-25 11:09:55 +03:00

145 lines
5.2 KiB
Dart

import 'package:auto_size_text/auto_size_text.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
import 'package:gascom/constants/app_theme.dart';
import 'package:gascom/screens/nfc_screen.dart';
import 'package:gascom/screens/otp_provider_screen.dart';
import 'package:gascom/widgets/app_button.dart';
import 'package:pinput/pinput.dart';
class LogInScreen extends StatefulWidget {
const LogInScreen({super.key});
@override
State<LogInScreen> createState() => _LogInScreenState();
}
class _LogInScreenState extends State<LogInScreen> {
@override
Widget build(BuildContext context) {
return Scaffold(
body: SafeArea(
child: ListView(
padding: const EdgeInsets.symmetric(horizontal: 25),
children: [
const SizedBox(height: 150),
Center(
child: SizedBox(
width: MediaQuery.sizeOf(context).width * 0.6,
child: SvgPicture.asset(
"assets/svgs/logo.svg",
semanticsLabel: 'Home',
),
),
),
const SizedBox(height: 50),
Center(
child: AutoSizeText(
"مرحبا بكم في كازكوم، يرجى ادخال رقم الترخيص الخاص بصاحب المولدة",
style: Theme.of(context).textTheme.bodyLarge,
textAlign: TextAlign.center,
minFontSize: 8,
),
),
Center(
child: AutoSizeText(
"أو قم بمسح رمز QR الموجود على البطاقة",
style: Theme.of(context).textTheme.bodyLarge,
textAlign: TextAlign.center,
minFontSize: 8,
),
),
const SizedBox(height: 35),
Row(
children: [
InkWell(
borderRadius: BorderRadius.circular(11),
onTap: () {
// TODO: Implement QR Code Scanner
},
child: Container(
width: 60,
height: 60,
padding: const EdgeInsets.all(12),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(11),
border: Border.all(
color: AppTheme.textColor,
width: 2,
),
),
child: SvgPicture.asset(
"assets/svgs/camera.svg",
semanticsLabel: 'QR Code',
),
),
),
const SizedBox(width: 15),
Expanded(
child: Container(
padding: const EdgeInsets.symmetric(vertical: 10, horizontal: 6),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(11),
border: Border.all(
color: AppTheme.textColor,
width: 2,
),
),
child: Directionality(
textDirection: TextDirection.ltr,
child: Pinput(
length: 5,
defaultPinTheme: PinTheme(
width: 30,
height: 35,
textStyle: Theme.of(context).textTheme.bodyLarge,
margin: const EdgeInsets.symmetric(horizontal: 5),
decoration: const BoxDecoration(
// color: AppTheme.textColor,
border: Border(
bottom: BorderSide(
color: AppTheme.textColor,
width: 1,
),
),
),
),
onCompleted: (value) {
Navigator.push(context, MaterialPageRoute(builder: (context) => OtpProviderScreen(
cardNumber: int.parse(value),
)));
},
),
),
),
),
],
),
const SizedBox(height: 50),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
SizedBox(
width: 180,
child: AppButton(
onPressed: () {
Navigator.push(context, MaterialPageRoute(
fullscreenDialog: true,
// builder: (context) => NewGeneratorScreen(),
builder: (context) => NfcScreen(),
));
},
label: "مولـدة جـــديــدة",
isElevated: false
),
),
],
),
],
),
)
);
}
}