From 9190fa0f10b6f1b802e4a9b84edea0db9971868b Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Sun, 23 Aug 2026 17:34:07 -0400 Subject: [PATCH] =?UTF-8?q?refactor(frontend):=20the=20pay-down=20edits=20?= =?UTF-8?q?the=20first=20script=20dropped=20after=20its=20assertion=20stop?= =?UTF-8?q?=20=E2=80=94=20SharedWithMe/ProjectView=20page-header+empty-msg?= =?UTF-8?q?=20remainders,=20DesignSystems/Settings=20field-hint+.input=20t?= =?UTF-8?q?rims,=20pane=20form-buttons=20deletions=20(milestone=20302=20st?= =?UTF-8?q?ep=204)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5 --- .../src/components/rules/RulebookDetailPane.vue | 1 - .../src/components/rules/RulebookListPane.vue | 1 - frontend/src/views/DesignSystemsView.vue | 13 +++---------- frontend/src/views/ProjectView.vue | 7 ++----- frontend/src/views/SettingsView.vue | 17 +---------------- frontend/src/views/SharedWithMeView.vue | 4 +--- 6 files changed, 7 insertions(+), 36 deletions(-) diff --git a/frontend/src/components/rules/RulebookDetailPane.vue b/frontend/src/components/rules/RulebookDetailPane.vue index ff2b975..77b72e2 100644 --- a/frontend/src/components/rules/RulebookDetailPane.vue +++ b/frontend/src/components/rules/RulebookDetailPane.vue @@ -145,7 +145,6 @@ li:hover { background: var(--fs-surface-hover); } border: 1px solid var(--fs-border-color); border-radius: 6px; padding: 0.5rem; } -.form-buttons { display: flex; gap: 0.5rem; } .subscriptions { margin-top: 2rem; border-top: 1px solid var(--fs-border-color); diff --git a/frontend/src/components/rules/RulebookListPane.vue b/frontend/src/components/rules/RulebookListPane.vue index 972f006..b808c3d 100644 --- a/frontend/src/components/rules/RulebookListPane.vue +++ b/frontend/src/components/rules/RulebookListPane.vue @@ -70,6 +70,5 @@ li:hover { background: var(--fs-surface-hover); } border: 1px solid var(--fs-border-color); border-radius: 6px; padding: 0.5rem; } -.form-buttons { display: flex; gap: 0.5rem; } button { cursor: pointer; } diff --git a/frontend/src/views/DesignSystemsView.vue b/frontend/src/views/DesignSystemsView.vue index d48c90a..68f50a8 100644 --- a/frontend/src/views/DesignSystemsView.vue +++ b/frontend/src/views/DesignSystemsView.vue @@ -1287,20 +1287,13 @@ function isSelfContainedColour(value: string): boolean { } .field-hint { - margin: 0.3rem 0 0; - font-size: 0.8rem; - color: var(--fs-text-tertiary); - line-height: 1.5; + line-height: 1.5; /* remainder over the shared recipe */ } +/* remainder over .fs-input (components.css, canon #2336; m302) */ .input { width: 100%; - padding: 0.45rem 0.6rem; - background: var(--fs-surface-page); - border: 1px solid var(--fs-border-color); - border-radius: var(--fs-radius-sm); - color: var(--fs-text-primary); - font: inherit; + box-sizing: border-box; } diff --git a/frontend/src/views/ProjectView.vue b/frontend/src/views/ProjectView.vue index ed5cc02..ad68a17 100644 --- a/frontend/src/views/ProjectView.vue +++ b/frontend/src/views/ProjectView.vue @@ -1203,10 +1203,7 @@ async function confirmDelete() { /* ── Layout ─────────────────────────────────────────────────── */ /* ── Nav bar ─────────────────────────────────────────────────── */ .page-header { - display: flex; - justify-content: space-between; - align-items: center; - margin-bottom: 1.5rem; + margin-bottom: 1.5rem; /* roomier than the shared recipe */ } .page-header-actions { display: flex; gap: 0.5rem; align-items: center; } .plan-title-input { @@ -1816,7 +1813,7 @@ async function confirmDelete() { .note-title { font-weight: 500; min-width: 0; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .note-date { font-size: 0.75rem; color: var(--fs-text-tertiary); flex-shrink: 0; } -.empty-msg { color: var(--fs-text-tertiary); font-size: 0.875rem; text-align: center; padding: 1rem; } +.empty-msg { text-align: center; padding: 1rem; } /* remainder over the shared recipe */ /* Deliberately NOT styled like .empty-msg: "no tasks" and "the tasks did not load" look identical to a user, and conflating them is what let a silent failure read as an empty project. */ diff --git a/frontend/src/views/SettingsView.vue b/frontend/src/views/SettingsView.vue index 8fa0574..57e08ca 100644 --- a/frontend/src/views/SettingsView.vue +++ b/frontend/src/views/SettingsView.vue @@ -2731,25 +2731,10 @@ async function deleteUser(userId: number) { margin-bottom: 0.35rem; color: var(--fs-text-primary); } +/* remainder over .fs-input (components.css, canon #2336; m302) */ .input { width: 100%; - padding: 0.45rem 0.7rem; - border: 1px solid var(--fs-border-color); - border-radius: var(--fs-radius-sm); - font-size: 0.9rem; - background: var(--fs-surface-page); - color: var(--fs-text-primary); box-sizing: border-box; - font-family: inherit; -} -.input:focus { - outline: none; - border-color: var(--fs-accent); -} -.field-hint { - margin: 0.3rem 0 0; - font-size: 0.78rem; - color: var(--fs-text-tertiary); } .field-hint-warn { display: block; diff --git a/frontend/src/views/SharedWithMeView.vue b/frontend/src/views/SharedWithMeView.vue index 79e9bf7..13d7e75 100644 --- a/frontend/src/views/SharedWithMeView.vue +++ b/frontend/src/views/SharedWithMeView.vue @@ -98,7 +98,7 @@ onMounted(async () => { } .page-header { - margin-bottom: 2rem; + margin-bottom: 2rem; /* roomier than the shared recipe */ } .page-title { @@ -247,8 +247,6 @@ onMounted(async () => { .perm-admin { background: color-mix(in srgb, var(--fs-warning) 15%, transparent); color: var(--fs-warning); } .empty-msg { - color: var(--fs-text-tertiary); - font-size: 0.88rem; margin: 0; padding: 1rem 0; }