diff --git a/AutoPilot.App.csproj b/AutoPilot.App.csproj index dbf473b1a1..e637f24fb7 100644 --- a/AutoPilot.App.csproj +++ b/AutoPilot.App.csproj @@ -72,6 +72,8 @@ + + diff --git a/Components/Layout/MainLayout.razor b/Components/Layout/MainLayout.razor index 426b2f3ca6..eda6305d52 100644 --- a/Components/Layout/MainLayout.razor +++ b/Components/Layout/MainLayout.razor @@ -1,13 +1,36 @@ @inherits LayoutComponentBase
- + +@code { + private bool flyoutOpen; + + private void ToggleFlyout() + { + flyoutOpen = !flyoutOpen; + } + + private void CloseFlyout() + { + flyoutOpen = false; + } +} diff --git a/Components/Layout/MainLayout.razor.css b/Components/Layout/MainLayout.razor.css index 896ea41174..ffa2e807b8 100644 --- a/Components/Layout/MainLayout.razor.css +++ b/Components/Layout/MainLayout.razor.css @@ -23,18 +23,64 @@ main { background: #1a1a2e; } -@media (max-width: 640.98px) { - .sidebar { - height: auto; - max-height: 40vh; - } +/* Mobile: hide desktop sidebar, show top bar + flyout */ +.desktop-only { + display: none; +} + +.mobile-only { + display: block; +} + +.mobile-top-bar { + background: linear-gradient(180deg, #1a1a2e 0%, #16213e 100%); + flex-shrink: 0; +} + +.flyout-backdrop { + display: none; + position: fixed; + inset: 0; + background: rgba(0,0,0,0.5); + z-index: 99; +} + +.flyout-backdrop.open { + display: block; +} + +.flyout-panel { + position: fixed; + top: 0; + left: 0; + bottom: 0; + width: 320px; + max-width: 92vw; + background: linear-gradient(180deg, #1a1a2e 0%, #16213e 100%); + z-index: 100; + transform: translateX(-100%); + transition: transform 0.25s ease; + overflow-y: auto; +} + +.flyout-panel.open { + transform: translateX(0); } +/* Desktop: show sidebar, hide mobile elements */ @media (min-width: 641px) { .page { flex-direction: row; } + .desktop-only { + display: block; + } + + .mobile-only { + display: none !important; + } + .sidebar { width: 280px; height: 100vh; diff --git a/Components/Layout/SessionSidebar.razor b/Components/Layout/SessionSidebar.razor index 241b5fbf10..f3cec441b9 100644 --- a/Components/Layout/SessionSidebar.razor +++ b/Components/Layout/SessionSidebar.razor @@ -4,154 +4,215 @@ @inject IJSRuntime JS @inject NavigationManager Nav -