From 8fe2db18137f8842806c50bf54790b4d20185230 Mon Sep 17 00:00:00 2001 From: Robin Bially <7304732+RobinBially@users.noreply.github.com> Date: Sat, 5 Sep 2026 19:32:55 +0200 Subject: [PATCH 1/2] fix(gui): align dashboard settings and status cards --- .../src/content/docs/guides/web-dashboard.md | 7 + docs/pr-assets/dashboard-settings-aligned.jpg | Bin 0 -> 100611 bytes gui/src/App.tsx | 2 +- gui/src/pages/dashboard-overview-head.tsx | 10 +- gui/src/pages/dashboard-overview-sections.tsx | 106 +++++------ gui/src/styles-dashboard-workspace.css | 165 +++++++++++++++++- gui/src/styles.css | 8 +- gui/tests/mobile-topbar-layout.test.ts | 6 +- 8 files changed, 241 insertions(+), 63 deletions(-) create mode 100644 docs/pr-assets/dashboard-settings-aligned.jpg diff --git a/docs-site/src/content/docs/guides/web-dashboard.md b/docs-site/src/content/docs/guides/web-dashboard.md index 3c46748a31..849e5f4608 100644 --- a/docs-site/src/content/docs/guides/web-dashboard.md +++ b/docs-site/src/content/docs/guides/web-dashboard.md @@ -68,6 +68,13 @@ missing credential — the proxy did not recognise the request as loopback. Open the address the proxy prints on startup (usually `http://127.0.0.1:`), and prefer that exact host and port over a LAN IP or an alias. +## Dashboard layout + +Overview uses matching status cards and full-width settings rows. On wide screens, labels share +one column and model/effort controls share another. On narrower screens, controls move below their +labels in the same reading order. Long version labels are shortened visually; hover the version +badge or the Version card to read the full value. + ## What you can do | Area | What it does | diff --git a/docs/pr-assets/dashboard-settings-aligned.jpg b/docs/pr-assets/dashboard-settings-aligned.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8cf7c1f26fded4179cccc22ced8bc8995971a8a2 GIT binary patch literal 100611 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%0Atvgf>SC(y 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 literal 0 HcmV?d00001 diff --git a/gui/src/App.tsx b/gui/src/App.tsx index c7fb89b6e2..91890ce664 100644 --- a/gui/src/App.tsx +++ b/gui/src/App.tsx @@ -265,7 +265,7 @@ export default function App() { > opencodex - v{displayedVersion} + v{displayedVersion} ); diff --git a/gui/src/pages/dashboard-overview-head.tsx b/gui/src/pages/dashboard-overview-head.tsx index 9cccc0e26c..44b3f8ac3c 100644 --- a/gui/src/pages/dashboard-overview-head.tsx +++ b/gui/src/pages/dashboard-overview-head.tsx @@ -48,16 +48,16 @@ export function DashboardOverviewHead({

-
+
+
{(["v1", "default", "v2"] as const).map(mode => ( @@ -76,7 +76,7 @@ export function DashboardOverviewHead({ {online ? t("dash.online") : t("dash.offline")}
-
{t("dash.version")}
{health?.version ?? "—"}
+
{t("dash.version")}
{health?.version ?? "—"}
{t("dash.uptime")}
{health ? formatUptime(health.uptime, locale) : "—"}
{t("dash.providers")}
{providers.length}
diff --git a/gui/src/pages/dashboard-overview-sections.tsx b/gui/src/pages/dashboard-overview-sections.tsx index 7bdf282931..ef8d84fb8d 100644 --- a/gui/src/pages/dashboard-overview-sections.tsx +++ b/gui/src/pages/dashboard-overview-sections.tsx @@ -44,7 +44,7 @@ export function DashboardEffortCapPanel({ apiBase, d }: { apiBase: string; d: Da if (!maModeResolved || maMode === "v1") return null; return ( -
+
{t("dash.effortCapLabel")} @@ -62,56 +62,58 @@ export function DashboardEffortCapPanel({ apiBase, d }: { apiBase: string; d: Da - ({ value: e, label: e })), - ]} - onChange={async (v) => { - if (effortCapSaving) return; - setEffortCapSaving(true); - try { - const res = await fetch(`${apiBase}/api/effort-caps`, { - method: "PUT", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify({ subagentEffortCap: v || null }), - }); - const data = await requireJson<{ ok: boolean; effortCap?: string | null; subagentEffortCap?: string | null }>(res); - setEffortCap(data.effortCap ?? ""); - setSubagentEffortCap(data.subagentEffortCap ?? ""); - } catch { /* ignore */ } - finally { setEffortCapSaving(false); } - }} - disabled={effortCapSaving} - label={t("dash.subagentEffortCapLabel")} - align="right" - /> +
+ ({ value: e, label: e })), + ]} + onChange={async (v) => { + if (effortCapSaving) return; + setEffortCapSaving(true); + try { + const res = await fetch(`${apiBase}/api/effort-caps`, { + method: "PUT", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ subagentEffortCap: v || null }), + }); + const data = await requireJson<{ ok: boolean; effortCap?: string | null; subagentEffortCap?: string | null }>(res); + setEffortCap(data.effortCap ?? ""); + setSubagentEffortCap(data.subagentEffortCap ?? ""); + } catch { /* ignore */ } + finally { setEffortCapSaving(false); } + }} + disabled={effortCapSaving} + label={t("dash.subagentEffortCapLabel")} + align="right" + /> +
); @@ -642,7 +644,7 @@ export function DashboardSidecarPanels({ d }: { d: Dash }) { {`⚠ ${shadowSourceModelBadge(shadowCall?.sourceModels)}`}
-
+