diff --git a/.gitignore b/.gitignore index cb21b410..14355789 100644 --- a/.gitignore +++ b/.gitignore @@ -37,4 +37,5 @@ certs docker-compose.caddy.yml -uploads \ No newline at end of file +uploads + diff --git a/backend/server.js b/backend/server.js index 7b2763a0..2eab4db2 100644 --- a/backend/server.js +++ b/backend/server.js @@ -33,9 +33,11 @@ import { startSyncDeliveryOrderStatus, } from './controllers/DLOcontroller.js' // Import the periodic check + //Help Routes import routes from './routes/Help/index.js' + // Production-only delivery task scheduling if (process.env.SERVER_ENV === 'production') { checkForAvailableDrivers() @@ -49,6 +51,7 @@ import blogRouter from './routes/Blog.js' import commentRoutes from './routes/comments.js' import newsRoutes from './routes/newsRoutes.js' + // Error handling import { errorHandler, notFound } from './middlewares/errorMiddleware.js' diff --git a/frontend/src/Pages/delivery/DLDriverRegistrationForm.jsx b/frontend/src/Pages/delivery/DLDriverRegistrationForm.jsx index 418eb063..ff9b998f 100644 --- a/frontend/src/Pages/delivery/DLDriverRegistrationForm.jsx +++ b/frontend/src/Pages/delivery/DLDriverRegistrationForm.jsx @@ -272,369 +272,392 @@ const RegisterDriverForm = () => { return (
-
- Logo -

- Driver Registration Form -

-
-
- {/* Input fields for registration */} -
- - {errors.firstName && ( -

- {errors.firstName} -

- )} -
+
+ {/* New Login Section */} +
+
+

+ Do you have an account? +

+ +
+
+ +
+ Logo +

+ Driver Registration Form +

+ +
+ {/* Input fields for registration */} +
+ + {errors.firstName && ( +

+ {errors.firstName} +

+ )} +
-
- - {errors.lastName && ( -

- {errors.lastName} -

- )} -
+
+ + {errors.lastName && ( +

+ {errors.lastName} +

+ )} +
-
- -
+
+ +
-
- - {errors.email && ( -

- {errors.email} -

- )} -
+
+ + {errors.email && ( +

+ {errors.email} +

+ )} +
-
- - {errors.phone && ( -

- {errors.phone} -

- )} -
+
+ + {errors.phone && ( +

+ {errors.phone} +

+ )} +
-
- +
+ + + {errors.dateOfBirth && ( +

+ {errors.dateOfBirth} +

+ )} +
- {errors.dateOfBirth && ( -

- {errors.dateOfBirth} -

- )} -
+
+ + + {errors.idCardNumber && ( +

+ {errors.idCardNumber} +

+ )} +
-
- +
+ + {errors.licenseCardNumber && ( +

+ {errors.licenseCardNumber} +

+ )} +
- {errors.idCardNumber && ( -

- {errors.idCardNumber} -

- )} +
+ +
+ +
+ + + {errors.vehicleNumber && ( +

+ {errors.vehicleNumber} +

+ )} +
+ +
+ +
-
+ {/* ID Card Image Upload */} +
+ + handleFileChange( + e, + setIdCardImageUrl, + setPreviewIdCard, + 'idCard' + ) + } + className="mt-1 block w-full px-4 py-2 bg-gray-50 border rounded-lg" required /> - {errors.licenseCardNumber && ( -

- {errors.licenseCardNumber} -

+ {loading.idCard && ( +
+ + + + +
+ )} + {previewIdCard && ( + ID Card Preview )}
-
+ {/* License Image Upload */} +
+ + handleFileChange( + e, + setLicenseImageUrl, + setPreviewLicense, + 'license' + ) + } + className="mt-1 block w-full px-4 py-2 bg-gray-50 border rounded-lg" required /> + {loading.license && ( +
+ + + + +
+ )} + {previewLicense && ( + License Preview + )}
-
+ {/* Personal Image Upload */} +
+ + handleFileChange( + e, + setPersonalImageUrl, + setPreviewPersonal, + 'personal' + ) + } + className="mt-1 block w-full px-4 py-2 bg-gray-50 border rounded-lg" required /> - - {errors.vehicleNumber && ( -

- {errors.vehicleNumber} -

+ {loading.personal && ( +
+ + + + +
+ )} + {previewPersonal && ( + Personal Preview )}
-
- -
-
- - {/* ID Card Image Upload */} -
- - - handleFileChange( - e, - setIdCardImageUrl, - setPreviewIdCard, - 'idCard' - ) - } - className="mt-1 block w-full px-4 py-2 bg-gray-50 border rounded-lg" - required - /> - {loading.idCard && ( -
- - - - -
- )} - {previewIdCard && ( - ID Card Preview - )} -
- - {/* License Image Upload */} -
- - - handleFileChange( - e, - setLicenseImageUrl, - setPreviewLicense, - 'license' - ) - } - className="mt-1 block w-full px-4 py-2 bg-gray-50 border rounded-lg" - required - /> - {loading.license && ( -
- - - - -
- )} - {previewLicense && ( - License Preview + {successMessage && ( +

+ {successMessage} +

)} -
- {/* Personal Image Upload */} -
- - - handleFileChange( - e, - setPersonalImageUrl, - setPreviewPersonal, - 'personal' - ) +
- - {successMessage && ( -

- {successMessage} -

- )} - - - + ? 'Uploading...' + : 'Submit'} + + +
)