From c60895635057738a4fb399f60f6f125b28b4f809 Mon Sep 17 00:00:00 2001 From: Fernando Date: Wed, 11 Feb 2026 20:22:41 -0500 Subject: [PATCH 1/6] add metadata to club app --- apps/club/src/app/layout.tsx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/apps/club/src/app/layout.tsx b/apps/club/src/app/layout.tsx index 548afcd3a..5fb9e1133 100644 --- a/apps/club/src/app/layout.tsx +++ b/apps/club/src/app/layout.tsx @@ -26,6 +26,12 @@ export const metadata: Metadata = { "UCF's largest hackathon and software engineering organization", url: "https://club.knighthacks.org", siteName: "Knight Hacks", + images: [ + { + url: "https://blade.knighthacks.org/banner.png", + alt: "Knight Hacks Banner", + }, + ], }, }; From 8e44c9723d46c67e7d67ce1b03e44797e53edf7c Mon Sep 17 00:00:00 2001 From: Fernando Date: Wed, 11 Feb 2026 20:22:55 -0500 Subject: [PATCH 2/6] add metadata to guild app --- apps/guild/src/app/layout.tsx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/apps/guild/src/app/layout.tsx b/apps/guild/src/app/layout.tsx index 1612939a7..ee75487ed 100644 --- a/apps/guild/src/app/layout.tsx +++ b/apps/guild/src/app/layout.tsx @@ -15,6 +15,12 @@ export const metadata: Metadata = { "View the Guild Collective of Knight Hacks, a community of technologists at the University of Central Florida.", url: "https://guild.knighthacks.org", siteName: "Knight Hacks", + images: [ + { + url: "https://blade.knighthacks.org/banner.png", + alt: "Knight Hacks Banner", + }, + ], }, }; From a51fc8403f058be398d4b83201fe805276370405 Mon Sep 17 00:00:00 2001 From: Fernando Date: Wed, 11 Feb 2026 20:23:26 -0500 Subject: [PATCH 3/6] add metadata to blade --- .../src/app/admin/banquet-raffle/page.tsx | 6 ++++++ .../blade/src/app/admin/forms/[slug]/page.tsx | 6 ++++++ .../app/admin/hackathon/control-room/page.tsx | 6 ++++++ .../src/app/admin/roles/configure/page.tsx | 6 ++++++ .../blade/src/app/admin/roles/manage/page.tsx | 6 ++++++ apps/blade/src/app/forms/[formName]/page.tsx | 19 +++++++++++++++++++ .../application/[hackathon-id]/page.tsx | 6 ++++++ apps/blade/src/app/judge/dashboard/page.tsx | 6 ++++++ apps/blade/src/app/judge/results/page.tsx | 2 +- .../blade/src/app/member/application/page.tsx | 6 ++++++ apps/blade/src/app/sponsor/page.tsx | 7 +++++++ 11 files changed, 75 insertions(+), 1 deletion(-) diff --git a/apps/blade/src/app/admin/banquet-raffle/page.tsx b/apps/blade/src/app/admin/banquet-raffle/page.tsx index ba58bed54..5a52c894b 100644 --- a/apps/blade/src/app/admin/banquet-raffle/page.tsx +++ b/apps/blade/src/app/admin/banquet-raffle/page.tsx @@ -1,3 +1,4 @@ +import type { Metadata } from "next"; import { redirect } from "next/navigation"; import { eq, gt } from "drizzle-orm"; @@ -10,6 +11,11 @@ import { SIGN_IN_PATH } from "~/consts"; import { api } from "~/trpc/server"; import RaffleDraw from "./components/raffle-draw"; +export const metadata: Metadata = { + title: "Blade | Banquet Raffle", + description: "Draw a raffle winner", +}; + export default async function Raffle() { const session = await auth(); if (!session) { diff --git a/apps/blade/src/app/admin/forms/[slug]/page.tsx b/apps/blade/src/app/admin/forms/[slug]/page.tsx index b1190a336..94c83a193 100644 --- a/apps/blade/src/app/admin/forms/[slug]/page.tsx +++ b/apps/blade/src/app/admin/forms/[slug]/page.tsx @@ -1,3 +1,4 @@ +import type { Metadata } from "next"; import { redirect } from "next/navigation"; import { appRouter } from "@forge/api"; @@ -7,6 +8,11 @@ import { extractProcedures } from "~/lib/utils"; import { api } from "~/trpc/server"; import { EditorClient } from "./client"; +export const metadata: Metadata = { + title: "Blade | Edit Form", + description: "Edit Form.", +}; + export default async function FormEditorPage({ params, }: { diff --git a/apps/blade/src/app/admin/hackathon/control-room/page.tsx b/apps/blade/src/app/admin/hackathon/control-room/page.tsx index 444b54c06..bf29218bf 100644 --- a/apps/blade/src/app/admin/hackathon/control-room/page.tsx +++ b/apps/blade/src/app/admin/hackathon/control-room/page.tsx @@ -1,3 +1,4 @@ +import type { Metadata } from "next"; import { redirect } from "next/navigation"; import { auth } from "@forge/auth"; @@ -5,6 +6,11 @@ import { auth } from "@forge/auth"; import { api, HydrateClient } from "~/trpc/server"; import ControlRoomClient from "./_components/control-room-client"; +export const metadata: Metadata = { + title: "Blade | Hackathon Control-Room", + description: "Control room for current hackathon", +}; + export default async function ControlRoom() { const session = await auth(); if (!session) { diff --git a/apps/blade/src/app/admin/roles/configure/page.tsx b/apps/blade/src/app/admin/roles/configure/page.tsx index 1e39181a9..5fd437ead 100644 --- a/apps/blade/src/app/admin/roles/configure/page.tsx +++ b/apps/blade/src/app/admin/roles/configure/page.tsx @@ -1,3 +1,4 @@ +import type { Metadata } from "next"; import { redirect } from "next/navigation"; import { ShieldPlus } from "lucide-react"; @@ -10,6 +11,11 @@ import { api } from "~/trpc/server"; import RoleEdit from "./_components/roleedit"; import RoleTable from "./_components/roletable"; +export const metadata: Metadata = { + title: "Blade | Role Configuration", + description: "Configure Knight Hacks roles", +}; + export default async function Roles() { const session = await auth(); if (!session) { diff --git a/apps/blade/src/app/admin/roles/manage/page.tsx b/apps/blade/src/app/admin/roles/manage/page.tsx index c26e075a6..4486b2c14 100644 --- a/apps/blade/src/app/admin/roles/manage/page.tsx +++ b/apps/blade/src/app/admin/roles/manage/page.tsx @@ -1,8 +1,14 @@ +import type { Metadata } from "next"; import { redirect } from "next/navigation"; import { api } from "~/trpc/server"; import RoleAssign from "./roleassign"; +export const metadata: Metadata = { + title: "Blade | Manage Roles", + description: "Manage Knight Hacks roles.", +}; + export default async function ManageRoles() { const hasAccess = await api.roles.hasPermission({ or: ["ASSIGN_ROLES"], diff --git a/apps/blade/src/app/forms/[formName]/page.tsx b/apps/blade/src/app/forms/[formName]/page.tsx index 1964ded62..e983d960d 100644 --- a/apps/blade/src/app/forms/[formName]/page.tsx +++ b/apps/blade/src/app/forms/[formName]/page.tsx @@ -1,3 +1,4 @@ +import type { Metadata } from "next"; import { redirect } from "next/navigation"; import { XCircle } from "lucide-react"; import { stringify } from "superjson"; @@ -12,6 +13,24 @@ import { api, HydrateClient } from "~/trpc/server"; import FormNotFound from "./_components/form-not-found"; import { FormResponderWrapper } from "./_components/form-responder-client"; +export async function generateMetadata({ + params, +}: { + params: { formName: string }; +}): Promise { + try { + const form = await api.forms.getForm({ slug_name: params.formName }); + + return { + title: `${form.name}`, + }; + } catch { + return { + title: "Blade | Form Not Found", + }; + } +} + function serializeSearchParams( searchParams: Record, ) { diff --git a/apps/blade/src/app/hacker/application/[hackathon-id]/page.tsx b/apps/blade/src/app/hacker/application/[hackathon-id]/page.tsx index 48465e18d..20a7f0d5d 100644 --- a/apps/blade/src/app/hacker/application/[hackathon-id]/page.tsx +++ b/apps/blade/src/app/hacker/application/[hackathon-id]/page.tsx @@ -1,3 +1,4 @@ +import type { Metadata } from "next"; import Link from "next/link"; import { redirect } from "next/navigation"; @@ -6,6 +7,11 @@ import { auth, signIn } from "@forge/auth/server"; import { api } from "~/trpc/server"; import { HackerFormPage } from "../_components/hacker-application-form"; +export const metadata: Metadata = { + title: "Blade | Hacker Application", + description: "Application to be a hacker", +}; + export default async function HackerApplicationPage({ params, }: { diff --git a/apps/blade/src/app/judge/dashboard/page.tsx b/apps/blade/src/app/judge/dashboard/page.tsx index 29b30ca7f..ecefb77a6 100644 --- a/apps/blade/src/app/judge/dashboard/page.tsx +++ b/apps/blade/src/app/judge/dashboard/page.tsx @@ -1,3 +1,4 @@ +import type { Metadata } from "next"; import { redirect } from "next/navigation"; import { AlertTriangle, Trophy } from "lucide-react"; @@ -15,6 +16,11 @@ import { Separator } from "@forge/ui/separator"; import { api } from "~/trpc/server"; import { ProjectsTable } from "../_components/projects-table"; +export const metadata: Metadata = { + title: "Blade | Judge Dashboard", + description: "Judging dashboard for current hackathon.", +}; + export default async function Page() { const isJudge = await api.auth.getJudgeStatus(); const isAdmin = await api.auth.getAdminStatus(); diff --git a/apps/blade/src/app/judge/results/page.tsx b/apps/blade/src/app/judge/results/page.tsx index 2ddce1dab..c68d5a5eb 100644 --- a/apps/blade/src/app/judge/results/page.tsx +++ b/apps/blade/src/app/judge/results/page.tsx @@ -5,7 +5,7 @@ import { api, HydrateClient } from "~/trpc/server"; import ResultsTable from "./_components/results-table"; export const metadata: Metadata = { - title: "Blade | Hackthon Results", + title: "Blade | Hackathon Results", description: "Display hackathon results", }; diff --git a/apps/blade/src/app/member/application/page.tsx b/apps/blade/src/app/member/application/page.tsx index a22663c13..820f1784f 100644 --- a/apps/blade/src/app/member/application/page.tsx +++ b/apps/blade/src/app/member/application/page.tsx @@ -1,3 +1,4 @@ +import type { Metadata } from "next"; import { redirect } from "next/navigation"; import { auth, signIn } from "@forge/auth/server"; @@ -5,6 +6,11 @@ import { auth, signIn } from "@forge/auth/server"; import { api } from "~/trpc/server"; import { MemberApplicationForm } from "./_components/member-application-form"; +export const metadata: Metadata = { + title: "Blade | Member Application", + description: "Apply for Knight Hacks membership.", +}; + export default async function MemberApplicationPage() { const session = await auth(); diff --git a/apps/blade/src/app/sponsor/page.tsx b/apps/blade/src/app/sponsor/page.tsx index 78d3b89eb..0c69de8e2 100644 --- a/apps/blade/src/app/sponsor/page.tsx +++ b/apps/blade/src/app/sponsor/page.tsx @@ -7,6 +7,13 @@ import { Button } from "@forge/ui/button"; export const metadata: Metadata = { title: "Sponsor Knight Hacks!", description: "Help us make dreams!", + openGraph: { + title: "Sponsor Knight Hacks!", + description: "Help us make dreams!", + url: "https://blade.knighthacks.org/sponsor", + siteName: "Blade", + images: [{ url: "https://club.knighthacks.org/community.png" }], + }, }; const SPONSOR_VIDEO_LINK_2 = From 90c156aff8e4b99578e808be59813caccdf48566 Mon Sep 17 00:00:00 2001 From: Fernando Date: Thu, 12 Feb 2026 21:54:38 -0500 Subject: [PATCH 4/6] include 'blade |' in form metadata title --- apps/blade/src/app/forms/[formName]/page.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/blade/src/app/forms/[formName]/page.tsx b/apps/blade/src/app/forms/[formName]/page.tsx index e983d960d..b91b8d817 100644 --- a/apps/blade/src/app/forms/[formName]/page.tsx +++ b/apps/blade/src/app/forms/[formName]/page.tsx @@ -20,9 +20,11 @@ export async function generateMetadata({ }): Promise { try { const form = await api.forms.getForm({ slug_name: params.formName }); + const description = `Official application for ${form.name} through Blade.`; return { - title: `${form.name}`, + title: `Blade | ${form.name}`, + description, }; } catch { return { From 2bab8da7d9eafd63e7f482dd746dda2c430ca8e5 Mon Sep 17 00:00:00 2001 From: Fernando Date: Thu, 12 Feb 2026 21:55:13 -0500 Subject: [PATCH 5/6] remove metadata from judge/admin pages --- apps/blade/src/app/admin/banquet-raffle/page.tsx | 6 ------ apps/blade/src/app/admin/club/check-in/page.tsx | 6 ------ apps/blade/src/app/admin/club/data/page.tsx | 6 ------ apps/blade/src/app/admin/club/events/page.tsx | 6 ------ apps/blade/src/app/admin/club/members/page.tsx | 6 ------ apps/blade/src/app/admin/forms/[slug]/page.tsx | 6 ------ apps/blade/src/app/admin/forms/[slug]/responses/page.tsx | 6 ------ apps/blade/src/app/admin/forms/page.tsx | 4 ---- apps/blade/src/app/admin/hackathon/check-in/page.tsx | 6 ------ apps/blade/src/app/admin/hackathon/control-room/page.tsx | 6 ------ apps/blade/src/app/admin/hackathon/data/page.tsx | 6 ------ apps/blade/src/app/admin/hackathon/events/page.tsx | 6 ------ apps/blade/src/app/admin/hackathon/hackers/page.tsx | 6 ------ .../blade/src/app/admin/hackathon/judge-assignment/page.tsx | 6 ------ apps/blade/src/app/admin/hackathon/roomAssignment/page.tsx | 6 ------ apps/blade/src/app/admin/page.tsx | 6 ------ apps/blade/src/app/admin/roles/configure/page.tsx | 6 ------ apps/blade/src/app/judge/dashboard/page.tsx | 6 ------ 18 files changed, 106 deletions(-) diff --git a/apps/blade/src/app/admin/banquet-raffle/page.tsx b/apps/blade/src/app/admin/banquet-raffle/page.tsx index 5a52c894b..ba58bed54 100644 --- a/apps/blade/src/app/admin/banquet-raffle/page.tsx +++ b/apps/blade/src/app/admin/banquet-raffle/page.tsx @@ -1,4 +1,3 @@ -import type { Metadata } from "next"; import { redirect } from "next/navigation"; import { eq, gt } from "drizzle-orm"; @@ -11,11 +10,6 @@ import { SIGN_IN_PATH } from "~/consts"; import { api } from "~/trpc/server"; import RaffleDraw from "./components/raffle-draw"; -export const metadata: Metadata = { - title: "Blade | Banquet Raffle", - description: "Draw a raffle winner", -}; - export default async function Raffle() { const session = await auth(); if (!session) { diff --git a/apps/blade/src/app/admin/club/check-in/page.tsx b/apps/blade/src/app/admin/club/check-in/page.tsx index 0f52c3fba..39e7f263b 100644 --- a/apps/blade/src/app/admin/club/check-in/page.tsx +++ b/apps/blade/src/app/admin/club/check-in/page.tsx @@ -1,4 +1,3 @@ -import type { Metadata } from "next"; import { redirect } from "next/navigation"; import { auth } from "@forge/auth"; @@ -7,11 +6,6 @@ import { SIGN_IN_PATH } from "~/consts"; import { api, HydrateClient } from "~/trpc/server"; import { CheckInPage } from "./_components/check-in-page"; -export const metadata: Metadata = { - title: "Blade | Hackathon Check-in", - description: "Check-in hackers and members for hackathon events.", -}; - export default async function HackathonCheckIn() { // Check if the user is authenticated const session = await auth(); diff --git a/apps/blade/src/app/admin/club/data/page.tsx b/apps/blade/src/app/admin/club/data/page.tsx index 7db80cb10..bbd900a5d 100644 --- a/apps/blade/src/app/admin/club/data/page.tsx +++ b/apps/blade/src/app/admin/club/data/page.tsx @@ -1,4 +1,3 @@ -import type { Metadata } from "next"; import { redirect } from "next/navigation"; import { auth } from "@forge/auth"; @@ -9,11 +8,6 @@ import { api, HydrateClient } from "~/trpc/server"; import EventDemographics from "./_components/EventDemographics"; import MemberDemographics from "./_components/MemberDemographics"; -export const metadata: Metadata = { - title: "Blade | Data", - description: "View member and event demographics.", -}; - export default async function Data() { // authentication const session = await auth(); diff --git a/apps/blade/src/app/admin/club/events/page.tsx b/apps/blade/src/app/admin/club/events/page.tsx index 7d8fdd1e5..90c63deb7 100644 --- a/apps/blade/src/app/admin/club/events/page.tsx +++ b/apps/blade/src/app/admin/club/events/page.tsx @@ -1,4 +1,3 @@ -import type { Metadata } from "next"; import { redirect } from "next/navigation"; import { auth } from "@forge/auth"; @@ -9,11 +8,6 @@ import { AddPoints } from "../../_components/AddPoints"; import ScannerPopUp from "../members/_components/scanner"; import { EventsTable } from "./_components/events-table"; -export const metadata: Metadata = { - title: "Club Events", - description: "Manage Knight Hacks club events.", -}; - export default async function Events() { const session = await auth(); if (!session) { diff --git a/apps/blade/src/app/admin/club/members/page.tsx b/apps/blade/src/app/admin/club/members/page.tsx index 24d5c64a1..0fe070b7d 100644 --- a/apps/blade/src/app/admin/club/members/page.tsx +++ b/apps/blade/src/app/admin/club/members/page.tsx @@ -1,4 +1,3 @@ -import type { Metadata } from "next"; import { redirect } from "next/navigation"; import { auth } from "@forge/auth"; @@ -8,11 +7,6 @@ import { api, HydrateClient } from "~/trpc/server"; import MemberTable from "./_components/members-table"; import ScannerPopUp from "./_components/scanner"; -export const metadata: Metadata = { - title: "Blade | Members", - description: "Manage Knight Hacks members.", -}; - export default async function Members() { // authentication const session = await auth(); diff --git a/apps/blade/src/app/admin/forms/[slug]/page.tsx b/apps/blade/src/app/admin/forms/[slug]/page.tsx index 94c83a193..b1190a336 100644 --- a/apps/blade/src/app/admin/forms/[slug]/page.tsx +++ b/apps/blade/src/app/admin/forms/[slug]/page.tsx @@ -1,4 +1,3 @@ -import type { Metadata } from "next"; import { redirect } from "next/navigation"; import { appRouter } from "@forge/api"; @@ -8,11 +7,6 @@ import { extractProcedures } from "~/lib/utils"; import { api } from "~/trpc/server"; import { EditorClient } from "./client"; -export const metadata: Metadata = { - title: "Blade | Edit Form", - description: "Edit Form.", -}; - export default async function FormEditorPage({ params, }: { diff --git a/apps/blade/src/app/admin/forms/[slug]/responses/page.tsx b/apps/blade/src/app/admin/forms/[slug]/responses/page.tsx index 862a55ebc..732bc4587 100644 --- a/apps/blade/src/app/admin/forms/[slug]/responses/page.tsx +++ b/apps/blade/src/app/admin/forms/[slug]/responses/page.tsx @@ -1,4 +1,3 @@ -import type { Metadata } from "next"; import Link from "next/link"; import { redirect } from "next/navigation"; import { ArrowLeft } from "lucide-react"; @@ -13,11 +12,6 @@ import { api, HydrateClient } from "~/trpc/server"; import { AllResponsesView } from "./_components/AllResponsesView"; import { PerUserResponsesView } from "./_components/PerUserResponsesView"; -export const metadata: Metadata = { - title: "Blade | Form Responses", - description: "View Form Responses", -}; - export default async function FormResponsesPage({ params, }: { diff --git a/apps/blade/src/app/admin/forms/page.tsx b/apps/blade/src/app/admin/forms/page.tsx index 64282f694..4bd131aa3 100644 --- a/apps/blade/src/app/admin/forms/page.tsx +++ b/apps/blade/src/app/admin/forms/page.tsx @@ -6,10 +6,6 @@ import { SIGN_IN_PATH } from "~/consts"; import { api } from "~/trpc/server"; import FormsClient from "../../_components/admin/forms/homepage"; -export const metadata = { - title: "Forms", -}; - export default async function Page() { const session = await auth(); if (!session) { diff --git a/apps/blade/src/app/admin/hackathon/check-in/page.tsx b/apps/blade/src/app/admin/hackathon/check-in/page.tsx index c109f12c7..5891316a7 100644 --- a/apps/blade/src/app/admin/hackathon/check-in/page.tsx +++ b/apps/blade/src/app/admin/hackathon/check-in/page.tsx @@ -1,4 +1,3 @@ -import type { Metadata } from "next"; import { redirect } from "next/navigation"; import { auth } from "@forge/auth"; @@ -7,11 +6,6 @@ import { SIGN_IN_PATH } from "~/consts"; import { api, HydrateClient } from "~/trpc/server"; import { CheckInPage } from "./_components/check-in-page"; -export const metadata: Metadata = { - title: "Blade | Hackathon Check-in", - description: "Check-in hackers and members for hackathon events.", -}; - export default async function HackathonCheckIn() { // Check if the user is authenticated const session = await auth(); diff --git a/apps/blade/src/app/admin/hackathon/control-room/page.tsx b/apps/blade/src/app/admin/hackathon/control-room/page.tsx index bf29218bf..444b54c06 100644 --- a/apps/blade/src/app/admin/hackathon/control-room/page.tsx +++ b/apps/blade/src/app/admin/hackathon/control-room/page.tsx @@ -1,4 +1,3 @@ -import type { Metadata } from "next"; import { redirect } from "next/navigation"; import { auth } from "@forge/auth"; @@ -6,11 +5,6 @@ import { auth } from "@forge/auth"; import { api, HydrateClient } from "~/trpc/server"; import ControlRoomClient from "./_components/control-room-client"; -export const metadata: Metadata = { - title: "Blade | Hackathon Control-Room", - description: "Control room for current hackathon", -}; - export default async function ControlRoom() { const session = await auth(); if (!session) { diff --git a/apps/blade/src/app/admin/hackathon/data/page.tsx b/apps/blade/src/app/admin/hackathon/data/page.tsx index 9336d3a9c..141531994 100644 --- a/apps/blade/src/app/admin/hackathon/data/page.tsx +++ b/apps/blade/src/app/admin/hackathon/data/page.tsx @@ -1,4 +1,3 @@ -import type { Metadata } from "next"; import { redirect } from "next/navigation"; import { auth } from "@forge/auth"; @@ -9,11 +8,6 @@ import { api, HydrateClient } from "~/trpc/server"; import HackerEventDemographics from "../../club/data/_components/HackerEventDemographics"; import HackathonDataContent from "./_components/HackathonDataContent"; -export const metadata: Metadata = { - title: "Blade | Hackathon Data", - description: "View hackathon demographics.", -}; - export default async function HackathonData() { const session = await auth(); if (!session) { diff --git a/apps/blade/src/app/admin/hackathon/events/page.tsx b/apps/blade/src/app/admin/hackathon/events/page.tsx index eb6b6fb6d..9499b5b8e 100644 --- a/apps/blade/src/app/admin/hackathon/events/page.tsx +++ b/apps/blade/src/app/admin/hackathon/events/page.tsx @@ -1,4 +1,3 @@ -import type { Metadata } from "next"; import { redirect } from "next/navigation"; import { auth } from "@forge/auth"; @@ -9,11 +8,6 @@ import { AddPoints } from "../../_components/AddPoints"; import ScannerPopUp from "../../club/members/_components/scanner"; import { EventsTable } from "./_components/events-table"; -export const metadata: Metadata = { - title: "Blade Hackathon Events", - description: "Manage Knight Hacks hackathon events.", -}; - export default async function HackathonEvents() { // Check if the user is authenticated const session = await auth(); diff --git a/apps/blade/src/app/admin/hackathon/hackers/page.tsx b/apps/blade/src/app/admin/hackathon/hackers/page.tsx index 982001686..daf7a33fc 100644 --- a/apps/blade/src/app/admin/hackathon/hackers/page.tsx +++ b/apps/blade/src/app/admin/hackathon/hackers/page.tsx @@ -1,4 +1,3 @@ -import type { Metadata } from "next"; import { redirect } from "next/navigation"; import { auth } from "@forge/auth"; @@ -7,11 +6,6 @@ import { SIGN_IN_PATH } from "~/consts"; import { api, HydrateClient } from "~/trpc/server"; import HackerClient from "./hacker-client"; -export const metadata: Metadata = { - title: "Blade | Judge Assignment", - description: "Generate Magic Links for Judges", -}; - export default async function Hackers() { const session = await auth(); if (!session) redirect(SIGN_IN_PATH); diff --git a/apps/blade/src/app/admin/hackathon/judge-assignment/page.tsx b/apps/blade/src/app/admin/hackathon/judge-assignment/page.tsx index 87f972e91..e4b1ec4f4 100644 --- a/apps/blade/src/app/admin/hackathon/judge-assignment/page.tsx +++ b/apps/blade/src/app/admin/hackathon/judge-assignment/page.tsx @@ -1,4 +1,3 @@ -import type { Metadata } from "next"; import { redirect } from "next/navigation"; import { auth } from "@forge/auth"; @@ -7,11 +6,6 @@ import { SIGN_IN_PATH } from "~/consts"; import { api } from "~/trpc/server"; import QRCodesClient from "./_components/judges-client"; -export const metadata: Metadata = { - title: "Blade | Judges", - description: "Manage Knight Hacks Judges.", -}; - export default async function Judges() { const session = await auth(); if (!session) redirect(SIGN_IN_PATH); diff --git a/apps/blade/src/app/admin/hackathon/roomAssignment/page.tsx b/apps/blade/src/app/admin/hackathon/roomAssignment/page.tsx index 089e25295..e3aa88b69 100644 --- a/apps/blade/src/app/admin/hackathon/roomAssignment/page.tsx +++ b/apps/blade/src/app/admin/hackathon/roomAssignment/page.tsx @@ -1,4 +1,3 @@ -import type { Metadata } from "next"; import { redirect } from "next/navigation"; import { auth } from "@forge/auth"; @@ -7,11 +6,6 @@ import { SIGN_IN_PATH } from "~/consts"; import { api, HydrateClient } from "~/trpc/server"; import { ChallengesTable } from "./_components/ChallengesTable"; -export const metadata: Metadata = { - title: "Blade | Room Assignment", - description: "Assign room and populate judges information", -}; - export default async function Hackers() { const session = await auth(); if (!session) redirect(SIGN_IN_PATH); diff --git a/apps/blade/src/app/admin/page.tsx b/apps/blade/src/app/admin/page.tsx index c34636588..d63f6d916 100644 --- a/apps/blade/src/app/admin/page.tsx +++ b/apps/blade/src/app/admin/page.tsx @@ -1,4 +1,3 @@ -import type { Metadata } from "next"; import Link from "next/link"; import { redirect } from "next/navigation"; import { @@ -28,11 +27,6 @@ import { import { SIGN_IN_PATH } from "~/consts"; import { api, HydrateClient } from "~/trpc/server"; -export const metadata: Metadata = { - title: "Blade | Admin", - description: "Manage Knight Hacks as an administrator.", -}; - export default async function Admin() { const session = await auth(); if (!session) { diff --git a/apps/blade/src/app/admin/roles/configure/page.tsx b/apps/blade/src/app/admin/roles/configure/page.tsx index 5fd437ead..1e39181a9 100644 --- a/apps/blade/src/app/admin/roles/configure/page.tsx +++ b/apps/blade/src/app/admin/roles/configure/page.tsx @@ -1,4 +1,3 @@ -import type { Metadata } from "next"; import { redirect } from "next/navigation"; import { ShieldPlus } from "lucide-react"; @@ -11,11 +10,6 @@ import { api } from "~/trpc/server"; import RoleEdit from "./_components/roleedit"; import RoleTable from "./_components/roletable"; -export const metadata: Metadata = { - title: "Blade | Role Configuration", - description: "Configure Knight Hacks roles", -}; - export default async function Roles() { const session = await auth(); if (!session) { diff --git a/apps/blade/src/app/judge/dashboard/page.tsx b/apps/blade/src/app/judge/dashboard/page.tsx index ecefb77a6..29b30ca7f 100644 --- a/apps/blade/src/app/judge/dashboard/page.tsx +++ b/apps/blade/src/app/judge/dashboard/page.tsx @@ -1,4 +1,3 @@ -import type { Metadata } from "next"; import { redirect } from "next/navigation"; import { AlertTriangle, Trophy } from "lucide-react"; @@ -16,11 +15,6 @@ import { Separator } from "@forge/ui/separator"; import { api } from "~/trpc/server"; import { ProjectsTable } from "../_components/projects-table"; -export const metadata: Metadata = { - title: "Blade | Judge Dashboard", - description: "Judging dashboard for current hackathon.", -}; - export default async function Page() { const isJudge = await api.auth.getJudgeStatus(); const isAdmin = await api.auth.getAdminStatus(); From d294c12fbfc2e8a30097493098d3a46faeb10652 Mon Sep 17 00:00:00 2001 From: Fernando Date: Thu, 12 Feb 2026 23:38:39 -0500 Subject: [PATCH 6/6] removal of more metadata --- apps/blade/src/app/admin/roles/manage/page.tsx | 6 ------ apps/blade/src/app/judge/results/page.tsx | 6 ------ 2 files changed, 12 deletions(-) diff --git a/apps/blade/src/app/admin/roles/manage/page.tsx b/apps/blade/src/app/admin/roles/manage/page.tsx index 4486b2c14..c26e075a6 100644 --- a/apps/blade/src/app/admin/roles/manage/page.tsx +++ b/apps/blade/src/app/admin/roles/manage/page.tsx @@ -1,14 +1,8 @@ -import type { Metadata } from "next"; import { redirect } from "next/navigation"; import { api } from "~/trpc/server"; import RoleAssign from "./roleassign"; -export const metadata: Metadata = { - title: "Blade | Manage Roles", - description: "Manage Knight Hacks roles.", -}; - export default async function ManageRoles() { const hasAccess = await api.roles.hasPermission({ or: ["ASSIGN_ROLES"], diff --git a/apps/blade/src/app/judge/results/page.tsx b/apps/blade/src/app/judge/results/page.tsx index c68d5a5eb..bea167bea 100644 --- a/apps/blade/src/app/judge/results/page.tsx +++ b/apps/blade/src/app/judge/results/page.tsx @@ -1,14 +1,8 @@ -import type { Metadata } from "next"; import { redirect } from "next/navigation"; import { api, HydrateClient } from "~/trpc/server"; import ResultsTable from "./_components/results-table"; -export const metadata: Metadata = { - title: "Blade | Hackathon Results", - description: "Display hackathon results", -}; - export default async function ResultsDashboard() { const hasAccess = await api.roles.hasPermission({ or: ["IS_JUDGE"],