aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/app/new-user/page.tsx
diff options
context:
space:
mode:
authorGravatar Anshul Gupta <ansg191@anshulg.com> 2024-08-11 13:18:53 -0700
committerGravatar Anshul Gupta <ansg191@anshulg.com> 2024-08-11 13:18:53 -0700
commit18b7853ed8909c08bf7d545613dd111a3387a1ca (patch)
tree45fc90bc762f1de1154266d4aede37d209f3f81f /frontend/src/app/new-user/page.tsx
parentf35fb7715984148990b3195d7ea8c5b355223387 (diff)
parenta9ec4cdbdab6f8026128728c34afa3150663a18b (diff)
downloadibd-trader-18b7853ed8909c08bf7d545613dd111a3387a1ca.tar.gz
ibd-trader-18b7853ed8909c08bf7d545613dd111a3387a1ca.tar.zst
ibd-trader-18b7853ed8909c08bf7d545613dd111a3387a1ca.zip
Merge remote-tracking branch 'frontend/main'
Diffstat (limited to 'frontend/src/app/new-user/page.tsx')
-rw-r--r--frontend/src/app/new-user/page.tsx29
1 files changed, 29 insertions, 0 deletions
diff --git a/frontend/src/app/new-user/page.tsx b/frontend/src/app/new-user/page.tsx
new file mode 100644
index 0000000..57fcf82
--- /dev/null
+++ b/frontend/src/app/new-user/page.tsx
@@ -0,0 +1,29 @@
+import { Metadata } from "next";
+import { getSession, withPageAuthRequired } from "@auth0/nextjs-auth0";
+import { redirect, RedirectType } from "next/navigation";
+import { createUserServiceClient } from "@/client/client";
+import NewUserForm from "@/components/NewUserForm/NewUserForm";
+
+export const metadata: Metadata = {
+ title: "New User",
+};
+
+export default withPageAuthRequired(async function NewUser() {
+ const session = await getSession();
+ if (!session) {
+ redirect("/api/auth/login", RedirectType.replace);
+ }
+
+ const client = createUserServiceClient();
+ const { user } = await client.getUser({ subject: session.user["sub"] });
+ if (!user) {
+ throw new Error("User not found");
+ }
+
+ if (user.ibdUsername) {
+ // User already has IBD credentials
+ redirect("/dashboard", RedirectType.replace);
+ }
+
+ return <NewUserForm />;
+});