From ec9596228cd9b9bc25ce4952ad055bfd2db14743 Mon Sep 17 00:00:00 2001 From: hmziqagent Date: Tue, 28 Jul 2026 10:55:42 +0200 Subject: [PATCH] fix(web): stop horizontal overflow on mobile landing sections Three landing grids used `grid lg:grid-cols-[...]` with no base `grid-cols-1`, so the implicit column sized to max-content and wide children (a long tab label, a long code line, the event-log panel) inflated the page to ~622px on mobile, forcing horizontal scroll. - HookTabs: add base grid-cols-1; make the tab nav scroll (min-w-0 max-w-full overflow-x-auto) and keep buttons from compressing (shrink-0 whitespace-nowrap). The nav is a flex item of Basecoat's .tabs, so min-w-0 is required for overflow-x-auto to engage. - AnnotatedFigure: add base grid-cols-1 so the
 scrolls instead of inflating its card to 529px.
- CacheDeck: add base grid-cols-1 so the event-log panel fits.
- architecture-section: `truncate` -> `sm:truncate` so the layer API list wraps on mobile instead of ellipsizing the content away.

Desktop (lg) layouts are unchanged. Verified at 390/360/320px: document scrollWidth now equals the viewport (no horizontal scroll), and `bun run build` passes.
---
 web/src/components/landing/architecture-section.astro | 2 +-
 web/src/components/landing/v1/HookTabs.astro          | 6 +++---
 web/src/components/landing/v2/CacheDeck.astro         | 2 +-
 web/src/components/landing/v3/AnnotatedFigure.astro   | 2 +-
 4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/web/src/components/landing/architecture-section.astro b/web/src/components/landing/architecture-section.astro
index 029d0b4..229ca7f 100644
--- a/web/src/components/landing/architecture-section.astro
+++ b/web/src/components/landing/architecture-section.astro
@@ -49,7 +49,7 @@ const archLayers = [
             
             

{layer.label}

-

{layer.items}

+

{layer.items}

diff --git a/web/src/components/landing/v1/HookTabs.astro b/web/src/components/landing/v1/HookTabs.astro index 08e4de5..0bd1849 100644 --- a/web/src/components/landing/v1/HookTabs.astro +++ b/web/src/components/landing/v1/HookTabs.astro @@ -58,7 +58,7 @@ mutate_with_callbacks(
-
+

// surface area @@ -81,7 +81,7 @@ mutate_with_callbacks(

-
-
+
{rows.map((row) => ( diff --git a/web/src/components/landing/v3/AnnotatedFigure.astro b/web/src/components/landing/v3/AnnotatedFigure.astro index 9c3b28c..fcd6be1 100644 --- a/web/src/components/landing/v3/AnnotatedFigure.astro +++ b/web/src/components/landing/v3/AnnotatedFigure.astro @@ -84,7 +84,7 @@ const figInner = FIG_LINES.map((line, i) => { Every line, accounted for -
+
src/views/users.rs