I18n auth (#23)

* New translation keys in en-US locale

* New translation keys in de-DE locale

* New translation keys in fr-FR locale

* New translation keys in it-IT locale

* New translation keys in pl-PL locale

* New translation keys in pt-PT locale

* New translation keys in tr-TR locale

* Add translation keys in app/auth

* Fix build

---------

Co-authored-by: Lokowitz <marvinlokowitz@gmail.com>
This commit is contained in:
vlalx
2025-05-17 19:11:56 +03:00
committed by GitHub
parent d2d84be99a
commit b8ed5ac1c5
23 changed files with 727 additions and 115 deletions

View File

@@ -37,6 +37,7 @@ import { formatAxiosError } from "@app/lib/api";;
import { createApiClient } from "@app/lib/api";
import { useEnvContext } from "@app/hooks/useEnvContext";
import { cleanRedirect } from "@app/lib/cleanRedirect";
import { useTranslations } from "next-intl";
const FormSchema = z.object({
email: z.string().email({ message: "Invalid email address" }),
@@ -71,6 +72,8 @@ export default function VerifyEmailForm({
},
});
const t = useTranslations();
async function onSubmit(data: z.infer<typeof FormSchema>) {
setIsSubmitting(true);
@@ -114,8 +117,7 @@ export default function VerifyEmailForm({
toast({
variant: "default",
title: "Verification code resent",
description:
"We've resent a verification code to your email address. Please check your inbox.",
description: "We've resent a verification code to your email address. Please check your inbox.",
});
}
@@ -126,9 +128,9 @@ export default function VerifyEmailForm({
<div>
<Card className="w-full max-w-md">
<CardHeader>
<CardTitle>Verify Email</CardTitle>
<CardTitle>{t('emailVerify')}</CardTitle>
<CardDescription>
Enter the verification code sent to your email address.
{t('emailVerifyDescription')}
</CardDescription>
</CardHeader>
<CardContent>
@@ -142,7 +144,7 @@ export default function VerifyEmailForm({
name="email"
render={({ field }) => (
<FormItem>
<FormLabel>Email</FormLabel>
<FormLabel>{t('email')}</FormLabel>
<FormControl>
<Input
{...field}
@@ -159,7 +161,7 @@ export default function VerifyEmailForm({
name="pin"
render={({ field }) => (
<FormItem>
<FormLabel>Verification Code</FormLabel>
<FormLabel>{t('verificationCode')}</FormLabel>
<FormControl>
<div className="flex justify-center">
<InputOTP
@@ -197,8 +199,7 @@ export default function VerifyEmailForm({
</FormControl>
<FormMessage />
<FormDescription>
We sent a verification code to your
email address.
{t('verificationCodeEmailSent')}
</FormDescription>
</FormItem>
)}
@@ -226,7 +227,7 @@ export default function VerifyEmailForm({
{isSubmitting && (
<Loader2 className="mr-2 h-4 w-4 animate-spin" />
)}
Submit
{t('emailVerifySubmit')}
</Button>
</form>
</Form>
@@ -241,8 +242,8 @@ export default function VerifyEmailForm({
disabled={isResending}
>
{isResending
? "Resending..."
: "Didn't receive a code? Click here to resend"}
? t('emailVerifyResendProgress')
: t('emailVerifyResend')}
</Button>
</div>
</div>