From 218ead25ab1ff8ca4050e317000e58234d3d845a Mon Sep 17 00:00:00 2001 From: KMKoushik Date: Tue, 30 Apr 2024 09:11:43 +1000 Subject: [PATCH] Add is beta user --- .../20240429231118_add_is_beta_user/migration.sql | 2 ++ apps/web/prisma/schema.prisma | 1 + apps/web/src/app/(dashboard)/layout.tsx | 4 ++++ apps/web/src/app/wait-list/page.tsx | 15 +++++++++++++++ apps/web/src/server/auth.ts | 1 + 5 files changed, 23 insertions(+) create mode 100644 apps/web/prisma/migrations/20240429231118_add_is_beta_user/migration.sql create mode 100644 apps/web/src/app/wait-list/page.tsx diff --git a/apps/web/prisma/migrations/20240429231118_add_is_beta_user/migration.sql b/apps/web/prisma/migrations/20240429231118_add_is_beta_user/migration.sql new file mode 100644 index 0000000..da32103 --- /dev/null +++ b/apps/web/prisma/migrations/20240429231118_add_is_beta_user/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "User" ADD COLUMN "isBetaUser" BOOLEAN NOT NULL DEFAULT false; diff --git a/apps/web/prisma/schema.prisma b/apps/web/prisma/schema.prisma index 0d5e41c..73dce93 100644 --- a/apps/web/prisma/schema.prisma +++ b/apps/web/prisma/schema.prisma @@ -61,6 +61,7 @@ model User { email String? @unique emailVerified DateTime? image String? + isBetaUser Boolean @default(false) accounts Account[] sessions Session[] teamUsers TeamUser[] diff --git a/apps/web/src/app/(dashboard)/layout.tsx b/apps/web/src/app/(dashboard)/layout.tsx index c5b2b0a..4ddbd61 100644 --- a/apps/web/src/app/(dashboard)/layout.tsx +++ b/apps/web/src/app/(dashboard)/layout.tsx @@ -49,6 +49,10 @@ export default async function AuthenticatedDashboardLayout({ redirect("/"); } + if (!session.user.isBetaUser) { + redirect("/wait-list"); + } + return (
diff --git a/apps/web/src/app/wait-list/page.tsx b/apps/web/src/app/wait-list/page.tsx new file mode 100644 index 0000000..d913a48 --- /dev/null +++ b/apps/web/src/app/wait-list/page.tsx @@ -0,0 +1,15 @@ +import { Rocket } from "lucide-react"; + +export default async function Home() { + return ( +
+
+ +

You're on the Waitlist!

+

+ Hang tight, we'll get to you as soon as possible. +

+
+
+ ); +} diff --git a/apps/web/src/server/auth.ts b/apps/web/src/server/auth.ts index 122ade4..bc2bac0 100644 --- a/apps/web/src/server/auth.ts +++ b/apps/web/src/server/auth.ts @@ -23,6 +23,7 @@ declare module "next-auth" { interface Session extends DefaultSession { user: { id: number; + isBetaUser: boolean; // ...other properties // role: UserRole; } & DefaultSession["user"];