This commit is contained in:
hailin 2025-04-17 20:45:56 +08:00
parent 88e1ccf4a9
commit b289121bf8
3 changed files with 46 additions and 15 deletions

View File

@ -1,3 +1,4 @@
import { useTranslation } from 'next-i18next'
import { Brand } from "@/components/ui/brand"
import { Input } from "@/components/ui/input"
import { Label } from "@/components/ui/label"
@ -19,6 +20,8 @@ export default async function Login({
}: {
searchParams: { message: string }
}) {
const { t } = useTranslation()
const cookieStore = cookies()
const supabase = createServerClient<Database>(
process.env.NEXT_PUBLIC_SUPABASE_URL!,
@ -75,7 +78,7 @@ export default async function Login({
if (!homeWorkspace) {
throw new Error(
homeWorkspaceError?.message || "An unexpected error occurred"
homeWorkspaceError?.message || t('login.errorUnexpected')
)
}
@ -116,7 +119,7 @@ export default async function Login({
const emailMatch = emailWhitelist?.includes(email)
if (!domainMatch && !emailMatch) {
return redirect(
`/login?message=Email ${email} is not allowed to sign up.`
`/login?message=${t('login.emailNotAllowed', { email })}`
)
}
}
@ -138,10 +141,10 @@ export default async function Login({
return redirect(`/login?message=${error.message}`)
}
return redirect("/setup")
// USE IF YOU WANT TO SEND EMAIL VERIFICATION, ALSO CHANGE TOML FILE
// return redirect("/login?message=Check email to continue sign in process")
return redirect("/setup")
}
const handleResetPassword = async (formData: FormData) => {
@ -160,7 +163,7 @@ export default async function Login({
return redirect(`/login?message=${error.message}`)
}
return redirect("/login?message=Check email to reset password")
return redirect("/login?message=" + t('login.passwordResetMessage'))
}
return (
@ -172,43 +175,43 @@ export default async function Login({
<Brand />
<Label className="text-md mt-4" htmlFor="email">
Email
{t('login.email')}
</Label>
<Input
className="mb-3 rounded-md border bg-inherit px-4 py-2"
name="email"
placeholder="you@example.com"
placeholder={t('login.emailPlaceholder')}
required
/>
<Label className="text-md" htmlFor="password">
Password
{t('login.password')}
</Label>
<Input
className="mb-6 rounded-md border bg-inherit px-4 py-2"
type="password"
name="password"
placeholder="••••••••"
placeholder={t('login.passwordPlaceholder')}
/>
<SubmitButton className="mb-2 rounded-md bg-blue-700 px-4 py-2 text-white">
Login
{t('login.loginButton')}
</SubmitButton>
<SubmitButton
formAction={signUp}
className="border-foreground/20 mb-2 rounded-md border px-4 py-2"
>
Sign Up
{t('login.signUpButton')}
</SubmitButton>
<div className="text-muted-foreground mt-1 flex justify-center text-sm">
<span className="mr-1">Forgot your password?</span>
<span className="mr-1">{t('login.forgotPassword')}</span>
<button
formAction={handleResetPassword}
className="text-primary ml-1 underline hover:opacity-80"
>
Reset
{t('login.reset')}
</button>
</div>

View File

@ -7,5 +7,19 @@
"Enter API keys for each service you'd like to use.": "Enter API keys for each service you'd like to use.",
"Set API Keys (optional)": "Set API Keys (optional)",
"You are all set up!": "You are all set up!",
"Setup Complete": "Setup Complete"
"Setup Complete": "Setup Complete",
"login": {
"email": "Email",
"emailPlaceholder": "you@example.com",
"password": "Password",
"passwordPlaceholder": "••••••••",
"loginButton": "Login",
"signUpButton": "Sign Up",
"forgotPassword": "Forgot your password?",
"reset": "Reset",
"emailNotAllowed": "Email {{email}} is not allowed to sign up.",
"passwordResetMessage": "Check email to reset password",
"errorUnexpected": "An unexpected error occurred"
}
}

View File

@ -7,5 +7,19 @@
"Enter API keys for each service you'd like to use.": "输入您希望使用的每个服务的 API 密钥。",
"Set API Keys (optional)": "设置 API 密钥(可选)",
"You are all set up!": "设置完成!",
"Setup Complete": "设置完成"
"Setup Complete": "设置完成",
"login": {
"email": "电子邮件",
"emailPlaceholder": "you@example.com",
"password": "密码",
"passwordPlaceholder": "••••••••",
"loginButton": "登录",
"signUpButton": "注册",
"forgotPassword": "忘记密码?",
"reset": "重置",
"emailNotAllowed": "邮箱 {{email}} 不允许注册。",
"passwordResetMessage": "请检查邮箱以重置密码",
"errorUnexpected": "发生了意外错误"
}
}