Skip to content

Commit 5ab54ba

Browse files
committed
Improving Sign Up
1 parent 1b25781 commit 5ab54ba

File tree

2 files changed

+83
-75
lines changed

2 files changed

+83
-75
lines changed

frontend/src/common/utils/i18n/resources/en/auth.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
"signin.title": "Log in",
3131
"signin.subtitle": "Login to access MedReport AI",
3232
"signup": "Sign Up",
33+
"signup.button": "Create Account",
3334
"signout": "Sign Out",
3435
"loading": "Loading...",
3536
"signin.loading": "Signing in...",

frontend/src/pages/Auth/SignUp/components/SignUpForm.tsx

Lines changed: 82 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,6 @@ const PasswordGuidelines = () => {
7373

7474
return (
7575
<div className="ls-signup-form__password-guidelines">
76-
<div className="ls-signup-form__password-guidelines-header">
77-
{t('password-requirements', { ns: 'auth' })}
78-
</div>
7976
{renderGuideline(hasMinLength, t('validation.min-length', { length: 8, ns: 'auth' }))}
8077
{renderGuideline(hasUppercase, t('validation.uppercase', { ns: 'auth' }))}
8178
{renderGuideline(hasNumber, t('validation.number', { ns: 'auth' }))}
@@ -182,85 +179,95 @@ const SignUpForm = ({ className, testid = 'form-signup' }: SignUpFormProps): JSX
182179
<div>{t('signup', { ns: 'auth' })}</div>
183180
</HeaderRow>
184181

185-
<Input
186-
name="email"
187-
label={t('label.email', { ns: 'auth' })}
188-
labelPlacement="stacked"
189-
maxlength={50}
190-
autocomplete="email"
191-
className="ls-signup-form__input"
192-
ref={focusInput}
193-
data-testid={`${testid}-field-email`}
194-
type="email"
195-
/>
182+
<div className="ls-signup-form__content">
183+
<h2 className="ls-signup-form__title">{t('signup', { ns: 'auth' })}</h2>
184+
<p className="ls-signup-form__subtitle">
185+
{t('please-fill-details', {
186+
ns: 'auth',
187+
defaultValue: 'Please fill in your personal details',
188+
})}
189+
</p>
190+
191+
<Input
192+
name="firstName"
193+
label={t('label.first-name', { ns: 'auth' })}
194+
labelPlacement="stacked"
195+
maxlength={50}
196+
autocomplete="given-name"
197+
className="ls-signup-form__input"
198+
data-testid={`${testid}-field-first-name`}
199+
/>
196200

197-
<Input
198-
name="firstName"
199-
label={t('label.first-name', { ns: 'auth' })}
200-
labelPlacement="stacked"
201-
maxlength={50}
202-
autocomplete="given-name"
203-
className="ls-signup-form__input"
204-
data-testid={`${testid}-field-first-name`}
205-
/>
201+
<Input
202+
name="lastName"
203+
label={t('label.last-name', { ns: 'auth' })}
204+
labelPlacement="stacked"
205+
maxlength={50}
206+
autocomplete="family-name"
207+
className="ls-signup-form__input"
208+
data-testid={`${testid}-field-last-name`}
209+
/>
206210

207-
<Input
208-
name="lastName"
209-
label={t('label.last-name', { ns: 'auth' })}
210-
labelPlacement="stacked"
211-
maxlength={50}
212-
autocomplete="family-name"
213-
className="ls-signup-form__input"
214-
data-testid={`${testid}-field-last-name`}
215-
/>
211+
<Input
212+
name="email"
213+
label={t('label.email', { ns: 'auth' })}
214+
labelPlacement="stacked"
215+
maxlength={50}
216+
autocomplete="email"
217+
className="ls-signup-form__input"
218+
ref={focusInput}
219+
data-testid={`${testid}-field-email`}
220+
type="email"
221+
/>
216222

217-
<Input
218-
type="password"
219-
name="password"
220-
label={t('label.password', { ns: 'auth' })}
221-
labelPlacement="stacked"
222-
maxlength={30}
223-
autocomplete="new-password"
224-
className="ls-signup-form__input"
225-
data-testid={`${testid}-field-password`}
226-
>
227-
<IonInputPasswordToggle slot="end"></IonInputPasswordToggle>
228-
</Input>
223+
<Input
224+
type="password"
225+
name="password"
226+
label={t('label.password', { ns: 'auth' })}
227+
labelPlacement="stacked"
228+
maxlength={30}
229+
autocomplete="new-password"
230+
className="ls-signup-form__input"
231+
data-testid={`${testid}-field-password`}
232+
>
233+
<IonInputPasswordToggle slot="end"></IonInputPasswordToggle>
234+
</Input>
229235

230-
<PasswordGuidelines />
236+
<Input
237+
type="password"
238+
name="confirmPassword"
239+
label={t('label.confirm-password', { ns: 'auth' })}
240+
labelPlacement="stacked"
241+
maxlength={30}
242+
autocomplete="new-password"
243+
className="ls-signup-form__input"
244+
data-testid={`${testid}-field-confirm-password`}
245+
>
246+
<IonInputPasswordToggle slot="end"></IonInputPasswordToggle>
247+
</Input>
231248

232-
<Input
233-
type="password"
234-
name="confirmPassword"
235-
label={t('label.confirm-password', { ns: 'auth' })}
236-
labelPlacement="stacked"
237-
maxlength={30}
238-
autocomplete="new-password"
239-
className="ls-signup-form__input"
240-
data-testid={`${testid}-field-confirm-password`}
241-
>
242-
<IonInputPasswordToggle slot="end"></IonInputPasswordToggle>
243-
</Input>
249+
<PasswordGuidelines />
244250

245-
<IonButton
246-
type="submit"
247-
color="primary"
248-
className="ls-signup-form__button"
249-
expand="block"
250-
disabled={isSubmitting || !dirty || isSignUpLoading || isLoading}
251-
data-testid={`${testid}-button-submit`}
252-
>
253-
{t('signup', { ns: 'auth' })}
254-
</IonButton>
251+
<IonButton
252+
type="submit"
253+
color="primary"
254+
className="ls-signup-form__button"
255+
expand="block"
256+
disabled={isSubmitting || !dirty || isSignUpLoading || isLoading}
257+
data-testid={`${testid}-button-submit`}
258+
>
259+
{t('signup.button', { ns: 'auth' })}
260+
</IonButton>
255261

256-
<IonRow className="ion-text-center ion-padding-top">
257-
<IonCol>
258-
<IonText color="medium">
259-
{t('already-have-account', { ns: 'auth' })}{' '}
260-
<a href="/auth/signin">{t('signin', { ns: 'auth' })}</a>
261-
</IonText>
262-
</IonCol>
263-
</IonRow>
262+
<IonRow className="ion-text-center ion-padding-top">
263+
<IonCol>
264+
<IonText color="medium">
265+
{t('already-have-account', { ns: 'auth' })}{' '}
266+
<a href="/auth/signin">{t('signin', { ns: 'auth' })}</a>
267+
</IonText>
268+
</IonCol>
269+
</IonRow>
270+
</div>
264271
</Form>
265272
)}
266273
</Formik>

0 commit comments

Comments
 (0)