From e41fc10c77c1f00f915bc1c530ef09855f17381e Mon Sep 17 00:00:00 2001 From: Harkamal Randhawa Date: Sun, 24 May 2026 10:09:50 -0600 Subject: [PATCH] Rename shop items to plain sprite labels and improve thumbnail visibility. Use code-side display names in the shop UI so labels stay correct even when DB rows lag, and add a neutral thumbnail glow so dark colors remain visible. --- app/globals.css | 13 +++++ components/shop/shop-content.tsx | 47 +++++++++++-------- components/shop/shop-item-preview-modal.tsx | 4 +- lib/character/presets.ts | 38 +++++++-------- lib/room-backgrounds.ts | 8 ++-- lib/shop-catalog.ts | 16 ++++++- ...00_update_shop_and_style_display_names.sql | 30 ++++++++++++ supabase/seed.sql | 46 +++++------------- 8 files changed, 122 insertions(+), 80 deletions(-) create mode 100644 supabase/migrations/20260525210000_update_shop_and_style_display_names.sql diff --git a/app/globals.css b/app/globals.css index ea8a992..c663222 100644 --- a/app/globals.css +++ b/app/globals.css @@ -262,6 +262,19 @@ @apply border-2 border-border bg-card px-2 py-1 font-pixel leading-snug text-card-foreground; box-shadow: var(--retro-shadow-sm); } + + .shop-item-thumbnail { + background: hsl(var(--muted) / 0.22); + } + + .shop-item-thumbnail-glow { + background: radial-gradient( + circle at 50% 58%, + hsl(52 55% 90% / 0.55) 0%, + hsl(48 30% 88% / 0.18) 45%, + transparent 72% + ); + } } @keyframes emotion-pop { diff --git a/components/shop/shop-content.tsx b/components/shop/shop-content.tsx index ba143c2..e304949 100644 --- a/components/shop/shop-content.tsx +++ b/components/shop/shop-content.tsx @@ -22,6 +22,7 @@ import { } from "@/lib/shop-storage"; import { getLayerLabel, + getShopItemDisplayName, type ShopItemRecord, type ShopLayerId, } from "@/lib/shop-catalog"; @@ -103,6 +104,8 @@ function ShopItemCard({ ? null : getShopItemThumbnailColors(item, characterColors); + const displayName = getShopItemDisplayName(item); + const actionLabel = (() => { if (isPending) { return owned ? "Updating..." : "Processing..."; @@ -123,27 +126,33 @@ function ShopItemCard({
-
- {room ? ( - // eslint-disable-next-line @next/next/no-img-element - - ) : thumbnailColors ? ( - +
+ {thumbnailColors || room ? ( +
) : null} +
+ {room ? ( + // eslint-disable-next-line @next/next/no-img-element + + ) : thumbnailColors ? ( + + ) : null} +

- {item.name} + {displayName}

Preview on your bit

-

{item.name}

+

{getShopItemDisplayName(item)}