Add mobile responsive sidebar, OpenClaw route

This commit is contained in:
Gan, Jimmy
2026-02-20 00:15:36 +08:00
parent 64ecd99dc7
commit a345ba1466
3 changed files with 38 additions and 4 deletions
+9 -1
View File
@@ -5,6 +5,7 @@
import Gitea from "./routes/Gitea.svelte";
import Files from "./routes/Files.svelte";
import Terminal from "./routes/Terminal.svelte";
import OpenClaw from "./routes/OpenClaw.svelte";
import Settings from "./routes/Settings.svelte";
import Login from "./routes/Login.svelte";
import { onMount } from "svelte";
@@ -12,6 +13,7 @@
let page = $state("dashboard");
let dark = $state(false);
let sidebarOpen = $state(false);
let authorized = $state(false);
let loading = $state(true);
@@ -70,9 +72,13 @@
<Login />
{:else}
<div class="flex h-screen overflow-hidden bg-surface-50 {dark ? 'dark bg-surface-900' : ''}">
<Sidebar bind:page {dark} {toggleTheme} {logout} />
<Sidebar bind:page {dark} {toggleTheme} {logout} bind:sidebarOpen />
<main class="flex-1 overflow-auto">
<div class="max-w-[1400px] mx-auto p-6 lg:p-8">
<!-- Mobile hamburger -->
<button class="md:hidden mb-4 p-2 rounded-lg hover:bg-surface-200 {dark ? 'hover:bg-surface-700 text-surface-300' : 'text-surface-600'}" onclick={() => sidebarOpen = true} aria-label="Open menu">
<svg class="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path stroke-linecap="round" stroke-linejoin="round" d="M4 6h16M4 12h16M4 18h16" /></svg>
</button>
{#if page === "dashboard"}
<Dashboard />
{:else if page === "docker"}
@@ -83,6 +89,8 @@
<Files />
{:else if page === "terminal"}
<Terminal />
{:else if page === "openclaw"}
<OpenClaw />
{:else if page === "settings"}
<Settings />
{/if}