This commit is contained in:
hailin 2025-04-22 17:18:25 +08:00
parent b8cf74b3d6
commit 89964988ce
1 changed files with 23 additions and 6 deletions

View File

@ -10,6 +10,7 @@ import { Metadata } from "next"
import { cookies, headers } from "next/headers" import { cookies, headers } from "next/headers"
import { redirect } from "next/navigation" import { redirect } from "next/navigation"
import initTranslations from "@/lib/i18n"; import initTranslations from "@/lib/i18n";
export const metadata: Metadata = { export const metadata: Metadata = {
@ -75,7 +76,8 @@ export default async function Login({
if (error) { if (error) {
console.log(`[login page]==================> ${localeString}/login?message=${error.message}`); console.log(`[login page]==================> ${localeString}/login?message=${error.message}`);
return redirect(`/${localeString}/login?message=${error.message}`) // return redirect(`/${localeString}/login?message=${error.message}`)
return redirect(`/${localeString}/login?message=signupNotAllowed&email=${encodeURIComponent(email)}`)
} }
const { data: homeWorkspace, error: homeWorkspaceError } = await supabase const { data: homeWorkspace, error: homeWorkspaceError } = await supabase
@ -130,11 +132,12 @@ export default async function Login({
const domainMatch = emailDomainWhitelist?.includes(email.split("@")[1]) const domainMatch = emailDomainWhitelist?.includes(email.split("@")[1])
const emailMatch = emailWhitelist?.includes(email) const emailMatch = emailWhitelist?.includes(email)
if (!domainMatch && !emailMatch) { if (!domainMatch && !emailMatch) {
//const errorMessage = String(t("login.signupNotAllowed", { email })) // ← 这是字符串 const errorMessage = String(t("login.signupNotAllowed", { email })) // ← 这是字符串
console.log(`[login page] SignUp======>Redirecting to workspace:, ${errorMessage}`) console.log(`[login page] SignUp======>Redirecting to workspace:, ${errorMessage}`)
return redirect( return redirect(
`/${localeString}/login?message=Email ${email} is not allowed to sign up.` // `/${localeString}/login?message=Email ${email} is not allowed to sign up.`
// `/${localeString}/login?message=${errorMessage}` `/${localeString}/login?message=signupNotAllowed&email=${encodeURIComponent(email)}`
) )
} }
} }
@ -184,7 +187,14 @@ export default async function Login({
return redirect(`/${localeString}/login?message=Check email to reset password`) return redirect(`/${localeString}/login?message=Check email to reset password`)
} }
let translatedMessage: string | null = null;
if (searchParams.message === "signupNotAllowed") {
translatedMessage = t("login.signupNotAllowed", { email: searchParams.email });
} else if (searchParams.message) {
translatedMessage = t(`login.${searchParams.message}`);
}
return ( return (
<div className="flex w-full flex-1 flex-col justify-center gap-2 px-8 sm:max-w-md"> <div className="flex w-full flex-1 flex-col justify-center gap-2 px-8 sm:max-w-md">
@ -235,11 +245,18 @@ export default async function Login({
</button> </button>
</div> </div>
{searchParams?.message && ( {/* {searchParams?.message && (
<p className="bg-foreground/10 text-foreground mt-4 p-4 text-center"> <p className="bg-foreground/10 text-foreground mt-4 p-4 text-center">
{searchParams.message} {searchParams.message}
</p> </p>
)} )} */}
{translatedMessage && (
<p className="bg-foreground/10 text-foreground mt-4 p-4 text-center">
{translatedMessage}
</p>
)}
</form> </form>
</div> </div>
) )