Skip to content

feat(web): mobile-friendly + responsive sqlritedb.com (SQLR-37)#119

Merged
joaoh82 merged 1 commit into
mainfrom
feat/web-mobile-responsive
May 10, 2026
Merged

feat(web): mobile-friendly + responsive sqlritedb.com (SQLR-37)#119
joaoh82 merged 1 commit into
mainfrom
feat/web-mobile-responsive

Conversation

@joaoh82
Copy link
Copy Markdown
Owner

@joaoh82 joaoh82 commented May 10, 2026

Summary

Mobile-first responsive pass on the marketing + docs site at web/. Lands before the rest of the SEO ticket sequence so Google's mobile-first indexing and mobile Core Web Vitals don't penalize the upstream work.

  • Nav is a client component with a 44×44 hamburger and full-width drawer under 760px (Esc closes, body-scroll locked while open).
  • Docs gets a sticky <details> "On this page" drawer surfacing the full TOC on phones (desktop sidebar + on-page TOC unchanged).
  • Viewport is now declared with width=device-width + dark themeColor: #0b0c0e so iOS Safari / Chrome mobile chrome don't flash white.
  • globals.css gets a 900 / 640 / 380px responsive layer: wrap padding, hero / CTA / sec-head spacing, architecture row stacking, SQL surface table reflowing to stacked cards under 640px, SDK tab bar going horizontal-scroll, bench bars / debt cards collapsing, footer single-column, terminal / install-bar / desktop-showcase tuned for narrow viewports.
  • Global guard is html { overflow-x: clip } (not hidden) so position: sticky keeps working for the nav and docs sidebar.
  • Tap targets ≥ 44px on .btn, hamburger, install-bar copy, mobile menu links, docs section toggle.
  • web/README.md documents the responsive layers and the convention for adding new sections.

Acceptance criteria

  • No horizontal scroll at 375 / 390 / 768 / 1024+ px.
  • Tap targets ≥ 44px on primary actions.
  • Code blocks + tables either reflow or scroll inside container — never blow out the page.
  • Bench charts stay legible / interactive on mobile.
  • Nav collapses into a usable mobile menu.
  • npm run typecheck, npm run lint, npm run build all pass locally.

Test plan

  • Pull the branch and run npm run dev; sweep Chrome DevTools device mode at 375 / 390 / 768 / 1024 px on / and /docs.
  • Verify hamburger opens / closes / locks scroll; Esc closes; in-drawer link tap closes.
  • Verify docs <details> drawer scrolls internally and links jump correctly.
  • Real-device check on iOS Safari (any iPhone).
  • Run Lighthouse mobile against a Vercel preview — confirm no responsive-design failures and CWV in "good".

Closes SQLR-37.

Mobile-first pass over the marketing site so SEO + Core Web Vitals
ranking signals don't leak before the rest of the SEO ticket sequence
lands. Renders cleanly with no horizontal scroll at 375 / 390 / 768 /
1024px+ breakpoints; tap targets on primary controls are >= 44px.

- nav.tsx: client-side hamburger + full-width drawer below 760px;
  body-scroll lock and Esc-to-close while open.
- docs/page.tsx: sticky <details> "On this page" panel surfaces the
  full TOC on phones (desktop sidebar + right TOC unchanged).
- layout.tsx: viewport export with device-width / dark themeColor so
  iOS Safari + Chrome mobile chrome stop flashing white.
- globals.css: 900 / 640 / 380px responsive layer — wrap padding,
  hero / CTA / sec-head spacing, terminal / install-bar / SDK / bench /
  footer / desktop showcase tuning, architecture row stacking, SQL
  table -> stacked cards under 640px, SDK tab bar -> horizontal scroll,
  hamburger + mobile-menu + docs-mobile-menu styles. Global guard
  switched to html { overflow-x: clip } to preserve position: sticky.
- README.md: documents the responsive layers + section-local
  breakpoint convention for new sections.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented May 10, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
rust-sqlite Ready Ready Preview, Comment May 10, 2026 6:40am

Request Review

@joaoh82 joaoh82 merged commit 679ba8e into main May 10, 2026
16 of 17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant