From 2362383275cf28178090254a968b6ad1d7b35aa8 Mon Sep 17 00:00:00 2001 From: Amr Mohammed El-Sheraey <141947355+AmrMsCLL@users.noreply.github.com> Date: Thu, 5 Nov 2026 13:22:15 +0200 Subject: [PATCH] fix: aligned Backups tables and a stable scrollbar gutter Every project's archive table, and the requests table, use fixed column widths, so columns line up from card to card; actions sit on the right and narrow screens scroll the table instead of squeezing it. The page and every scrolling container reserve the scrollbar's space, so nothing shifts when a scrollbar appears; the body padding MUI adds when a dialog locks scrolling is cancelled because that space is already reserved. --- app/src/web/pages/Backups.tsx | 56 ++++++++++++++++++++++------------- app/src/web/styles.css | 15 ++++++++++ 2 files changed, 51 insertions(+), 20 deletions(-) diff --git a/app/src/web/pages/Backups.tsx b/app/src/web/pages/Backups.tsx index 5a84489..0af199e 100644 --- a/app/src/web/pages/Backups.tsx +++ b/app/src/web/pages/Backups.tsx @@ -31,7 +31,7 @@ function Archive({ archive, onRestore }: { archive: BackupSummary; onRestore: () {bytes(archive.bytes)} {archive.bytes !== undefined && ( - + download @@ -117,24 +117,33 @@ export function Backups() { {data.requests.length > 0 && (

Recent requests

- - - {data.requests.map((entry) => ( - - - - - - - - ))} - -
- - - {entry.action} {entry.project} - {entry.archive && {entry.archive}} - {entry.by}{entry.output}{entry.at && timeAgo(entry.at)}
+
+ + + + + + + + + + {data.requests.map((entry) => ( + + + + + + + + ))} + +
+ + + {entry.action} {entry.project} + {entry.archive && {entry.archive}} + {entry.by}{entry.output}{entry.at && timeAgo(entry.at)}
+
)} {data.projects.map(({ project, archives }) => ( @@ -146,7 +155,14 @@ export function Backups() {
- +
+ + + + + + + diff --git a/app/src/web/styles.css b/app/src/web/styles.css index ead8ad8..0bae120 100644 --- a/app/src/web/styles.css +++ b/app/src/web/styles.css @@ -3,6 +3,21 @@ @import '@xterm/xterm/css/xterm.css'; @source '../../node_modules/@project-graphite/ui/dist'; +@layer base { + html, + .overflow-auto, + .overflow-y-auto, + .overflow-scroll, + .overflow-y-scroll, + .log-frame { + scrollbar-gutter: stable; + } + + body { + padding-right: 0 !important; + } +} + @layer components { .stat-card { @apply rounded-xl border border-line bg-surface p-4;
taken