File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -10,6 +10,7 @@ import { Button } from "@/components/registration/button";
1010import { StickyAlert } from "@/components/registration/sticky-alert" ;
1111import { RecaptchaNotice } from "@/components/registration/recaptcha-notice" ;
1212import { DotPattern } from "@/components/registration/dot-pattern" ;
13+ import { AuthHeader } from "@/components/registration/auth-header" ;
1314import { Spinner } from "@/components/ui/spinner" ;
1415import { 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" >
Original file line number Diff line number Diff line change @@ -5,6 +5,7 @@ import { useRouter } from "next/navigation";
55import { useAuth } from "@/hooks/use-auth" ;
66import { RegistrationContainer } from "@/components/registration/registration-container" ;
77import { DotPattern } from "@/components/registration/dot-pattern" ;
8+ import { AuthHeader } from "@/components/registration/auth-header" ;
89import { Spinner } from "@/components/ui/spinner" ;
910
1011export 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 >
Original file line number Diff line number Diff line change 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 ;
You can’t perform that action at this time.
0 commit comments