From 22b7a928daba627828e9a20886df9c52429f04ad Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Thu, 24 Sep 2026 06:45:43 -0400 Subject: [PATCH] refactor(frontend): derive the sweep-row visual language into sweep-shared.css (#3207) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The note sweep, rule sweep, preference drift and rule history panes each restated the same row recipe in a scoped block. It now lives once in assets/sweep-shared.css under `sweep-` names (unprefixed globals would leak into the unrelated scoped .row-title/.lede/.age/.actions elsewhere), imported unscoped beside each pane's own scoped remainder. Moved only what was shared: RuleHistoryPanel takes .sweep-state and keeps its button row head; PreferenceDrift keeps its tiny-type footnote and overrides the action row's layout. Lede and state now use the body-sm token instead of 0.85rem/0.9rem (13px vs 13.6/14.4px) — one value, from the design system. Co-Authored-By: Claude Opus 5.5 --- frontend/src/assets/sweep-shared.css | 134 ++++++++++++++++++ frontend/src/components/NoteSweepPane.vue | 80 +++-------- .../components/rules/PreferenceDriftPane.vue | 52 ++----- .../src/components/rules/RuleHistoryPanel.vue | 11 +- .../src/components/rules/RuleSweepPane.vue | 94 ++++-------- 5 files changed, 193 insertions(+), 178 deletions(-) create mode 100644 frontend/src/assets/sweep-shared.css diff --git a/frontend/src/assets/sweep-shared.css b/frontend/src/assets/sweep-shared.css new file mode 100644 index 0000000..0127ceb --- /dev/null +++ b/frontend/src/assets/sweep-shared.css @@ -0,0 +1,134 @@ +/* The sweep-row visual language (#3207). + * + * A "sweep" is a pane that lists records in the order they most need a human + * — the note verification sweep, the rule sweep, preference drift — as one + * raised row per record: an italic title that opens it, an age or date pushed + * right, a small grid of facts, and a row of plain buttons. It was written + * out four times, scoped, before this sheet existed. + * + * Imported UNSCOPED (` + + + +