diff --git a/src/app/(pages)/api/player/isbeingtracked/route.ts b/src/app/(pages)/api/player/isbeingtracked/route.ts new file mode 100644 index 0000000..427fafb --- /dev/null +++ b/src/app/(pages)/api/player/isbeingtracked/route.ts @@ -0,0 +1,20 @@ +import { NextRequest, NextResponse } from "next/server"; +import { connectMongo } from "@/common/mongo"; +import { IPlayer, PlayerModel } from "@/common/schema/player-schema"; + +export async function GET(request: NextRequest) { + const id = request.nextUrl.searchParams.get("id"); + if (id == null) { + return NextResponse.json( + { error: "Unknown player. Missing: ?id=" }, + { status: 400 }, + ); + } + await connectMongo(); // Connect to Mongo + + // Fetch the player and return their statistic history + let foundPlayer: IPlayer | null = await PlayerModel.findById(id); + return NextResponse.json({ + tracked: foundPlayer != null, + }); +} diff --git a/src/components/player/player-header.tsx b/src/components/player/player-header.tsx index 42e13a5..3c382a4 100644 --- a/src/components/player/player-header.tsx +++ b/src/components/player/player-header.tsx @@ -8,6 +8,7 @@ import PlayerStats from "./player-stats"; import ScoreSaberPlayer from "@/common/model/player/impl/scoresaber-player"; import Tooltip from "@/components/tooltip"; import { ReactElement } from "react"; +import PlayerTrackedStatus from "@/components/player/player-tracked-status"; /** * Renders the change for a stat. @@ -114,7 +115,10 @@ export default function PlayerHeader({ player }: Props) {
{player.name}
+{player.name}
+