From bdc52dcc48cd688d5d76037adc6aa6b7fde41405 Mon Sep 17 00:00:00 2001 From: Milo Schwartz Date: Sun, 13 Oct 2024 14:50:07 -0400 Subject: [PATCH] organize componenst a lib --- src/app/auth/login/page.tsx | 4 ++-- src/app/auth/signup/page.tsx | 4 ++-- src/app/auth/verify-email/page.tsx | 5 ++--- src/app/page.tsx | 2 +- src/components/{ => auth}/LoginForm.tsx | 0 src/components/{ => auth}/SignupForm.tsx | 0 src/components/{ => auth}/VerifyEmailForm.tsx | 2 +- src/lib/auth/isValidUser.ts | 16 ++++++++++++++++ src/lib/{ => auth}/verifySession.ts | 0 9 files changed, 24 insertions(+), 9 deletions(-) rename src/components/{ => auth}/LoginForm.tsx (100%) rename src/components/{ => auth}/SignupForm.tsx (100%) rename src/components/{ => auth}/VerifyEmailForm.tsx (99%) create mode 100644 src/lib/auth/isValidUser.ts rename src/lib/{ => auth}/verifySession.ts (100%) diff --git a/src/app/auth/login/page.tsx b/src/app/auth/login/page.tsx index a6adba77..622b0b03 100644 --- a/src/app/auth/login/page.tsx +++ b/src/app/auth/login/page.tsx @@ -1,5 +1,5 @@ -import LoginForm from "@app/components/LoginForm"; -import { verifySession } from "@app/lib/verifySession"; +import LoginForm from "@app/components/auth/LoginForm"; +import { verifySession } from "@app/lib/auth/verifySession"; import { redirect } from "next/navigation"; export default async function Page({ diff --git a/src/app/auth/signup/page.tsx b/src/app/auth/signup/page.tsx index 3f27a6ee..6e8036e6 100644 --- a/src/app/auth/signup/page.tsx +++ b/src/app/auth/signup/page.tsx @@ -1,5 +1,5 @@ -import SignupForm from "@app/components/SignupForm"; -import { verifySession } from "@app/lib/verifySession"; +import SignupForm from "@app/components/auth/SignupForm"; +import { verifySession } from "@app/lib/auth/verifySession"; import { redirect } from "next/navigation"; export default async function Page() { diff --git a/src/app/auth/verify-email/page.tsx b/src/app/auth/verify-email/page.tsx index 3745a78b..b0773d82 100644 --- a/src/app/auth/verify-email/page.tsx +++ b/src/app/auth/verify-email/page.tsx @@ -1,10 +1,9 @@ -import VerifyEmailForm from "@app/components/VerifyEmailForm"; -import { verifySession } from "@app/lib/verifySession"; +import VerifyEmailForm from "@app/components/auth/VerifyEmailForm"; +import { verifySession } from "@app/lib/auth/verifySession"; import { redirect } from "next/navigation"; export default async function Page() { const user = await verifySession(); - console.log(user) if (!user) { redirect("/"); diff --git a/src/app/page.tsx b/src/app/page.tsx index aa37a67c..b2a804cd 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -1,4 +1,4 @@ -import { verifySession } from "@app/lib/verifySession"; +import { verifySession } from "@app/lib/auth/verifySession"; import { LandingProvider } from "@app/providers/LandingProvider"; import { redirect } from "next/navigation"; diff --git a/src/components/LoginForm.tsx b/src/components/auth/LoginForm.tsx similarity index 100% rename from src/components/LoginForm.tsx rename to src/components/auth/LoginForm.tsx diff --git a/src/components/SignupForm.tsx b/src/components/auth/SignupForm.tsx similarity index 100% rename from src/components/SignupForm.tsx rename to src/components/auth/SignupForm.tsx diff --git a/src/components/VerifyEmailForm.tsx b/src/components/auth/VerifyEmailForm.tsx similarity index 99% rename from src/components/VerifyEmailForm.tsx rename to src/components/auth/VerifyEmailForm.tsx index d399b49a..976bf62c 100644 --- a/src/components/VerifyEmailForm.tsx +++ b/src/components/auth/VerifyEmailForm.tsx @@ -31,7 +31,7 @@ import api from "@app/api"; import { AxiosResponse } from "axios"; import { VerifyEmailResponse } from "@server/routers/auth"; import { Loader2 } from "lucide-react"; -import { Alert, AlertDescription } from "./ui/alert"; +import { Alert, AlertDescription } from "../ui/alert"; import { useToast } from "@app/hooks/use-toast"; import { useRouter } from "next/navigation"; diff --git a/src/lib/auth/isValidUser.ts b/src/lib/auth/isValidUser.ts new file mode 100644 index 00000000..40e39bd5 --- /dev/null +++ b/src/lib/auth/isValidUser.ts @@ -0,0 +1,16 @@ +import { GetUserResponse } from "@server/routers/user"; +import { verifySession } from "./verifySession"; + +export async function isValidUser(): Promise { + const user = await verifySession(); + + if (!user) { + return null; + } + + if (!user.emailVerified) { + return null; + } + + return user; +} diff --git a/src/lib/verifySession.ts b/src/lib/auth/verifySession.ts similarity index 100% rename from src/lib/verifySession.ts rename to src/lib/auth/verifySession.ts