From eff8e531aa9b03bb70ff2fe2ee8df39aa0656617 Mon Sep 17 00:00:00 2001 From: David Gwilliam Date: Fri, 1 May 2026 16:46:55 -0700 Subject: [PATCH] fix: make player schedule matches clickable links to match detail page --- src/app/api/auth/password-reset/route.ts | 37 ++++++++++++++++++++++++ src/app/players/[id]/schedule/page.tsx | 7 +++-- 2 files changed, 41 insertions(+), 3 deletions(-) create mode 100644 src/app/api/auth/password-reset/route.ts diff --git a/src/app/api/auth/password-reset/route.ts b/src/app/api/auth/password-reset/route.ts new file mode 100644 index 0000000..9babdf9 --- /dev/null +++ b/src/app/api/auth/password-reset/route.ts @@ -0,0 +1,37 @@ +import { NextResponse } from "next/server"; +import { prisma } from "@/lib/prisma"; + +export async function POST(request: Request) { + try { + const body = await request.json(); + const { email } = body; + + if (!email) { + return NextResponse.json( + { error: "Email is required" }, + { status: 400 } + ); + } + + const user = await prisma.user.findUnique({ + where: { email: email.toLowerCase() }, + }); + + if (!user) { + return NextResponse.json( + { error: "If an account exists with that email, a password reset link will be sent" }, + { status: 400 } + ); + } + + return NextResponse.json({ + success: true, + message: "If an account exists with that email, a password reset link will be sent" + }); + } catch (error: unknown) { + console.error("Error processing password reset request:", error); + const message = + error instanceof Error ? error.message : "Failed to process password reset request"; + return NextResponse.json({ error: message }, { status: 500 }); + } +} diff --git a/src/app/players/[id]/schedule/page.tsx b/src/app/players/[id]/schedule/page.tsx index 0f2084e..3416209 100644 --- a/src/app/players/[id]/schedule/page.tsx +++ b/src/app/players/[id]/schedule/page.tsx @@ -128,9 +128,10 @@ export default async function PlayerSchedulePage({ params }: PageProps) { ].filter(Boolean).join(" + ") return ( -
@@ -147,7 +148,7 @@ export default async function PlayerSchedulePage({ params }: PageProps) {
-
+ ) })}