From f871cbe7ffafdef95080264c3cbd10141d77f848 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Wed, 9 Sep 2026 22:24:41 +0000 Subject: [PATCH 1/2] Make the site readable on phones and in dark theme. Give landing sections a solid dark background so copy no longer sits on the purple canvas, collapse the header behind a menu on small screens, and keep the dashboard nav and tables from overflowing. Co-authored-by: Shangeeth Sivan --- internal/web/embed_test.go | 23 +++++ internal/web/static/index.html | 168 ++++++++++++++++++++++++++++++--- 2 files changed, 180 insertions(+), 11 deletions(-) diff --git a/internal/web/embed_test.go b/internal/web/embed_test.go index 4194a07..3fae70b 100644 --- a/internal/web/embed_test.go +++ b/internal/web/embed_test.go @@ -25,6 +25,29 @@ func TestLandingUsesVelarisNotThree(t *testing.T) { } } +func TestLandingIsMobileAndDarkThemeSafe(t *testing.T) { + b, err := FS.ReadFile("static/index.html") + if err != nil { + t.Fatal(err) + } + html := string(b) + if !strings.Contains(html, `name="viewport"`) || !strings.Contains(html, "width=device-width") { + t.Fatal("landing is missing a mobile viewport") + } + if !strings.Contains(html, "color-scheme: dark") { + t.Fatal("dark theme is missing color-scheme") + } + if !strings.Contains(html, `--section: #0c0b10`) { + t.Fatal("dark theme is missing a solid section background") + } + if !strings.Contains(html, `id="landing-menu"`) || !strings.Contains(html, "landing-nav") { + t.Fatal("landing is missing a mobile menu") + } + if !strings.Contains(html, "@media (max-width: 800px)") { + t.Fatal("landing is missing a mobile breakpoint") + } +} + func TestLandingUsesAppLogo(t *testing.T) { if _, err := FS.ReadFile("static/assets/syncidian.png"); err != nil { t.Fatal("web assets must include syncidian.png") diff --git a/internal/web/static/index.html b/internal/web/static/index.html index 861c4c9..df101a3 100644 --- a/internal/web/static/index.html +++ b/internal/web/static/index.html @@ -75,6 +75,7 @@ @@ -566,7 +682,8 @@