From 9e1f591b2567ce8418c21e4a344726762b3db54b Mon Sep 17 00:00:00 2001 From: wtclaude Date: Mon, 21 Sep 2026 09:10:43 -0500 Subject: [PATCH] fix(admin): stop a long action name printing over the activity row beside it MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The dashboard renders an activity row action in a fixed `width: 110` span with `flex: none` and no overflow handling, so a name wider than that overflows its box and prints on top of the detail text next to it. Core own actions all fit. A module one need not: `module-rust` writes `rust.account.unlink.staff` when staff sever a player Steam link, and it overlapped `steamId: …` on a live dashboard. `module-uo` `uoLink.account.link` is already close to the edge. `minWidth` instead of `width` keeps the column aligned for every short name and lets a longer one push the detail right rather than sit under it. One property, verified in a browser with both rows on screen. Found while walking module-rust phase 6; raised here rather than worked around there, because a module may legitimately name an action and shortening one module names only moves the ceiling to the next one. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01PMH6bw1jXMgbyF3ZWGEzSM --- client/src/routes/admin/views/Dashboard.jsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/client/src/routes/admin/views/Dashboard.jsx b/client/src/routes/admin/views/Dashboard.jsx index 9a2ca63..1dd5fd4 100644 --- a/client/src/routes/admin/views/Dashboard.jsx +++ b/client/src/routes/admin/views/Dashboard.jsx @@ -166,7 +166,12 @@ export default function Dashboard() { className="sans" style={{ display: 'flex', gap: 14, alignItems: 'center', padding: '13px 18px', borderBottom: '1px solid var(--line-soft)', fontSize: '0.86rem' }} > - + {/* `minWidth` rather than `width`: the column still lines up for core's + own short action names, and a longer one — a module's namespaced + action, say `rust.account.unlink.staff` — grows the box instead of + overflowing it and printing on top of the detail beside it. Found + on a live dashboard with a module installed. */} + {a.action} {formatDetail(a)}