From 0559e1a50365078e64d839a1947435b2b5366bd9 Mon Sep 17 00:00:00 2001 From: npeter83 Date: Sun, 9 Aug 2026 05:16:19 +0200 Subject: [PATCH] =?UTF-8?q?refactor(input):=20R10=20S3b=20=E2=80=94=20one?= =?UTF-8?q?=20input=20recipe,=20ring=20focus=20everywhere?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Unify text inputs onto the form.tsx inputCls look (surface bg, rounded-lg, 2px accent RING focus), replacing the settings-family border-focus style app-wide: - deleted 3 duplicate local `const inputCls` (KeyGate/SettingsPanel/SetupWizard) → import the shared one; a 4th (Welcome, py-2.5) kept local but re-styled to match. - ~30 inline settings inputs: default full-size fields → inputCls; size variants (pager/ table-filter/chat textarea/plex/glass-card) keep their width/radius/padding but swap bg-card→bg-surface and border-focus→ring-focus. glass-card/bg-transparent bgs left as-is. - refreshed the form.tsx doc-comment (the old two-style split is gone). The ring is the more visible / a11y-correct focus cue, matching R9's focus foundation. --- frontend/src/components/AddToPlaylist.tsx | 2 +- frontend/src/components/AdminUsers.tsx | 4 ++-- frontend/src/components/ChannelTags.tsx | 2 +- frontend/src/components/ChatThread.tsx | 2 +- frontend/src/components/ColumnSortControl.tsx | 2 +- frontend/src/components/ConfigPanel.tsx | 2 +- frontend/src/components/Feed.tsx | 6 +++--- frontend/src/components/KeyGate.tsx | 4 +--- frontend/src/components/Messages.tsx | 3 ++- frontend/src/components/Pager.tsx | 4 ++-- frontend/src/components/Playlists.tsx | 2 +- frontend/src/components/PlaylistsRail.tsx | 4 ++-- frontend/src/components/PlexCollectionEditor.tsx | 4 ++-- frontend/src/components/PlexPlaylistAdd.tsx | 2 +- frontend/src/components/PlexPlaylistView.tsx | 2 +- frontend/src/components/PlexSidebar.tsx | 6 +++--- frontend/src/components/SavedViewsWidget.tsx | 4 ++-- frontend/src/components/Scheduler.tsx | 4 ++-- frontend/src/components/SettingsPanel.tsx | 5 +---- frontend/src/components/SetupWizard.tsx | 4 +--- frontend/src/components/ShareDialog.tsx | 2 +- frontend/src/components/Sidebar.tsx | 4 ++-- frontend/src/components/TagManager.tsx | 4 ++-- frontend/src/components/Welcome.tsx | 2 +- frontend/src/components/tableHeader.tsx | 2 +- frontend/src/components/ui/form.tsx | 11 ++++++----- 26 files changed, 44 insertions(+), 49 deletions(-) diff --git a/frontend/src/components/AddToPlaylist.tsx b/frontend/src/components/AddToPlaylist.tsx index 0cfc74c2..b7fb452d 100644 --- a/frontend/src/components/AddToPlaylist.tsx +++ b/frontend/src/components/AddToPlaylist.tsx @@ -156,7 +156,7 @@ export default function AddToPlaylist({ } }} placeholder={t("playlists.newPlaylist")} - className="flex-1 min-w-0 bg-card border border-border rounded-md px-2 py-1 text-xs outline-hidden focus:border-accent" + className="flex-1 min-w-0 bg-surface border border-border rounded-md px-2 py-1 text-xs focus:outline-hidden focus:ring-2 focus:ring-accent/40" /> diff --git a/frontend/src/components/AdminUsers.tsx b/frontend/src/components/AdminUsers.tsx index 31e038cc..76e74b0e 100644 --- a/frontend/src/components/AdminUsers.tsx +++ b/frontend/src/components/AdminUsers.tsx @@ -347,7 +347,7 @@ function AdminInvites() { value={newEmail} onChange={(e) => setNewEmail(e.target.value)} placeholder={t("settings.invites.addPlaceholder")} - className="flex-1 min-w-0 bg-card border border-border rounded-xl px-3 py-2 text-sm outline-hidden focus:border-accent" + className="flex-1 min-w-0 bg-surface border border-border rounded-xl px-3 py-2 text-sm focus:outline-hidden focus:ring-2 focus:ring-accent/40" />