Update: 2026-06-25 03:28:59
This commit is contained in:
@@ -3,6 +3,7 @@ import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
|
||||
import '../../../constant/box_name.dart';
|
||||
import '../../../constant/links.dart';
|
||||
import '../../../controller/auth/syria/registration_controller.dart';
|
||||
import '../../../main.dart';
|
||||
|
||||
@@ -116,8 +117,17 @@ class RegistrationView extends StatelessWidget {
|
||||
if (v == null || v.isEmpty) {
|
||||
return 'Required field'.tr;
|
||||
}
|
||||
if (v.length != 11) {
|
||||
return 'National ID must be 11 digits'.tr;
|
||||
final country = box.read(BoxName.countryCode) ?? 'Jordan';
|
||||
int expected;
|
||||
if (country == 'Syria') {
|
||||
expected = 11;
|
||||
} else if (country == 'Egypt') {
|
||||
expected = 12;
|
||||
} else {
|
||||
expected = 10; // Jordan
|
||||
}
|
||||
if (v.length != expected) {
|
||||
return 'National ID must be $expected digits'.tr;
|
||||
}
|
||||
return null;
|
||||
},
|
||||
@@ -355,7 +365,9 @@ class RegistrationView extends StatelessWidget {
|
||||
|
||||
// STEP 3
|
||||
Widget _buildDocumentUploadStep(BuildContext ctx, RegistrationController c) {
|
||||
final String linkUpload =
|
||||
final String primaryLink =
|
||||
'${AppLink.server}/auth/syria/uploadImage.php';
|
||||
const String backupLink =
|
||||
'https://syria.intaleq.xyz/siro/auth/syria/uploadImage.php';
|
||||
|
||||
return GetBuilder<RegistrationController>(
|
||||
@@ -371,45 +383,51 @@ class RegistrationView extends StatelessWidget {
|
||||
_buildImagePickerBox(
|
||||
'National ID (Front)'.tr,
|
||||
ctrl.docUrls['id_front'],
|
||||
() async => await ctrl.choosImage(linkUpload, 'id_front'),
|
||||
() async =>
|
||||
await ctrl.choosImage(primaryLink, 'id_front', backupLink: backupLink),
|
||||
),
|
||||
_buildImagePickerBox(
|
||||
'National ID (Back)'.tr,
|
||||
ctrl.docUrls['id_back'],
|
||||
() async => await ctrl.choosImage(linkUpload, 'id_back'),
|
||||
() async =>
|
||||
await ctrl.choosImage(primaryLink, 'id_back', backupLink: backupLink),
|
||||
),
|
||||
_buildImagePickerBox(
|
||||
'Driver License (Front)'.tr,
|
||||
ctrl.docUrls['driver_license'],
|
||||
() async => await ctrl.choosImage(linkUpload, 'driver_license'),
|
||||
() async =>
|
||||
await ctrl.choosImage(primaryLink, 'driver_license', backupLink: backupLink),
|
||||
),
|
||||
if (box.read(BoxName.countryCode) == 'Syria')
|
||||
_buildImagePickerBox(
|
||||
'Driver License (Back)'.tr,
|
||||
ctrl.docUrls['driver_license_back'],
|
||||
() async =>
|
||||
await ctrl.choosImage(linkUpload, 'driver_license_back'),
|
||||
await ctrl.choosImage(primaryLink, 'driver_license_back', backupLink: backupLink),
|
||||
),
|
||||
_buildImagePickerBox(
|
||||
'Profile Picture'.tr,
|
||||
ctrl.docUrls['profile_picture'],
|
||||
() async => await ctrl.choosImage(linkUpload, 'profile_picture'),
|
||||
() async =>
|
||||
await ctrl.choosImage(primaryLink, 'profile_picture', backupLink: backupLink),
|
||||
),
|
||||
_buildImagePickerBox(
|
||||
ctrl.getCriminalRecordTitle(),
|
||||
ctrl.docUrls['criminal_record'],
|
||||
() async => await ctrl.choosImage(linkUpload, 'criminal_record'),
|
||||
() async =>
|
||||
await ctrl.choosImage(primaryLink, 'criminal_record', backupLink: backupLink),
|
||||
),
|
||||
_buildImagePickerBox(
|
||||
'Car Registration (Front)'.tr,
|
||||
ctrl.docUrls['car_license_front'],
|
||||
() async =>
|
||||
await ctrl.choosImage(linkUpload, 'car_license_front'),
|
||||
await ctrl.choosImage(primaryLink, 'car_license_front', backupLink: backupLink),
|
||||
),
|
||||
_buildImagePickerBox(
|
||||
'Car Registration (Back)'.tr,
|
||||
ctrl.docUrls['car_license_back'],
|
||||
() async => await ctrl.choosImage(linkUpload, 'car_license_back'),
|
||||
() async =>
|
||||
await ctrl.choosImage(primaryLink, 'car_license_back', backupLink: backupLink),
|
||||
),
|
||||
],
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user