mirror of
https://github.com/andwati/zitadel.git
synced 2026-11-13 09:25:12 +00:00
feat(typescript): add i18n for input labels in Login V2 (#10233)
# Which Problems Are Solved - Most inputs have hardcoded label # How the Problems Are Solved - add usage of i18n library for every label - add labels to i18n translation files # Additional Changes - fixed key used in `device-code-form.tsx` by submit button - `v2-default.json` was update and contains all values from login app not only newly added key for labels. # Additional Context N.A --------- Co-authored-by: David Skewis <[email protected]> Co-authored-by: Max Peintner <[email protected]>
This commit is contained in:
co-authored by
David Skewis
Max Peintner
parent
6d0b7ed2aa
commit
832e78f9bc
@@ -161,7 +161,7 @@ export function ChangePasswordForm({
|
||||
{...register("password", {
|
||||
required: t("change.required.newPassword"),
|
||||
})}
|
||||
label="New Password"
|
||||
label={t("change.labels.newPassword")}
|
||||
error={errors.password?.message as string}
|
||||
data-testid="password-change-text-input"
|
||||
/>
|
||||
@@ -174,7 +174,7 @@ export function ChangePasswordForm({
|
||||
{...register("confirmPassword", {
|
||||
required: t("change.required.confirmPassword"),
|
||||
})}
|
||||
label="Confirm Password"
|
||||
label={t("change.labels.confirmPassword")}
|
||||
error={errors.confirmPassword?.message as string}
|
||||
data-testid="password-change-confirm-text-input"
|
||||
/>
|
||||
|
||||
@@ -66,7 +66,7 @@ export function DeviceCodeForm({ userCode }: { userCode?: string }) {
|
||||
type="text"
|
||||
autoComplete="one-time-code"
|
||||
{...register("userCode", { required: t("usercode.required.code") })}
|
||||
label="Code"
|
||||
label={t("usercode.labels.code")}
|
||||
data-testid="code-text-input"
|
||||
/>
|
||||
</div>
|
||||
@@ -89,7 +89,7 @@ export function DeviceCodeForm({ userCode }: { userCode?: string }) {
|
||||
data-testid="submit-button"
|
||||
>
|
||||
{loading && <Spinner className="mr-2 h-5 w-5" />}{" "}
|
||||
<Translated i18nKey="verify.submit" namespace="verify" />
|
||||
<Translated i18nKey="usercode.submit" namespace="device" />
|
||||
</Button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
@@ -69,7 +69,7 @@ export function LDAPUsernamePasswordForm({ idpId, link }: Props) {
|
||||
type="text"
|
||||
autoComplete="username"
|
||||
{...register("loginName", { required: t("required.username") })}
|
||||
label={t("username")}
|
||||
label={t("labels.username")}
|
||||
data-testid="username-text-input"
|
||||
/>
|
||||
|
||||
@@ -78,7 +78,7 @@ export function LDAPUsernamePasswordForm({ idpId, link }: Props) {
|
||||
type="password"
|
||||
autoComplete="password"
|
||||
{...register("password", { required: t("required.password") })}
|
||||
label={t("password")}
|
||||
label={t("labels.password")}
|
||||
data-testid="password-text-input"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -253,7 +253,7 @@ export function LoginOTP({
|
||||
<TextInput
|
||||
type="text"
|
||||
{...register("code", { required: t("verify.required.code") })}
|
||||
label="Code"
|
||||
label={t("verify.labels.code")}
|
||||
autoComplete="one-time-code"
|
||||
data-testid="code-text-input"
|
||||
/>
|
||||
|
||||
@@ -122,7 +122,7 @@ export function PasswordForm({
|
||||
type="password"
|
||||
autoComplete="password"
|
||||
{...register("password", { required: t("verify.required.password") })}
|
||||
label="Password"
|
||||
label={t("verify.labels.password")}
|
||||
data-testid="password-text-input"
|
||||
/>
|
||||
{!loginSettings?.hidePasswordReset && (
|
||||
|
||||
@@ -106,7 +106,7 @@ export function RegisterFormIDPIncomplete({
|
||||
autoComplete="firstname"
|
||||
required
|
||||
{...register("firstname", { required: t("required.firstname") })}
|
||||
label="First name"
|
||||
label={t("labels.firstname")}
|
||||
error={errors.firstname?.message as string}
|
||||
data-testid="firstname-text-input"
|
||||
/>
|
||||
@@ -117,7 +117,7 @@ export function RegisterFormIDPIncomplete({
|
||||
autoComplete="lastname"
|
||||
required
|
||||
{...register("lastname", { required: t("required.lastname") })}
|
||||
label="Last name"
|
||||
label={t("labels.lastname")}
|
||||
error={errors.lastname?.message as string}
|
||||
data-testid="lastname-text-input"
|
||||
/>
|
||||
@@ -128,7 +128,7 @@ export function RegisterFormIDPIncomplete({
|
||||
autoComplete="email"
|
||||
required
|
||||
{...register("email", { required: t("required.email") })}
|
||||
label="E-mail"
|
||||
label={t("labels.email")}
|
||||
error={errors.email?.message as string}
|
||||
data-testid="email-text-input"
|
||||
/>
|
||||
|
||||
@@ -134,7 +134,7 @@ export function RegisterForm({
|
||||
autoComplete="firstname"
|
||||
required
|
||||
{...register("firstname", { required: t("required.firstname") })}
|
||||
label="First name"
|
||||
label={t("labels.firstname")}
|
||||
error={errors.firstname?.message as string}
|
||||
data-testid="firstname-text-input"
|
||||
/>
|
||||
@@ -145,7 +145,7 @@ export function RegisterForm({
|
||||
autoComplete="lastname"
|
||||
required
|
||||
{...register("lastname", { required: t("required.lastname") })}
|
||||
label="Last name"
|
||||
label={t("labels.lastname")}
|
||||
error={errors.lastname?.message as string}
|
||||
data-testid="lastname-text-input"
|
||||
/>
|
||||
@@ -156,7 +156,7 @@ export function RegisterForm({
|
||||
autoComplete="email"
|
||||
required
|
||||
{...register("email", { required: t("required.email") })}
|
||||
label="E-mail"
|
||||
label={t("labels.email")}
|
||||
error={errors.email?.message as string}
|
||||
data-testid="email-text-input"
|
||||
/>
|
||||
|
||||
@@ -221,7 +221,7 @@ export function SetPasswordForm({
|
||||
{...register("code", {
|
||||
required: t("set.required.code"),
|
||||
})}
|
||||
label="Code"
|
||||
label={t("set.labels.code")}
|
||||
autoComplete="one-time-code"
|
||||
error={errors.code?.message as string}
|
||||
data-testid="code-text-input"
|
||||
@@ -236,7 +236,7 @@ export function SetPasswordForm({
|
||||
{...register("password", {
|
||||
required: t("set.required.newPassword"),
|
||||
})}
|
||||
label="New Password"
|
||||
label={t("set.labels.newPassword")}
|
||||
error={errors.password?.message as string}
|
||||
data-testid="password-set-text-input"
|
||||
/>
|
||||
@@ -249,7 +249,7 @@ export function SetPasswordForm({
|
||||
{...register("confirmPassword", {
|
||||
required: t("set.required.confirmPassword"),
|
||||
})}
|
||||
label="Confirm Password"
|
||||
label={t("set.labels.confirmPassword")}
|
||||
error={errors.confirmPassword?.message as string}
|
||||
data-testid="password-set-confirm-text-input"
|
||||
/>
|
||||
|
||||
@@ -120,7 +120,7 @@ export function SetRegisterPasswordForm({
|
||||
{...register("password", {
|
||||
required: t("password.required.password"),
|
||||
})}
|
||||
label="Password"
|
||||
label={t("password.labels.password")}
|
||||
error={errors.password?.message as string}
|
||||
data-testid="password-text-input"
|
||||
/>
|
||||
@@ -133,7 +133,7 @@ export function SetRegisterPasswordForm({
|
||||
{...register("confirmPassword", {
|
||||
required: t("password.required.confirmPassword"),
|
||||
})}
|
||||
label="Confirm Password"
|
||||
label={t("password.labels.confirmPassword")}
|
||||
error={errors.confirmPassword?.message as string}
|
||||
data-testid="password-confirm-text-input"
|
||||
/>
|
||||
|
||||
@@ -126,7 +126,7 @@ export function TotpRegister({
|
||||
<TextInput
|
||||
type="text"
|
||||
{...register("code", { required: t("set.required.code") })}
|
||||
label="Code"
|
||||
label={t("set.labels.code")}
|
||||
data-testid="code-text-input"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -86,16 +86,16 @@ export function UsernameForm({
|
||||
}
|
||||
}, []);
|
||||
|
||||
let inputLabel = "Loginname";
|
||||
let inputLabel = t("labels.loginname");
|
||||
if (
|
||||
loginSettings?.disableLoginWithEmail &&
|
||||
loginSettings?.disableLoginWithPhone
|
||||
) {
|
||||
inputLabel = "Username";
|
||||
inputLabel = t("labels.username");
|
||||
} else if (loginSettings?.disableLoginWithEmail) {
|
||||
inputLabel = "Username or phone number";
|
||||
inputLabel = t("labels.usernameOrPhoneNumber");
|
||||
} else if (loginSettings?.disableLoginWithPhone) {
|
||||
inputLabel = "Username or email";
|
||||
inputLabel = t("labels.usernameOrEmail");
|
||||
}
|
||||
|
||||
return (
|
||||
|
||||
@@ -139,7 +139,7 @@ export function VerifyForm({
|
||||
type="text"
|
||||
autoComplete="one-time-code"
|
||||
{...register("code", { required: t("verify.required.code") })}
|
||||
label="Code"
|
||||
label={t("verify.labels.code")}
|
||||
data-testid="code-text-input"
|
||||
/>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user