Skip to content

Commit

Permalink
chore(ui): SignIn hook up field translations (#3802)
Browse files Browse the repository at this point in the history
  • Loading branch information
alexcarpenter authored Jul 25, 2024
1 parent cfeb5dd commit 17c7321
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 2 deletions.
2 changes: 2 additions & 0 deletions .changeset/plenty-buttons-repair.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
---
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,16 @@ export function EmailOrUsernameOrPhoneNumberField({
name = undefined,
labelEmailOrUsername = 'Email address or username',
labelPhoneNumber = 'Phone number',
toggleLabelEmailOrUsername = 'Use email or username',
toggleLabelPhoneNumber = 'Use phone',
locationBasedCountryIso,
toggleDescription = 'Toggle between email or username, and phone.',
...props
}: {
labelEmailOrUsername?: React.ReactNode;
labelPhoneNumber?: React.ReactNode;
toggleLabelEmailOrUsername?: string;
toggleLabelPhoneNumber?: string;
locationBasedCountryIso: React.ComponentProps<typeof PhoneNumberField>['locationBasedCountryIso'];
toggleDescription?: string;
} & Omit<React.ComponentProps<typeof Common.Input>, 'type'>) {
Expand All @@ -30,7 +34,7 @@ export function EmailOrUsernameOrPhoneNumberField({
className={link({ size: 'sm', disabled: props.disabled, focusVisible: 'data-attribute' })}
>
<span className='sr-only'>{toggleDescription}</span>
{showPhoneNumberField ? 'Use email or username' : 'Use phone'}
{showPhoneNumberField ? toggleLabelEmailOrUsername : toggleLabelPhoneNumber}
</ToggleButton>
);

Expand Down
6 changes: 5 additions & 1 deletion packages/ui/src/common/phone-number-or-username-field.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,16 @@ export function PhoneNumberOrUsernameField({
labelPhoneNumber = 'Phone number',
labelUsername = 'Username',
locationBasedCountryIso,
toggleLabelPhoneNumber = 'Use phone',
toggleLabelUsername = 'Use username',
toggleDescription = 'Toggle between phone and username.',
...props
}: {
labelUsername?: React.ReactNode;
labelPhoneNumber?: React.ReactNode;
locationBasedCountryIso: React.ComponentProps<typeof PhoneNumberField>['locationBasedCountryIso'];
toggleLabelPhoneNumber?: string;
toggleLabelUsername?: string;
toggleDescription?: string;
} & Omit<React.ComponentProps<typeof Common.Input>, 'type'>) {
const [showUsernameField, setShowUsernameField] = React.useState(false);
Expand All @@ -30,7 +34,7 @@ export function PhoneNumberOrUsernameField({
className={link({ size: 'sm', disabled: props.disabled, focusVisible: 'data-attribute' })}
>
<span className='sr-only'>{toggleDescription}</span>
{showUsernameField ? 'Use phone' : 'Use username'}
{showUsernameField ? toggleLabelPhoneNumber : toggleLabelUsername}
</ToggleButton>
);

Expand Down
16 changes: 16 additions & 0 deletions packages/ui/src/components/sign-in/sign-in.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,7 @@ export function SignInComponentLoaded() {
{emailAddressEnabled && !phoneNumberEnabled && !usernameEnabled ? (
<EmailField
name='identifier'
label={t('formFieldLabel__emailAddress')}
disabled={isGlobalLoading}
required
/>
Expand All @@ -172,6 +173,7 @@ export function SignInComponentLoaded() {
{usernameEnabled && !emailAddressEnabled && !phoneNumberEnabled ? (
<UsernameField
name='identifier'
label={t('formFieldLabel__username')}
disabled={isGlobalLoading}
required
/>
Expand All @@ -180,6 +182,7 @@ export function SignInComponentLoaded() {
{phoneNumberEnabled && !emailAddressEnabled && !usernameEnabled ? (
<PhoneNumberField
name='identifier'
label={t('formFieldLabel__phoneNumber')}
disabled={isGlobalLoading}
locationBasedCountryIso={locationBasedCountryIso}
required
Expand All @@ -189,6 +192,7 @@ export function SignInComponentLoaded() {
{emailAddressEnabled && usernameEnabled && !phoneNumberEnabled ? (
<EmailOrUsernameField
name='identifier'
label={t('formFieldLabel__emailAddress_username')}
disabled={isGlobalLoading}
required
/>
Expand All @@ -197,6 +201,10 @@ export function SignInComponentLoaded() {
{emailAddressEnabled && phoneNumberEnabled && !usernameEnabled ? (
<EmailOrPhoneNumberField
name='identifier'
labelEmail={t('formFieldLabel__emailAddress')}
toggleLabelEmail={t('signIn.start.actionLink__use_email')}
labelPhoneNumber={t('formFieldLabel__phoneNumber')}
toggleLabelPhoneNumber={t('signIn.start.actionLink__use_phone')}
disabled={isGlobalLoading}
locationBasedCountryIso={locationBasedCountryIso}
required
Expand All @@ -206,6 +214,10 @@ export function SignInComponentLoaded() {
{usernameEnabled && phoneNumberEnabled && !emailAddressEnabled ? (
<PhoneNumberOrUsernameField
name='identifier'
labelPhoneNumber={t('formFieldLabel__phoneNumber')}
toggleLabelPhoneNumber={t('signIn.start.actionLink__use_phone')}
labelUsername={t('formFieldLabel__username')}
toggleLabelUsername={t('signIn.start.actionLink__use_username')}
disabled={isGlobalLoading}
locationBasedCountryIso={locationBasedCountryIso}
required
Expand All @@ -215,6 +227,10 @@ export function SignInComponentLoaded() {
{emailAddressEnabled && usernameEnabled && phoneNumberEnabled ? (
<EmailOrUsernameOrPhoneNumberField
name='identifier'
labelEmailOrUsername={t('formFieldLabel__emailAddress_username')}
toggleLabelEmailOrUsername={t('signIn.start.actionLink__use_email_username')}
labelPhoneNumber={t('formFieldLabel__phoneNumber')}
toggleLabelPhoneNumber={t('signIn.start.actionLink__use_phone')}
disabled={isGlobalLoading}
locationBasedCountryIso={locationBasedCountryIso}
required
Expand Down

0 comments on commit 17c7321

Please sign in to comment.