diff --git a/frontend/js/app.js b/frontend/js/app.js index e43b456..b713f96 100644 --- a/frontend/js/app.js +++ b/frontend/js/app.js @@ -64,6 +64,8 @@ function route() { if (hash === '#/login') { sidebar.style.display = 'none'; app.style.marginLeft = '0'; + const mb = document.getElementById('mobileMenuBtn'); + if (mb) mb.style.display = 'none'; currentView = login; login.render(app); return; @@ -72,6 +74,8 @@ function route() { // Show sidebar for authenticated views sidebar.style.display = ''; app.style.marginLeft = ''; + const mb = document.getElementById('mobileMenuBtn'); + if (mb) mb.style.display = ''; // Update user info in sidebar updateSidebarUser(); diff --git a/frontend/js/views/login.js b/frontend/js/views/login.js index a86e4d2..b8cc660 100644 --- a/frontend/js/views/login.js +++ b/frontend/js/views/login.js @@ -14,8 +14,8 @@ export async function render(container) { const isSetup = config.needsSetup; container.innerHTML = ` -
-
+
+
@@ -117,7 +117,7 @@ export async function render(container) {
Support Access
- +
diff --git a/frontend/landing.html b/frontend/landing.html index 6f90783..c5d3e4e 100644 --- a/frontend/landing.html +++ b/frontend/landing.html @@ -117,13 +117,27 @@ footer { max-width:1200px; margin:0 auto; padding:40px 24px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; border-top:1px solid var(--border); } footer .links a { color:var(--dim); margin-left:16px; font-size:13px; } + /* Horizontal-scroll wrapper for wide tables on mobile */ + .table-scroll { width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; } + @media (max-width:768px) { - .nav-links { display:none; } + /* Hide section anchor links + the secondary Sign In button; keep primary CTA */ + .nav-links a:not(.btn), .nav-links a.btn-outline { display:none; } + .nav-links { margin-left:auto; } + .nav-inner { padding:12px 16px; } + .feature-grid { grid-template-columns:1fr; } .pricing-grid { grid-template-columns:1fr; } - .compare-table { font-size:12px; } + .compare-table { font-size:12px; min-width:560px; } .compare-table th, .compare-table td { padding:8px; } footer { flex-direction:column; text-align:center; } + + /* 44px tap targets for all buttons on mobile */ + .btn { min-height:44px; } + .hero { padding:110px 16px 60px; } + .features, .platforms, .pricing, .compare { padding:60px 16px; } + .cta { padding:60px 16px; } + .screenshot { padding:0 16px; margin-bottom:60px; } } @@ -209,6 +223,7 @@

How We Compare

+
@@ -226,6 +241,7 @@
ScreenTinkerYodeckScreenCloudOptiSigns
Hardware Lock-inNoneRPi focusedChromecastVarious
+