Skip to content

Commit 429ef1b

Browse files
committed
Add PBCTF logo header to auth pages
1 parent df73a36 commit 429ef1b

3 files changed

Lines changed: 30 additions & 1 deletion

File tree

app/login/page.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import { Button } from "@/components/registration/button";
1010
import { StickyAlert } from "@/components/registration/sticky-alert";
1111
import { RecaptchaNotice } from "@/components/registration/recaptcha-notice";
1212
import { DotPattern } from "@/components/registration/dot-pattern";
13+
import { AuthHeader } from "@/components/registration/auth-header";
1314
import { Spinner } from "@/components/ui/spinner";
1415
import { ArrowRight, LogIn } from "lucide-react";
1516

@@ -51,6 +52,7 @@ export default function LoginPage() {
5152
return (
5253
<div className="min-h-screen w-full bg-void relative overflow-hidden">
5354
<DotPattern />
55+
<AuthHeader />
5456

5557
<main className="relative z-10 min-h-screen w-full flex flex-col items-center justify-center px-4 sm:px-6 py-10 sm:py-16">
5658
<div className="w-full max-w-[460px] flex flex-col gap-6 anim-fade-up">

app/register/page.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { useRouter } from "next/navigation";
55
import { useAuth } from "@/hooks/use-auth";
66
import { RegistrationContainer } from "@/components/registration/registration-container";
77
import { DotPattern } from "@/components/registration/dot-pattern";
8+
import { AuthHeader } from "@/components/registration/auth-header";
89
import { Spinner } from "@/components/ui/spinner";
910

1011
export default function RegisterPage() {
@@ -26,8 +27,9 @@ export default function RegisterPage() {
2627
return (
2728
<div className="min-h-screen w-full bg-void relative overflow-hidden">
2829
<DotPattern />
30+
<AuthHeader />
2931

30-
<main className="relative z-10 w-full min-h-screen flex flex-col items-center px-4 sm:px-6 md:px-8 py-10 sm:py-14">
32+
<main className="relative z-10 w-full min-h-screen flex flex-col items-center px-4 sm:px-6 md:px-8 pt-24 pb-10 sm:pt-28 sm:pb-14">
3133
<div className="w-full max-w-[1000px] flex flex-col gap-7 items-center anim-fade-up">
3234
<RegistrationContainer />
3335
</div>
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import Link from "next/link";
2+
3+
/**
4+
* Minimal brand header for the auth pages (login / register). Renders the
5+
* PBCTF5.0 wordmark in the top-left, linking back to the landing page —
6+
* matching the landing/dashboard header logo. The bar itself is
7+
* click-through (pointer-events-none) so only the logo is interactive.
8+
*/
9+
export function AuthHeader() {
10+
return (
11+
<header className="pointer-events-none fixed top-0 left-0 z-30 w-full px-[clamp(1.25rem,4vw,2.5rem)] py-5">
12+
<Link
13+
href="/"
14+
aria-label="PBCTF 5.0 home"
15+
className="pointer-events-auto inline-flex items-center rounded focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand"
16+
>
17+
<span className="font-body font-extrabold text-[1.5rem] leading-none tracking-[-0.02em] bg-gradient-to-br from-white to-brand bg-clip-text text-transparent">
18+
PBCTF5.0
19+
</span>
20+
</Link>
21+
</header>
22+
);
23+
}
24+
25+
export default AuthHeader;

0 commit comments

Comments
 (0)