Update: 2026-06-25 03:28:59

This commit is contained in:
Hamza-Ayed
2026-06-25 03:28:59 +03:00
parent 85e85fe4d3
commit 89c1348f08
3 changed files with 188 additions and 73 deletions

View File

@@ -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),
),
],
),