From 2cc0458070cb4cf1ad7602b2af377053d4a83dc9 Mon Sep 17 00:00:00 2001 From: lucaronin Date: Sun, 29 Mar 2026 22:04:37 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20Properties=20panel=20=E2=80=94=20hash-ba?= =?UTF-8?q?sed=20tag=20colors,=20single-item=20tags,=20chip=20consistency?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Single-item tag arrays (e.g. Tags: [Has Pic]) now render as pills instead of plain text: detectPropertyType checks key patterns before value type - Tags get deterministic hash-based colors (one color per tag name) instead of all-blue default — manual overrides still take precedence - All chips (Type, Status, Date, Tags) share consistent sizing: 12px font, rounded-md, matching padding - Type label font-size matches other property labels (was 10px, now 12px) - Tag add button is solid muted pill instead of dashed circle Co-Authored-By: Claude Opus 4.6 (1M context) --- src/components/EditableValue.tsx | 17 +++++++----- src/components/PropertyValueCells.tsx | 13 +++++---- src/components/TagsDropdown.test.tsx | 6 ++-- src/components/TypeSelector.tsx | 4 +-- src/utils/propertyTypes.test.ts | 8 ++++++ src/utils/propertyTypes.ts | 3 +- src/utils/tagStyles.test.ts | 32 ++++++++++++++++++---- src/utils/tagStyles.ts | 13 ++++++++- tests/smoke/properties-panel-style.spec.ts | 27 ++++++++++++++++++ 9 files changed, 97 insertions(+), 26 deletions(-) diff --git a/src/components/EditableValue.tsx b/src/components/EditableValue.tsx index 28d3cdc7..edaf66b5 100644 --- a/src/components/EditableValue.tsx +++ b/src/components/EditableValue.tsx @@ -1,5 +1,6 @@ import { useState, useCallback, useRef } from 'react' import { normalizeUrl, openExternalUrl } from '../utils/url' +import { getTagStyle } from '../utils/tagStyles' export function UrlValue({ value, @@ -211,11 +212,12 @@ export function TagPillList({ ) : ( handleStartEdit(idx)} @@ -223,8 +225,8 @@ export function TagPillList({ > {item}