From 5da4cc9e6401cfba034fd4c7dcd5ab3c906d40b6 Mon Sep 17 00:00:00 2001 From: xRangerDE Date: Mon, 11 May 2026 02:09:45 +0200 Subject: [PATCH] cleanup: unify filter inputs + monospace template inputs into shared classes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Five filter-style text inputs (vodFilterInput, streamerListFilter, archiveSearchQuery, chatViewerFilter) plus three monospace template inputs (vod / parts / clip filename templates) were each carrying their own ~80 chars of inline style declaring near-identical background / border / radius / padding combinations. Consolidated into three new utility classes: - .filter-input — base flex-1 minWidth-180 filter look, used by vodFilterInput - .filter-input.compact — small variant for the sidebar streamer filter (smaller padding, smaller font, no flex, percent-width with margin) - .filter-input.flex-1-1-240 — larger variant for the archive search box (240px basis, 200px min, smaller radius/padding to fit the multi-control form-row it sits in) - .input-monospace — applies the same monospace stack (Consolas / Segoe UI Mono / monospace) used by .chat-viewer-time and .viewer-modal-list-chat to text inputs that hold code-shaped values Side effect: vodHideDownloadedToggle had a hardcoded `accent-color: var(--accent); cursor:pointer;` inline style, which was redundant after the global custom-checkbox styling landed in 4.6.26 (the checkbox is now ::after-driven, accent-color does nothing). Removed. Zero visual change. The inputs render identically because the class CSS values match what was inline. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/index.html | 14 +++++++------- src/styles.css | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 7 deletions(-) diff --git a/src/index.html b/src/index.html index c770d64..9aae7c7 100644 --- a/src/index.html +++ b/src/index.html @@ -223,7 +223,7 @@ - +
@@ -262,7 +262,7 @@
- +
@@ -456,7 +456,7 @@

Archiv durchsuchen

Suche nach Dateinamen, Streamern oder Datum-Strings. Treffer zeigen Recordings (Live + VOD); zugehoerige Chat- und Events-Dateien werden als Companion-Buttons angeboten.

- + + - + - +
Platzhalter: {title} {id} {channel} {date} {part} {part_padded} {trim_start} {trim_end} {trim_length} {date_custom="yyyy-MM-dd"}
Template-Check: OK
diff --git a/src/styles.css b/src/styles.css index fd18baa..8da4767 100644 --- a/src/styles.css +++ b/src/styles.css @@ -392,6 +392,46 @@ body { font-size: 13px; } +/* ============================================ + FILTER INPUTS — shared family for search/filter boxes + ============================================ + Used by the primary VOD filter above the grid, the archive search, + and (in a compact variant) the sidebar streamer-list filter that + only shows once the list crosses the threshold. */ +.filter-input { + flex: 1; + min-width: 180px; + background: var(--bg-card); + border: 1px solid var(--border-soft); + border-radius: 6px; + padding: 8px 12px; + color: var(--text); + font-size: 13px; +} + +.filter-input.compact { + width: calc(100% - 16px); + margin: 0 8px 8px; + padding: 4px 8px; + border-radius: 4px; + font-size: 12px; + flex: none; + min-width: 0; +} + +.filter-input.flex-1-1-240 { + flex: 1 1 240px; + min-width: 200px; + border-radius: 4px; + padding: 6px 10px; +} + +/* Monospace input utility — for filename-template fields and similar + places where the value is expected to be a code-shaped string. */ +.input-monospace { + font-family: 'Consolas', 'Segoe UI Mono', monospace; +} + .streamer-item .remove { margin-left: auto; opacity: 0;