Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions extensions/levelcode-ai/media/chat.html
Original file line number Diff line number Diff line change
Expand Up @@ -878,8 +878,10 @@
.acctcard.classic .ovclose:hover { color: var(--cc-text); background: color-mix(in srgb, var(--cc-text3) 18%, transparent); }
/* Hero — the landing page's floating chevron over four drifting "portal" circles. Decorative (aria-hidden),
full-bleed at the top of the modal; the motion respects prefers-reduced-motion (guard below). */
.acctcard.classic .hero { position: relative; height: 150px; display: grid; place-items: center; overflow: hidden; }
.acctcard.classic .hero .portalmark { width: 212px; height: auto; display: block; }
.acctcard.classic .hero { position: relative; height: 146px; overflow: hidden; }
/* Absolutely placed with a top gap so the chevron peak clears the modal's rounded top edge; the SVG is
taller than the hero, so only the LOWER soft circles bleed off — the chevron itself is never clipped. */
.acctcard.classic .hero .portalmark { position: absolute; left: 50%; top: 12px; transform: translateX(-50%); width: 182px; height: auto; }
.acctcard.classic .portal-layer { transform-origin: 50% 60%; animation: portalDrift 7s ease-in-out infinite; }
.acctcard.classic .portal-layer:nth-child(2) { animation-delay: -1.4s; }
.acctcard.classic .portal-layer:nth-child(3) { animation-delay: -2.8s; }
Expand Down Expand Up @@ -2816,14 +2818,17 @@
// privacy reassurance, which is genuinely useful there.
const note = gateway ? '' : '<div class="note">Your keys never leave your machine — requests go direct to your provider.</div>';
const docsLink = '<a class="docs" data-act="docs" role="link" tabindex="0">Documentation <span class="darrow" aria-hidden="true">↗</span></a>';
// Highlight Manage account as the primary CTA — EXCEPT on free tier, where the accent belongs to the
// Upgrade button (two accent buttons would compete), so Manage stays quiet there.
const manageClass = upgradeBtn ? 'abtn' : 'abtn primary';
Comment on lines +2821 to +2823
acctBody.innerHTML =
'<div class="hero">' + LC_PORTAL_SVG + '</div>'
+ '<div class="acctmain">'
+ '<h2 id="lcTitle">' + esc(account.name || 'Signed in') + '</h2>'
+ emailLine
+ planPill
+ upgradeBtn
+ '<button class="abtn" data-act="manage">Manage account</button>'
+ '<button class="' + manageClass + '" data-act="manage">Manage account</button>'
+ '<button class="signout" data-act="signout">Sign out</button>'
+ '<div class="acctfoot">' + docsLink + '<div class="synced">Synced · settings · skills · keymaps</div></div>'
+ note
Expand Down