From e8c75e974d978f421c0559085d3568113f3897a8 Mon Sep 17 00:00:00 2001 From: mrhid6 Date: Mon, 27 Jul 2026 22:42:22 +0100 Subject: [PATCH] feat(web): responsive page padding and stacking page headers --- web/app/(app)/audit/page.tsx | 2 +- web/app/(app)/keys/[id]/page.tsx | 4 ++-- web/app/(app)/keys/page.tsx | 4 ++-- web/app/(app)/monitors/[id]/edit/page.tsx | 4 ++-- web/app/(app)/monitors/[id]/page.tsx | 4 ++-- web/app/(app)/monitors/new/page.tsx | 2 +- web/app/(app)/monitors/page.tsx | 4 ++-- web/app/(app)/secrets/[group]/page.tsx | 4 ++-- web/app/(app)/secrets/page.tsx | 4 ++-- web/app/(app)/servers/[id]/console/page.tsx | 2 +- web/app/(app)/servers/[id]/page.tsx | 4 ++-- web/app/(app)/servers/new/page.tsx | 2 +- web/app/(app)/servers/page.tsx | 4 ++-- web/app/(app)/settings/license/page.tsx | 4 ++-- web/app/(app)/settings/notifications/page.tsx | 4 ++-- web/app/(app)/settings/page.tsx | 4 ++-- web/app/(app)/steps/page.tsx | 2 +- web/app/(app)/workflows/[id]/page.tsx | 2 +- web/app/(app)/workflows/[id]/runs/[runId]/page.tsx | 4 ++-- web/app/(app)/workflows/[id]/runs/page.tsx | 2 +- web/app/(app)/workflows/page.tsx | 4 ++-- 21 files changed, 35 insertions(+), 35 deletions(-) diff --git a/web/app/(app)/audit/page.tsx b/web/app/(app)/audit/page.tsx index d15c7de..e8f22d6 100644 --- a/web/app/(app)/audit/page.tsx +++ b/web/app/(app)/audit/page.tsx @@ -49,7 +49,7 @@ export default function AuditPage() { }); return ( -
+

Audit Log

diff --git a/web/app/(app)/keys/[id]/page.tsx b/web/app/(app)/keys/[id]/page.tsx index 4a9b9fc..bf7c6d5 100644 --- a/web/app/(app)/keys/[id]/page.tsx +++ b/web/app/(app)/keys/[id]/page.tsx @@ -227,7 +227,7 @@ export default function KeyDetailPage() { if (error || !key) { return ( -

+
Key not found or failed to load.
@@ -239,7 +239,7 @@ export default function KeyDetailPage() { const assignedServerIds = activeAssignments.map((a) => a.server_id); return ( -
+
{showAssign && ( +
{showUpload && setShowUpload(false)} />} -
+

SSH Keys

diff --git a/web/app/(app)/monitors/[id]/edit/page.tsx b/web/app/(app)/monitors/[id]/edit/page.tsx index 8a6b3f8..de1e933 100644 --- a/web/app/(app)/monitors/[id]/edit/page.tsx +++ b/web/app/(app)/monitors/[id]/edit/page.tsx @@ -37,14 +37,14 @@ export default function EditMonitorPage() { if (!monitor) { return ( -

+
Monitor not found.
); } return ( -
+
← {monitor.name} diff --git a/web/app/(app)/monitors/[id]/page.tsx b/web/app/(app)/monitors/[id]/page.tsx index 08ca9d9..f5239ff 100644 --- a/web/app/(app)/monitors/[id]/page.tsx +++ b/web/app/(app)/monitors/[id]/page.tsx @@ -86,7 +86,7 @@ export default function MonitorDetailPage() { if (!monitor) { return ( -
+
Monitor not found.
); @@ -96,7 +96,7 @@ export default function MonitorDetailPage() { const last24 = all.slice(-24); return ( -
+
diff --git a/web/app/(app)/monitors/new/page.tsx b/web/app/(app)/monitors/new/page.tsx index bc536f2..d754dac 100644 --- a/web/app/(app)/monitors/new/page.tsx +++ b/web/app/(app)/monitors/new/page.tsx @@ -20,7 +20,7 @@ export default function NewMonitorPage() { }); return ( -
+
← Monitors diff --git a/web/app/(app)/monitors/page.tsx b/web/app/(app)/monitors/page.tsx index a9d035a..b93fbf4 100644 --- a/web/app/(app)/monitors/page.tsx +++ b/web/app/(app)/monitors/page.tsx @@ -31,8 +31,8 @@ export default function MonitorsPage() { }); return ( -
-
+
+

Monitors

Service uptime and latency checks.

diff --git a/web/app/(app)/secrets/[group]/page.tsx b/web/app/(app)/secrets/[group]/page.tsx index 24bbb1f..aeb23b3 100644 --- a/web/app/(app)/secrets/[group]/page.tsx +++ b/web/app/(app)/secrets/[group]/page.tsx @@ -241,14 +241,14 @@ export default function SecretGroupPage() { }); return ( -
+
{showYaml && setShowYaml(false)} />} ← Back to secrets -
+

{group}

diff --git a/web/app/(app)/secrets/page.tsx b/web/app/(app)/secrets/page.tsx index ff746f0..85ad4d4 100644 --- a/web/app/(app)/secrets/page.tsx +++ b/web/app/(app)/secrets/page.tsx @@ -99,10 +99,10 @@ export default function SecretsPage() { }); return ( -

+
{showNew && setShowNew(false)} />} -
+

Secrets

diff --git a/web/app/(app)/servers/[id]/console/page.tsx b/web/app/(app)/servers/[id]/console/page.tsx index 675db57..c99411b 100644 --- a/web/app/(app)/servers/[id]/console/page.tsx +++ b/web/app/(app)/servers/[id]/console/page.tsx @@ -158,7 +158,7 @@ export default function ServerConsolePage() { if (!server) { return ( -

+
Server not found or failed to load.
); diff --git a/web/app/(app)/servers/[id]/page.tsx b/web/app/(app)/servers/[id]/page.tsx index d0124cf..d886b2f 100644 --- a/web/app/(app)/servers/[id]/page.tsx +++ b/web/app/(app)/servers/[id]/page.tsx @@ -372,14 +372,14 @@ export default function ServerDetailPage() { if (error || !server) { return ( -
+
Server not found or failed to load.
); } return ( -
+
{showGenerateModal && setShowGenerateModal(false)} onSubmit={(opts) => generateKey(opts)} isPending={isGenerating} />} {showUpdatesModal && server.available_updates && ( setShowUpdatesModal(false)} onApply={() => applyUpdates()} isApplying={isApplying} applySuccess={applySuccess} /> diff --git a/web/app/(app)/servers/new/page.tsx b/web/app/(app)/servers/new/page.tsx index 28eb79d..24d9dce 100644 --- a/web/app/(app)/servers/new/page.tsx +++ b/web/app/(app)/servers/new/page.tsx @@ -25,7 +25,7 @@ export default function NewServerPage() { }; return ( -
+

Add Server

diff --git a/web/app/(app)/servers/page.tsx b/web/app/(app)/servers/page.tsx index ae6c59e..3b966de 100644 --- a/web/app/(app)/servers/page.tsx +++ b/web/app/(app)/servers/page.tsx @@ -71,8 +71,8 @@ export default function ServersPage() { const latestVersion = latestVersionData?.version; return ( -

-
+
+

Servers

diff --git a/web/app/(app)/settings/license/page.tsx b/web/app/(app)/settings/license/page.tsx index e4bfdb2..db44d0c 100644 --- a/web/app/(app)/settings/license/page.tsx +++ b/web/app/(app)/settings/license/page.tsx @@ -237,7 +237,7 @@ export default function LicensePage() { if (!license) { return ( -

+

Licence unavailable

The licence state could not be read. Reload the page, and check the server logs if it keeps failing.

@@ -253,7 +253,7 @@ export default function LicensePage() { const hqUrl = process.env.NEXT_PUBLIC_HQ_URL ?? ""; return ( -
+

Licence

diff --git a/web/app/(app)/settings/notifications/page.tsx b/web/app/(app)/settings/notifications/page.tsx index a9fe25a..1b8a19e 100644 --- a/web/app/(app)/settings/notifications/page.tsx +++ b/web/app/(app)/settings/notifications/page.tsx @@ -149,8 +149,8 @@ export default function NotificationSettingsPage() { const { data: channels, isLoading } = useQuery({ queryKey: ["channels"], queryFn: () => api.listChannels() }); return ( -
-
+
+
← Monitors diff --git a/web/app/(app)/settings/page.tsx b/web/app/(app)/settings/page.tsx index 9973fc9..954f00e 100644 --- a/web/app/(app)/settings/page.tsx +++ b/web/app/(app)/settings/page.tsx @@ -160,7 +160,7 @@ export default function SettingsPage() { if (!isAdmin) { return ( -
+

You don't have access

Settings are available to owners and admins only. Ask an administrator if you need access.

@@ -178,7 +178,7 @@ export default function SettingsPage() { } return ( -
+

Settings

diff --git a/web/app/(app)/steps/page.tsx b/web/app/(app)/steps/page.tsx index f99b636..6312d9a 100644 --- a/web/app/(app)/steps/page.tsx +++ b/web/app/(app)/steps/page.tsx @@ -91,7 +91,7 @@ export default function StepsPage() { }; return ( -

+

Steps

diff --git a/web/app/(app)/workflows/[id]/page.tsx b/web/app/(app)/workflows/[id]/page.tsx index 25f78ee..d35a455 100644 --- a/web/app/(app)/workflows/[id]/page.tsx +++ b/web/app/(app)/workflows/[id]/page.tsx @@ -130,7 +130,7 @@ export default function WorkflowBuilder() { }, [lastSaved]); if (!wf) { - return
Loading…
; + return
Loading…
; } const libById = (sid?: string) => (sid ? library?.find((l) => l.step_id === sid) : undefined); diff --git a/web/app/(app)/workflows/[id]/runs/[runId]/page.tsx b/web/app/(app)/workflows/[id]/runs/[runId]/page.tsx index 0612e36..141994f 100644 --- a/web/app/(app)/workflows/[id]/runs/[runId]/page.tsx +++ b/web/app/(app)/workflows/[id]/runs/[runId]/page.tsx @@ -326,7 +326,7 @@ export default function RunDetail() { }; if (isLoading || !run) { - return
Loading…
; + return
Loading…
; } const totalSteps = run.server_runs.reduce((n, s) => n + s.steps.length, 0); @@ -340,7 +340,7 @@ export default function RunDetail() { const ago = fmtDuration(now - startMs); return ( -
+
{/* identity bar */}
diff --git a/web/app/(app)/workflows/[id]/runs/page.tsx b/web/app/(app)/workflows/[id]/runs/page.tsx index ce32ed2..d5c15b3 100644 --- a/web/app/(app)/workflows/[id]/runs/page.tsx +++ b/web/app/(app)/workflows/[id]/runs/page.tsx @@ -22,7 +22,7 @@ export default function WorkflowRunsPage() { const { data: runs, isLoading, error } = useQuery({ queryKey: ["runs", id], queryFn: () => api.listRuns(id) }); return ( -
+
← Back to builder diff --git a/web/app/(app)/workflows/page.tsx b/web/app/(app)/workflows/page.tsx index 957f2c0..2e347d4 100644 --- a/web/app/(app)/workflows/page.tsx +++ b/web/app/(app)/workflows/page.tsx @@ -28,8 +28,8 @@ export default function WorkflowsPage() { }); return ( -
-
+
+

Workflows