Skip to content

connectors: render brand logos in the installed-connector list#241

Merged
keysersoft merged 1 commit into
mainfrom
keysersoft/connector-logos-ui
May 21, 2026
Merged

connectors: render brand logos in the installed-connector list#241
keysersoft merged 1 commit into
mainfrom
keysersoft/connector-logos-ui

Conversation

@keysersoft
Copy link
Copy Markdown
Contributor

Summary

The /connectors page on cloud.anythingmcp.com renders a 2-letter type badge (REST, GraphQL, MCP, DB) instead of the brand mark — every imported connector looks generic.

This PR brings the real logos (the ones already used on anythingmcp.com/marketplace) into the cloud app so the WordPress card shows the W, the WooCommerce card shows Woo, the Bluesky card shows the butterfly, and so on for every adapter that has an SVG.

Backend

  • New resolveAdapterIcon() helper that maps a Connector row to the source adapter's icon field. Preference: connector.config.adapterSlug (set at import time → survives renames), with name-match fallback for legacy rows.
  • AdaptersService.importAdapter now writes { adapterSlug } into Connector.config — no DB migration (the column is already Json?).
  • ConnectorsService.findByOrg / findById return { ...connector, icon: string | null }.

Frontend

  • 102 SVGs added under packages/frontend/public/logos/connectors/ (80 from the marketing site + 22 newly fetched from simpleicons.org under CC0).
  • New <ConnectorLogo> component on the list page renders the brand SVG (24×24, white card, ring, object-contain) with onError fallback to the existing type badge.

Coverage

80 / 167 catalog adapters have a logo today. The remaining 87 fall back to the type badge — same visual as before. Adding more is one drop-in SVG away (public/logos/connectors/<icon>.svg).

Test plan

  • tsc --noEmit clean (backend + frontend)
  • Full backend Jest suite: 2127/2127 pass
  • Visual: list page renders WordPress/WooCommerce/WhatsApp/Bluesky/etc. brand SVGs; unmatched adapters keep the old badge

The /connectors page rendered a 2-letter type badge (REST/GraphQL/MCP/
DB) instead of the source adapter's brand mark — every connector
looked generic. Add real logos like the marketplace card and the
detail page header.

Backend
- Persist the source adapterSlug in Connector.config at import time
  (no DB migration: config is already a Json? column).
- Enrich findByOrg + findById responses with a resolved `icon` field
  via a new resolveAdapterIcon() that prefers config.adapterSlug and
  falls back to a name match against the catalog. Survives renames
  for connectors imported after this change; degrades gracefully for
  legacy rows or hand-rolled connectors.

Frontend
- Add /logos/connectors/*.svg (102 brand marks: 80 carried over from
  the marketing site + 22 newly fetched from simpleicons.org under
  CC0).
- New <ConnectorLogo> component on the list page renders the brand
  SVG with onError fallback to the existing type badge — connectors
  without a matching SVG keep the previous look.

Coverage today is 80/167 catalog adapters with a logo; the rest can
be added by dropping an SVG into the folder with the matching icon
slug. No code change needed per-connector.
@keysersoft keysersoft merged commit 74cabbf into main May 21, 2026
11 checks passed
@keysersoft keysersoft deleted the keysersoft/connector-logos-ui branch May 21, 2026 16:17
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