read.markets/app/templates
Giorgio Gilestro 31a8efc27d ui: regroup topbar + unify the three header toggles
Header layout was visibly broken on desktop after the mobile-drawer
change: flex space-between distributed brand, BETA, tone-toggle, nav
and header-right across the bar, so BETA drifted away from the brand
wordmark and the tone-toggle landed in the middle of the row.

Markup: brand + BETA are now wrapped in .header-left so they ride
together. The tone-toggle moves back inside .header-right next to
theme + lang where it logically belongs. CSS: the header switches to
grid (1fr auto 1fr) on desktop, which truly centres the nav regardless
of side-group widths. The mobile @media block reverts to flex so the
hamburger + slide-out drawer still work.

Toggle redesign (tone, theme, language):

- The single-button theme widget becomes a Light | Dark segmented
  control matching the other two so all three read as one cluster.
  cassandraToggleTheme is replaced by cassandraSetTheme(theme), the
  toggle's data-theme attribute is synced on page load.
- All three share one CSS rule set: same padding, font, border, and
  a min-width so the active-only width matches the expanded width
  (no layout jump on hover).
- On hover-capable devices each toggle collapses to just the active
  option; hovering (or keyboard focus-within) reveals both. Touch
  devices keep both visible — the @media (hover: hover) gate handles
  that and the mobile-drawer block overrides it explicitly so the
  drawer-stacked controls remain full-width with both options shown.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 11:00:11 +02:00
..
partials mobile: wrap tabs, trim portfolio + markets bar columns 2026-05-28 19:10:58 +02:00
about.html public: landing + pricing + legal pages, apex-ready, lawyer-reviewed 2026-05-24 00:08:02 +02:00
base.html ui: regroup topbar + unify the three header toggles 2026-05-29 11:00:11 +02:00
dashboard.html mobile: cache-bust static assets so browser picks up CSS/JS edits 2026-05-28 19:20:49 +02:00
disclaimer.html pricing: land £7/£70 paid tier and make behaviour match 2026-05-26 11:34:37 +02:00
landing.html mobile: cache-bust static assets so browser picks up CSS/JS edits 2026-05-28 19:20:49 +02:00
log.html mobile: cache-bust static assets so browser picks up CSS/JS edits 2026-05-28 19:20:49 +02:00
login.html mobile: cache-bust static assets so browser picks up CSS/JS edits 2026-05-28 19:20:49 +02:00
news.html brand: rename product to "Read the Markets" (read.markets) 2026-05-22 19:39:38 +01:00
pricing.html cleanup: drop dead upload.html + soften broker-only marketing copy 2026-05-27 15:39:03 +02:00
privacy.html public: landing + pricing + legal pages, apex-ready, lawyer-reviewed 2026-05-24 00:08:02 +02:00
public_base.html mobile: cache-bust static assets so browser picks up CSS/JS edits 2026-05-28 19:20:49 +02:00
settings.html mobile: cache-bust static assets so browser picks up CSS/JS edits 2026-05-28 19:20:49 +02:00
terms.html i18n: instant lang switch via HTMX trigger + refresh paid-plans terms 2026-05-27 21:02:03 +02:00
verify.html mobile: cache-bust static assets so browser picks up CSS/JS edits 2026-05-28 19:20:49 +02:00