feat(web): sitewide pre-launch preview banner

Clear notice that the service is not yet open for production use.
Temporary — remove SiteBanner once live.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Marco Sadjadi 2026-05-21 18:57:16 +02:00
parent c016bf237b
commit 390cf5e8a1
2 changed files with 20 additions and 1 deletions

View File

@ -1,6 +1,7 @@
import type { Metadata } from 'next';
import { GeistSans } from 'geist/font/sans';
import { GeistMono } from 'geist/font/mono';
import { SiteBanner } from '@/components/site-banner';
import './globals.css';
export const metadata: Metadata = {
@ -13,7 +14,10 @@ export const metadata: Metadata = {
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
<html lang="en" className={`${GeistSans.variable} ${GeistMono.variable}`} suppressHydrationWarning>
<body>{children}</body>
<body>
<SiteBanner />
{children}
</body>
</html>
);
}

View File

@ -0,0 +1,15 @@
// Temporary pre-launch notice. Remove this component and its import in
// app/layout.tsx once the service is open for production use.
export function SiteBanner() {
return (
<div
role="status"
className="border-b border-[#4f46e5] bg-[--color-accent] px-4 py-2 text-center text-[12.5px] font-medium leading-snug text-white"
>
<span className="font-semibold uppercase tracking-wide">Preview</span>
<span className="px-1.5 opacity-60">·</span>
BuildMyMCPServer is not yet open for production use sign-ups, server
generation and billing are still being finalised, and data may be reset.
</div>
);
}