From 46f353da0d7a4e503b4917d5e72a55df959c59f8 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Sun, 30 Aug 2026 22:09:01 -0700 Subject: Hats return to perching: the banner overlap now moves the row's direct child (pulling the avatar up inside its hat-wrap left the crown planted on the face), and the whole catalog rises 20 points — hats covered a quarter of every avatar and now kiss the top few pixels MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01MrkLsNScXe9b6BviUSdmMr --- src/features/hats.js | 16 ++++++++-------- src/style.css | 7 ++++++- 2 files changed, 14 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/features/hats.js b/src/features/hats.js index 313c039..57cd186 100644 --- a/src/features/hats.js +++ b/src/features/hats.js @@ -28,7 +28,7 @@ const ADMIN_PK = '98ae4da926c471c23fd12d1ebdd5839ba82917baa618e184e0c9916d93dcf4 const svg = (inner) => `${inner}`; const HATS = [ { - id: 'beanie', nameKey: 'hatBeanie', sat: 21, w: 92, b: 78, r: -8, + id: 'beanie', nameKey: 'hatBeanie', sat: 21, w: 92, b: 98, r: -8, art: svg(` @@ -36,7 +36,7 @@ const HATS = [ `), }, { - id: 'trucker', nameKey: 'hatTrucker', sat: 2100, w: 106, b: 68, r: -6, + id: 'trucker', nameKey: 'hatTrucker', sat: 2100, w: 106, b: 88, r: -6, art: svg(` ₿ @@ -45,7 +45,7 @@ const HATS = [ `), }, { - id: 'cowboy', nameKey: 'hatCowboy', sat: 21000, w: 122, b: 68, r: -7, + id: 'cowboy', nameKey: 'hatCowboy', sat: 21000, w: 122, b: 88, r: -7, art: svg(` @@ -53,27 +53,27 @@ const HATS = [ `), }, { - id: 'fedora', nameKey: 'hatFedora', sat: 21000, w: 118, b: 70, r: -8, + id: 'fedora', nameKey: 'hatFedora', sat: 21000, w: 118, b: 90, r: -8, art: svg(` `), }, { - id: 'bowler', nameKey: 'hatBowler', sat: 210000, w: 104, b: 70, r: -7, + id: 'bowler', nameKey: 'hatBowler', sat: 210000, w: 104, b: 90, r: -7, art: svg(` `), }, { - id: 'top', nameKey: 'hatTop', sat: 210000, w: 96, b: 72, r: -7, + id: 'top', nameKey: 'hatTop', sat: 210000, w: 96, b: 92, r: -7, art: svg(` `), }, { - id: 'wizard', nameKey: 'hatWizard', sat: 2100000, w: 112, b: 72, r: -4, dx: -8, + id: 'wizard', nameKey: 'hatWizard', sat: 2100000, w: 112, b: 92, r: -4, dx: -8, art: svg(` @@ -81,7 +81,7 @@ const HATS = [ `), }, { - id: 'crown', nameKey: 'hatCrown', sat: null, w: 86, b: 72, r: -7, + id: 'crown', nameKey: 'hatCrown', sat: null, w: 86, b: 92, r: -7, art: svg(` diff --git a/src/style.css b/src/style.css index 7f71770..b978519 100644 --- a/src/style.css +++ b/src/style.css @@ -443,8 +443,13 @@ hr.divider { margin: 16px 0; } height: 118px; margin: -20px -20px 0; background-size: cover; background-position: center; border-radius: var(--radius) var(--radius) 0 0; } +/* The overlap must move the row's DIRECT child: when a hat is worn that's + the .hat-wrap — pulling the avatar up inside the wrap left the hat + behind, planted on the face. */ +.profile-banner + .row > .profile-avatar, +.profile-banner + .row > .hat-wrap { margin-top: -26px; } .profile-banner + .row .profile-avatar { - margin-top: -26px; border: 3px solid var(--paper); box-sizing: content-box; + border: 3px solid var(--paper); box-sizing: content-box; } .zap-chip { display: inline-flex; gap: 5px; align-items: center; cursor: pointer; background: var(--surface2); border: 1px solid var(--line); border-radius: 999px; padding: 1px 8px 1px 2px; } .chat-avatar.mini { width: 18px; height: 18px; font-size: 8px; flex-shrink: 0; } -- cgit v1.2.3