129 lines
4.9 KiB
Dart
129 lines
4.9 KiB
Dart
import 'package:SEFER/constant/style.dart';
|
|
import 'package:SEFER/controller/auth/register_controller.dart';
|
|
import 'package:SEFER/views/widgets/elevated_btn.dart';
|
|
import 'package:SEFER/views/widgets/my_scafold.dart';
|
|
import 'package:SEFER/views/widgets/my_textField.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:get/get.dart';
|
|
|
|
class SmsSignupEgypt extends StatelessWidget {
|
|
SmsSignupEgypt({super.key});
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
Get.put(RegisterController());
|
|
return MyScafolld(
|
|
title: 'Phone Check'.tr,
|
|
body: [
|
|
GetBuilder<RegisterController>(builder: (registerController) {
|
|
return ListView(
|
|
children: [
|
|
// Logo at the top
|
|
Padding(
|
|
padding: const EdgeInsets.only(bottom: 20.0),
|
|
child: Image.asset(
|
|
'assets/images/logo.png', // Make sure you have a logo image in your assets folder
|
|
height: 100,
|
|
),
|
|
),
|
|
// Message to the driver
|
|
Padding(
|
|
padding:
|
|
const EdgeInsets.symmetric(horizontal: 16.0, vertical: 8.0),
|
|
child: Text(
|
|
'We need your phone number to contact you and to help you.'
|
|
.tr,
|
|
textAlign: TextAlign.center,
|
|
style: AppStyle.title,
|
|
),
|
|
),
|
|
// Enter phone number text
|
|
Padding(
|
|
padding:
|
|
const EdgeInsets.symmetric(horizontal: 16.0, vertical: 8.0),
|
|
child: Text(
|
|
'Enter your phone number'.tr,
|
|
textAlign: TextAlign.center,
|
|
style: AppStyle.title,
|
|
),
|
|
),
|
|
// Phone number input field with country code dropdown
|
|
Padding(
|
|
padding: const EdgeInsets.all(16.0),
|
|
child: !registerController.isSent
|
|
? Form(
|
|
key: registerController.formKey3,
|
|
child: Row(
|
|
children: [
|
|
// Country Code Dropdown
|
|
DropdownButton<String>(
|
|
value: registerController.selectedCountryCode,
|
|
items: registerController.countryCodes
|
|
.map((String code) {
|
|
return DropdownMenuItem<String>(
|
|
value: code,
|
|
child: Text(code),
|
|
);
|
|
}).toList(),
|
|
onChanged: (String? newValue) {
|
|
registerController.updateCountryCode(newValue!);
|
|
},
|
|
),
|
|
// Spacer
|
|
const SizedBox(width: 10),
|
|
// Phone Number Input Field
|
|
Expanded(
|
|
child: MyTextForm(
|
|
controller:
|
|
registerController.phoneController,
|
|
label: 'Enter your phone number'.tr,
|
|
hint: 'Enter your phone number'.tr,
|
|
type: TextInputType.phone),
|
|
),
|
|
],
|
|
),
|
|
)
|
|
: Container(
|
|
decoration: AppStyle.boxDecoration1,
|
|
child: Padding(
|
|
padding: const EdgeInsets.all(8.0),
|
|
child: Text(
|
|
registerController.phoneController.text,
|
|
style: AppStyle.title,
|
|
),
|
|
),
|
|
),
|
|
),
|
|
const SizedBox(
|
|
height: 10,
|
|
),
|
|
if (registerController.isSent)
|
|
Padding(
|
|
padding: const EdgeInsets.all(16.0),
|
|
child: Form(
|
|
key: registerController.formKey3,
|
|
child: MyTextForm(
|
|
controller: registerController.verifyCode,
|
|
label: '5 digit'.tr,
|
|
hint: '5 digit'.tr,
|
|
type: TextInputType.number),
|
|
),
|
|
),
|
|
// Submit button
|
|
MyElevatedButton(
|
|
onPressed: () async {
|
|
!registerController.isSent
|
|
? await registerController.sendOtpMessage()
|
|
: await registerController.verifySMSCode();
|
|
},
|
|
title: 'Submit'.tr,
|
|
),
|
|
],
|
|
);
|
|
}),
|
|
],
|
|
isleading: false,
|
|
);
|
|
}
|
|
}
|