feat : update

This commit is contained in:
2026-10-05 18:47:41 +07:00 Unverified
parent d44a2597ba
commit 2f1fe0ab76
14 changed files with 311 additions and 38 deletions
+12 -4
View File
@@ -1,12 +1,14 @@
import { redirect } from "next/navigation";
import { SiteHeader } from "@/components/public/site-header";
import { isAuthorizedAdmin } from "@/lib/auth/authorization";
import { getCustomerSession } from "@/lib/auth/server";
import { getCustomerSession, isSudlohOidcEnabled } from "@/lib/auth/server";
import { safeAuthReturnPath } from "@/lib/auth/return-path";
import { AccountForm } from "./account-form";
import { SudlohSignInRedirect } from "./sudloh-sign-in-redirect";
export async function AccountPage({ mode, next, verified, verificationError }: {
export async function AccountPage({ mode, next, verified, verificationError, oidcError }: {
mode: "login" | "register"; next: unknown; verified?: boolean; verificationError?: boolean;
oidcError?: string;
}) {
const nextPath = safeAuthReturnPath(next);
const session = await getCustomerSession();
@@ -15,9 +17,15 @@ export async function AccountPage({ mode, next, verified, verificationError }: {
redirect(nextPath);
}
const siteKey = process.env.TURNSTILE_SITE_KEY ?? "";
if (process.env.NODE_ENV !== "development" && !siteKey) throw new Error("TURNSTILE_SITE_KEY is required");
const oidcEnabled = isSudlohOidcEnabled();
const oidcOnly = oidcEnabled && process.env.SUDLOH_OIDC_ONLY === "true";
if (mode === "login" && oidcEnabled && !oidcError) {
return <div className="min-h-svh"><SiteHeader /><SudlohSignInRedirect nextPath={nextPath} /></div>;
}
if (!oidcOnly && process.env.NODE_ENV !== "development" && !siteKey) throw new Error("TURNSTILE_SITE_KEY is required");
return <div className="min-h-svh"><SiteHeader /><main className="grid min-h-[calc(100svh-4rem)] place-items-center p-4">
<AccountForm mode={mode} siteKey={siteKey} nextPath={nextPath}
verified={verified} verificationError={verificationError} />
oidcEnabled={oidcEnabled} oidcOnly={oidcOnly}
verified={verified} verificationError={verificationError} oidcError={oidcError} />
</main></div>;
}