From 84925d4406ce718ada91b07b87ca128e38375555 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Kucharczyk?= Date: Sat, 20 Jun 2026 08:15:49 +0200 Subject: [PATCH] Fix string filter input focus "blink"; match other inputs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The string-criterion filter input (e.g. Playevent Note) had transition-all, so on focus its border-color animated from the near-white default to the focus blue — a visible white "blink". It also lacked an explicit border width and focus:border-brand/ring-brand, so its focus came from the forms-plugin default. Drop transition-all (the other inputs snap to focus), add border + focus:border-brand focus:ring-brand, and use rounded-base — so it focuses instantly to the same brand border as every other input. Co-Authored-By: Claude Opus 4.8 --- common/components/filters.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/common/components/filters.py b/common/components/filters.py index acd29ac..deec900 100644 --- a/common/components/filters.py +++ b/common/components/filters.py @@ -1572,7 +1572,12 @@ def StringFilter( ("placeholder", placeholder), ( "class", - "w-full rounded border-default-medium p-2 bg-neutral-secondary-medium text-body transition-all " + "w-full rounded-base border border-default-medium p-2 " + "bg-neutral-secondary-medium text-body " + "focus:border-brand focus:ring-brand " + # No transition-* here: with transition-all the border-color animated + # from near-white default → brand on focus, which read as a white + # "blink". The other inputs snap to the focus state, so this does too. + ("opacity-50 cursor-not-allowed" if input_disabled else ""), ), ]