From 140311d7419fa2192e5149df8f589c3c3733a399 Mon Sep 17 00:00:00 2001 From: Mohamed Bassem Date: Thu, 10 Jul 2025 20:50:19 +0000 Subject: feat: Support forget and reset password --- apps/web/app/forgot-password/page.tsx | 22 +++++++++++++++++++++ apps/web/app/reset-password/page.tsx | 36 +++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 apps/web/app/forgot-password/page.tsx create mode 100644 apps/web/app/reset-password/page.tsx (limited to 'apps/web/app') diff --git a/apps/web/app/forgot-password/page.tsx b/apps/web/app/forgot-password/page.tsx new file mode 100644 index 00000000..1faa8967 --- /dev/null +++ b/apps/web/app/forgot-password/page.tsx @@ -0,0 +1,22 @@ +import { redirect } from "next/navigation"; +import KarakeepLogo from "@/components/KarakeepIcon"; +import ForgotPasswordForm from "@/components/signin/ForgotPasswordForm"; +import { getServerAuthSession } from "@/server/auth"; + +export default async function ForgotPasswordPage() { + const session = await getServerAuthSession(); + if (session) { + redirect("/"); + } + + return ( +
+
+
+ +
+ +
+
+ ); +} diff --git a/apps/web/app/reset-password/page.tsx b/apps/web/app/reset-password/page.tsx new file mode 100644 index 00000000..1d05606e --- /dev/null +++ b/apps/web/app/reset-password/page.tsx @@ -0,0 +1,36 @@ +import { redirect } from "next/navigation"; +import KarakeepLogo from "@/components/KarakeepIcon"; +import ResetPasswordForm from "@/components/signin/ResetPasswordForm"; +import { getServerAuthSession } from "@/server/auth"; + +interface ResetPasswordPageProps { + searchParams: { + token?: string; + }; +} + +export default async function ResetPasswordPage({ + searchParams, +}: ResetPasswordPageProps) { + const session = await getServerAuthSession(); + if (session) { + redirect("/"); + } + + const { token } = searchParams; + + if (!token) { + redirect("/signin"); + } + + return ( +
+
+
+ +
+ +
+
+ ); +} -- cgit v1.3-1-g0d28