From 0c7b625104a8c4299deceb389ed85654ea7a5628 Mon Sep 17 00:00:00 2001 From: Rod Boev Date: Fri, 26 Jun 2026 11:05:05 -0400 Subject: [PATCH 1/2] fix(mobile): hide the dashboard rail link on narrow viewports (#4712) --- static/style.css | 2 ++ tests/test_dashboard_link_ui.py | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/static/style.css b/static/style.css index daa9cab3..82acfce3 100644 --- a/static/style.css +++ b/static/style.css @@ -2571,6 +2571,8 @@ .sidebar-nav .nav-tab svg{width:20px;height:20px;} .sidebar-nav .nav-tab.active{background:var(--accent-bg);} .sidebar-nav .nav-tab.active::before{left:-4px;top:50%;bottom:auto;transform:translateY(-50%);width:3px;height:16px;border-radius:0 2px 2px 0;} + .sidebar-nav .dashboard-link, + .sidebar-nav .dashboard-link.dashboard-link-visible{display:none!important;} .sidebar .panel-view{height:100%;margin-left:52px;} .sidebar .panel-head{padding-right:52px;} .mobile-sidebar-close{display:inline-flex!important;position:absolute;right:10px;top:calc(8px + var(--app-titlebar-safe-top));width:32px;height:32px;z-index:4;background:var(--surface);border:1px solid var(--border);} diff --git a/tests/test_dashboard_link_ui.py b/tests/test_dashboard_link_ui.py index 8c55f4c1..6f70f7a9 100644 --- a/tests/test_dashboard_link_ui.py +++ b/tests/test_dashboard_link_ui.py @@ -68,3 +68,25 @@ def test_dashboard_frontend_uses_browser_url_without_requiring_probe_port(): assert "status.browser_url||status.url" in helper assert "!status.port" in helper assert helper.index("status.browser_url||status.url") < helper.index("!status.port") + + +def test_mobile_dashboard_link_is_scoped_hidden_in_narrow_viewport_css(): + match = re.search( + r"@media\(max-width:640px\)\{([\s\S]*?)\n\s*}\s*\n\s*@media \(hover:none\)", + STYLE_CSS, + re.DOTALL, + ) + assert match is not None + mobile_css = match.group(1) + assert re.search( + r"\.sidebar-nav\s+\.dashboard-link,\s*\.sidebar-nav\s+\.dashboard-link\.dashboard-link-visible\s*\{\s*display\s*:\s*none\s*!important\s*;\s*}", + mobile_css, + re.DOTALL, + ) + + +def test_desktop_dashboard_link_button_stays_in_desktop_nav(): + rail_nav = re.search(r'