From 38577cdd2619f0cd1f9b2c1086f14af8a114b649 Mon Sep 17 00:00:00 2001 From: Nathnael Date: Wed, 8 Jul 2026 11:05:46 +0000 Subject: [PATCH] fix --- .../portal/src/pages/accounts/SignupPage.tsx | 435 +++++++++--------- 1 file changed, 212 insertions(+), 223 deletions(-) diff --git a/apps/edr-freight-web/portal/src/pages/accounts/SignupPage.tsx b/apps/edr-freight-web/portal/src/pages/accounts/SignupPage.tsx index 1b13f7cfc..5746eefd5 100644 --- a/apps/edr-freight-web/portal/src/pages/accounts/SignupPage.tsx +++ b/apps/edr-freight-web/portal/src/pages/accounts/SignupPage.tsx @@ -242,270 +242,259 @@ export default function SignupPage() { return ( -
- { stage === "form" ? ( -
-
-

- Create account -

- < p className = "text-sm leading-relaxed text-gray-500" > - Register to access EDR Freight services. +
+ {stage === "form" ? ( + +
+

+ Create account +

+

+ Register to access EDR Freight services.

-
+
- < Stack gap = "sm" > - - + + - < TextInput - label = "Last name" - placeholder = "Doe" - required - disabled = { sending } - error = { errors.lastName?.en?.message } - {...register("lastName.en") } + - + - < TextInput - label = "Email" - type = "email" - placeholder = "john@example.com" - required - disabled = { sending } - error = { errors.email?.message } - {...register("email") } + - < ControlledPhoneField - control = { control } - name = "phone" - label = "Phone" - required - disabled = { sending } - /> + -
- - Send verification code via - - < SegmentedControl - fullWidth - disabled = { sending } - value = { channel } - onChange = {(v) => setChannel(v as OtpChannel) -} -data = { - [ - { - value: "phone", - label: ( - - Phone - +
+ + Send verification code via + + setChannel(v as OtpChannel)} + data={[ + { + value: "phone", + label: ( + + Phone + ), -}, -{ - value: "email", - label: ( - - Email - + }, + { + value: "email", + label: ( + + Email + ), }, ]} /> -
+
- < div > - + -{ - passwordValue.length > 0 ? ( -
- { - passwordRequirements.map((req) => { - const met = req.test(passwordValue); - return ( -
- 0 ? ( +
+ {passwordRequirements.map((req) => { + const met = req.test(passwordValue); + return ( +
+ - { - met?( - - ): ( - - ) - } - - < span - className = {`text-xs ${met ? "text-primary" : "text-gray-500"}` -} + {met ? ( + + ) : ( + + )} + + - { req.label } - -
+ {req.label} + +
); })} -
+
) : null} -
+
- < PasswordInput -label = "Confirm password" -placeholder = "Re-enter your password" -required -disabled = { sending } -error = { errors.confirmPassword?.message } -{...register("confirmPassword") } + -{ - error ? ( - } + {error ? ( + } > - { error } - + {error} + ) : null} - + Continue + - < p className = "text-center text-sm text-gray-500" > - Already have an account ? { " "} - < button - type = "button" -onClick = {() => navigate("/login")} -className = "font-semibold text-primary hover:underline" - > - Sign In - -

- - - ) : ( - -
- - - -
- < div className = "space-y-1.5 text-center" > -

- Verify your { otpChannel === "email" ? "email" : "phone" } -

- < p className = "text-sm leading-relaxed text-gray-500" > - We sent a 6 - digit code to{ " " } - - { otpChannel === "email" - ? maskEmail(pendingData?.email ?? "") - : maskPhone(pendingData?.phone ?? "")} - - .Enter it to finish creating your account. +

+ Already have an account ?{" "} +

- +
+ + ) : ( + +
+ + + +
+
+

+ Verify your {otpChannel === "email" ? "email" : "phone"} +

+

+ We sent a 6 - digit code to{" "} + + {otpChannel === "email" + ? maskEmail(pendingData?.email ?? "") + : maskPhone(pendingData?.phone ?? "")} + + .Enter it to finish creating your account. +

+
-{ - otpError ? ( - } + {otpError ? ( + } > - { otpError } - + {otpError} + ) : null} - - - Verification code - - < PinInput -length = { 6} -type = "number" -oneTimeCode -value = { otpCode } -placeholder = "0" -disabled = { verifying } -styles = {{ input: { textAlign: "center" } }} -onChange = { setOtpCode } - /> - + + + Verification code + + + - < Button -color = "edr-green" -fullWidth -loading = { verifying } -disabled = { verifying || otpCode.trim().length !== 6} -onClick = { confirmOtp } - > - Verify & amp; create account - + - < div className = "flex items-center justify-between" > - - < Button -variant = "subtle" -color = "edr-green" -leftSection = {< RotateCw size = { 14} />} -disabled = { resendIn > 0 || sending || verifying} -onClick = { resendOtp } - > - { resendIn > 0 ? `Resend in ${resendIn}s` : "Resend code"} - - -
+ Back + + + + )} - -
+ + ); }