diff --git a/internal/web/embed_test.go b/internal/web/embed_test.go index 4194a07..53baec5 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: 1080px)") || !strings.Contains(html, "@media (max-width: 800px)") { + t.Fatal("landing is missing tablet and phone breakpoints") + } +} + 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..27cdc38 100644 --- a/internal/web/static/index.html +++ b/internal/web/static/index.html @@ -75,6 +75,7 @@ @@ -566,7 +685,8 @@