-
Notifications
You must be signed in to change notification settings - Fork 273
Expand file tree
/
Copy pathpage.tsx
More file actions
48 lines (43 loc) · 1.48 KB
/
page.tsx
File metadata and controls
48 lines (43 loc) · 1.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import { auth } from "@/auth";
import { LoginForm } from "../login/components/loginForm";
import { redirect } from "next/navigation";
import { getProviders } from "@/auth";
import { Footer } from "@/app/components/footer";
import { createLogger } from "@sourcebot/logger";
const logger = createLogger('signup-page');
interface LoginProps {
searchParams: {
callbackUrl?: string;
error?: string;
}
}
export default async function Signup({ searchParams }: LoginProps) {
const session = await auth();
if (session) {
logger.info("Session found in signup page, redirecting to home");
return redirect("/");
}
const providers = getProviders();
const providerData = providers
.map((provider) => {
if (typeof provider === "function") {
const providerInfo = provider()
return { id: providerInfo.id, name: providerInfo.name }
} else {
return { id: provider.id, name: provider.name }
}
});
return (
<div className="flex flex-col min-h-screen bg-backgroundSecondary">
<div className="flex-1 flex flex-col items-center p-4 sm:p-12 w-full">
<LoginForm
callbackUrl={searchParams.callbackUrl}
error={searchParams.error}
providers={providerData}
context="signup"
/>
</div>
<Footer />
</div>
)
}