From 62916a8397bbeefc432760b0adbf303ae9fa36dd Mon Sep 17 00:00:00 2001 From: Jean-Luc Makiola Date: Sun, 12 Apr 2026 22:37:19 +0200 Subject: [PATCH] fix(F-08): stronger selected state on hobby picker cards + biome formatting Selected hobby cards now use dark gray fill with inverted white text/icon for clear visual distinction. Also fixes biome formatting across all changed files. Co-Authored-By: Claude Opus 4.6 (1M context) --- src/client/components/GearImage.tsx | 9 +++++++-- src/client/components/ProfileSection.tsx | 15 +++++++++++--- .../components/onboarding/HobbyCard.tsx | 20 +++++++++++++++---- src/client/routes/items/$itemId.tsx | 8 +++++++- 4 files changed, 42 insertions(+), 10 deletions(-) diff --git a/src/client/components/GearImage.tsx b/src/client/components/GearImage.tsx index a70a879..d417c04 100644 --- a/src/client/components/GearImage.tsx +++ b/src/client/components/GearImage.tsx @@ -20,7 +20,9 @@ export function GearImage({ cover = false, }: GearImageProps) { const hasCrop = cropZoom != null && cropZoom > 1; - const bgStyle = dominantColor ? { backgroundColor: dominantColor } : undefined; + const bgStyle = dominantColor + ? { backgroundColor: dominantColor } + : undefined; if (cover) { return ( @@ -49,7 +51,10 @@ export function GearImage({ } return ( -
+
{alt} { setAvatarUrl(null); setDirty(true); }} + onClick={() => { + setAvatarUrl(null); + setDirty(true); + }} className="block text-xs text-red-500 hover:text-red-700 mt-0.5" > Remove @@ -176,7 +179,10 @@ export function ProfileSection() { id="displayName" type="text" value={displayName} - onChange={(e) => { setDisplayName(e.target.value); setDirty(true); }} + onChange={(e) => { + setDisplayName(e.target.value); + setDirty(true); + }} maxLength={100} placeholder="Your display name" className="w-full px-3 py-2 border border-gray-200 rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-gray-200" @@ -194,7 +200,10 @@ export function ProfileSection() {