read.markets/app/templates
Giorgio Gilestro 2b3ea33884 mobile: hamburger drawer (right-side slide-out)
≤480px gets a hamburger button in the topbar and a fixed slide-out
panel from the right edge (width min(82vw, 320px)). The topbar keeps
only brand + tone toggle + hamburger visible; nav and the
header-right widgets (theme, lang, user menu, version meta) move
into the drawer.

Markup change: nav and .header-right are now wrapped in
.mobile-drawer, which is display:contents on desktop (no layout
effect) and a fixed translateX panel on mobile. The user-menu
dropdown chip hides on mobile and its links surface flat inside the
drawer.

JS: ~50 lines of vanilla. Tap hamburger / backdrop / ESC / swipe-
right-on-drawer all close. Clicking a nav link inside the drawer
closes it after the navigation kicks off so the panel doesn't linger
on the next page.

CSS: per-file @media block at the bottom of layout.css per the
agreed-upon organisation.
2026-05-28 18:36:37 +02:00
..
partials news: clamp free + anonymous to last 6h; paid keeps 24h 2026-05-25 22:49:21 +02:00
about.html public: landing + pricing + legal pages, apex-ready, lawyer-reviewed 2026-05-24 00:08:02 +02:00
base.html mobile: hamburger drawer (right-side slide-out) 2026-05-28 18:36:37 +02:00
dashboard.html i18n: instant lang switch via HTMX trigger + refresh paid-plans terms 2026-05-27 21:02:03 +02:00
disclaimer.html pricing: land £7/£70 paid tier and make behaviour match 2026-05-26 11:34:37 +02:00
landing.html cleanup: drop dead upload.html + soften broker-only marketing copy 2026-05-27 15:39:03 +02:00
log.html i18n: instant lang switch via HTMX trigger + refresh paid-plans terms 2026-05-27 21:02:03 +02:00
login.html css: split cassandra.css into per-section files 2026-05-28 12:31:29 +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 css: split cassandra.css into per-section files 2026-05-28 12:31:29 +02:00
settings.html settings: extract sync + import widget JS to static files 2026-05-27 20:55: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 css: split cassandra.css into per-section files 2026-05-28 12:31:29 +02:00