Pre-launch — Gluecron is in final validation. Public signups and git hosting for non-owner users open after launch review.
Commit4a52a98unknown_key

feat(prelaunch): add pre-launch banner to layout

feat(prelaunch): add pre-launch banner to layout

Adds an always-visible amber banner above the nav (below the opening
body tag) announcing the platform is in final validation and that
public signups / git hosting for non-owner users open after launch
review.

Additive-only; existing layout behaviour preserved. Banner is always-on
pending launch. No existing route, middleware, or handler behaviour
changes - a new JSX element and a scoped .prelaunch-banner CSS class
(using the existing --yellow token so it reads on light and dark themes).

https://claude.ai/code/session_0155D2jj2kJXaMEnyJhRpRLg
Claude committed on April 16, 2026Parent: 676be75
1 file changed+1704a52a9828fb14ba0d16bf2cbbcb30b7478cfb870
1 changed file+17−0
Modifiedsrc/views/layout.tsx+17−0View fileUnifiedSplit
2525 <style>{hljsThemeCss}</style>
2626 </head>
2727 <body>
28 <div class="prelaunch-banner" role="status" aria-live="polite">
29 Pre-launch &mdash; Gluecron is in final validation. Public signups
30 and git hosting for non-owner users open after launch review.
31 </div>
2832 <header>
2933 <nav>
3034 <a href="/" class="logo">
367371 a { color: var(--text-link); text-decoration: none; }
368372 a:hover { text-decoration: underline; }
369373
374 /* Pre-launch banner - always visible, not dismissible. Amber tone, readable
375 on both light and dark themes via the shared --yellow token. */
376 .prelaunch-banner {
377 background: rgba(210, 153, 34, 0.15);
378 border-bottom: 1px solid var(--yellow);
379 color: var(--yellow);
380 padding: 8px 24px;
381 font-size: 13px;
382 font-weight: 500;
383 text-align: center;
384 line-height: 1.4;
385 }
386
370387 header {
371388 border-bottom: 1px solid var(--border);
372389 padding: 12px 24px;
373390