Skip to content

fix(media): logo tile polish — no crop, no gloss over real logos, neutral chips#17

Merged
KruGoL merged 2 commits into
mainfrom
fix/project-logo-tile
Jul 10, 2026
Merged

fix(media): logo tile polish — no crop, no gloss over real logos, neutral chips#17
KruGoL merged 2 commits into
mainfrom
fix/project-logo-tile

Conversation

@KruGoL

@KruGoL KruGoL commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Problem

Project logos and category chips are rendered with assumptions that break on real-world data (transparent SVGs, non-square images, dark accent colors):

  1. Logos were cropped — the tile image used edge-to-edge object-cover, so any non-1:1 logo (e.g. the 32x30 Unicity line-ball SVG) lost its edges.
  2. Gloss leaked through transparent logos — the blik/mesh/lighting stack was layered under the image expecting an opaque icon to cover it.
  3. White fringes around dark logos — the tile gradient mixes the accent with white; with dark accents the lightened stop showed through letterbox slivers and edge antialiasing.
  4. Tiles got squished in flex rows (Featured card) and corner radius did not scale with tile size (sm looked near-circular, md squarer).
  5. Category chips took the project accentColor — with #000000 the GAME chip was invisible.
  6. Leftover frames around logo tiles (ring-2/border on the marketplace card, border-2 on the featured card, border-4 in the page preview) — same class as the frames already removed from the dev-portal/backoffice overview pages.

Fix

  • ProjectLogo: object-contain, gloss only behind the monogram fallback, flat accent fill under real logos, baked-in shrink-0, size-proportional corner radius.
  • FeaturedProjectCard: frameless logo, stronger bottom scrim for text readability over typographic banners.
  • MarketplaceProjectCard / ProjectPagePreview: frameless logo, neutral category chips, fixed-brand Trophy tint.

Tests

81/81 passing, including new ProjectLogo suite (un-cropped contain, no gloss with a real logo, monogram+gloss fallback, placeholder-URL fallback, shrink-0) and frameless/neutral-chip assertions on both cards. tsc --noEmit and tsup build clean.

…tral chips

- ProjectLogo: object-contain instead of object-cover so non-square logos
  are not cropped; letterbox areas show the accent fill
- ProjectLogo: gloss stack (mesh + top lighting + corner blik) renders only
  behind the monogram fallback — it used to leak through transparent SVG logos
- ProjectLogo: flat accent background under real logos; the white-mixed
  gradient (fallback-only now) produced light fringes around dark logos
- ProjectLogo: shrink-0 baked into the tile so flex rows can never squish it
- ProjectLogo: corner radius scales with tile size (~25% of edge) so sm/md/lg
  read as the same squircle
- FeaturedProjectCard: drop border-2 frame around the logo; stronger bottom
  scrim so card text stays readable over typographic banners
- MarketplaceProjectCard: drop ring-2/border frame around the logo; neutral
  category chip — project accentColor (e.g. #000000) made it unreadable
- ProjectPagePreview: neutral category chip, fixed-brand Trophy tint, and no
  border-4 frame around the logo (mirrors dev-portal/backoffice overview fix)
… edge

md (44px) still used rounded-xl (12px = 27%) and lg at its mobile width
(56px) kept 16px (28.6%) — both read rounder than sm (9px/36 = 25%).
@KruGoL KruGoL merged commit 7cf7e2f into main Jul 10, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant