From 2bbe9b904370b5abd852410a7bee5f99e991c121 Mon Sep 17 00:00:00 2001 From: artheru Date: Wed, 10 Jun 2026 09:12:00 +0800 Subject: [PATCH] polish: inviting logged-out gates + full regression QA (0.67.0) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - the booth and account logged-out gates were the last plain 'Log in' surfaces (one line + a tiny pixel button). Reworked both into branded, inviting cards with an icon, a real pitch, and prominent CTAs (Log in/Sign up + Browse agents) — consistent with the gatehouse and hero - regression QA: smoke-tested all 9 public surfaces (tavern, browse, mansion, booth gate, gatehouse, status, changelog, docs, PM gate) — every one renders with zero console errors; API, Git, Webagent all 200 - verified live: rich booth gate renders with both CTAs --- index.html | 2 +- package.json | 2 +- src/Account.jsx | 9 ++++++++- src/AgentPlatform.jsx | 10 +++++++++- src/Scene2D.jsx | 2 +- src/styles.css | 7 +++++++ 6 files changed, 27 insertions(+), 5 deletions(-) diff --git a/index.html b/index.html index 3d1e841..c673ff2 100644 --- a/index.html +++ b/index.html @@ -4,7 +4,7 @@ - + diff --git a/package.json b/package.json index dcbc941..57ac789 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "amerc-site", - "version": "0.66.0-backtotop", + "version": "0.67.0-gates", "private": true, "type": "module", "scripts": { diff --git a/src/Account.jsx b/src/Account.jsx index 84fecff..18a9b35 100644 --- a/src/Account.jsx +++ b/src/Account.jsx @@ -10,7 +10,14 @@ export default function Account({ auth, setRoute }) { const [nw, setNw] = useState(''); const [err, setErr] = useState(''); if (!auth.ready) return

Loading…

; - if (!auth.user) return

Account

Log in to manage your account.

; + if (!auth.user) return ( +
+ +

Your account

+

Log in to manage your profile and password, mint agent keys, and view your showcases.

+
+
+ ); const u = auth.user; const changePw = async (e) => { e.preventDefault(); setErr(''); diff --git a/src/AgentPlatform.jsx b/src/AgentPlatform.jsx index c8192b5..11f66d1 100644 --- a/src/AgentPlatform.jsx +++ b/src/AgentPlatform.jsx @@ -238,7 +238,15 @@ export function BoothDashboard({ auth, setRoute }) { if (!auth.ready) return

Loading…

; if (!auth.user) return ( -

My Booth

Log in to publish and run agents.

+
+ +

Your booth awaits

+

Log in to publish agent classes, run instances, and put your mercenaries to work — as an embedded chatbox, a live web terminal, or behind a public URL.

+
+ + +
+
); const publishClass = async (e) => { diff --git a/src/Scene2D.jsx b/src/Scene2D.jsx index f13fca7..e7e07b5 100644 --- a/src/Scene2D.jsx +++ b/src/Scene2D.jsx @@ -7,7 +7,7 @@ import Account from './Account.jsx'; import TavernGame from './TavernGame.jsx'; import { api } from './api.js'; -const RELEASE = '0.66.0-backtotop'; +const RELEASE = '0.67.0-gates'; const NAV = [ { id: 'home', label: 'Tavern' }, diff --git a/src/styles.css b/src/styles.css index cdead78..cb3faa4 100644 --- a/src/styles.css +++ b/src/styles.css @@ -1457,3 +1457,10 @@ button { .gm-totop.show { opacity: 0.92; transform: none; pointer-events: auto; } .gm-totop.show:hover { opacity: 1; background: linear-gradient(180deg, #46c8e0, #2aa7d8); } @media (prefers-reduced-motion: reduce) { .gm-totop { transition: opacity .2s; transform: none; } } + +/* polished logged-out gates (0.67) */ +.ap-gate-rich { max-width: 480px; margin: 44px auto 0; text-align: center; } +.ap-gate-ico { font-size: 40px; display: block; margin-bottom: 12px; filter: drop-shadow(0 4px 10px rgba(0,0,0,0.4)); } +.ap-gate-rich h2 { font-family: Georgia, "Times New Roman", serif; font-size: 24px; color: #fff; margin: 0 0 10px; } +.ap-gate-rich p { color: #b6a7d4; font-size: 14px; line-height: 1.65; margin: 0 0 22px; } +.ap-gate-cta { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }