From 0d6e0e3df49ef61c8545b0374f30e4c4bf39f066 Mon Sep 17 00:00:00 2001 From: Lucas Date: Fri, 3 Apr 2026 14:38:03 +0800 Subject: [PATCH 1/2] Add logo field to Listing card with thumbnail URL override --- packages/catalog-realm/catalog-app/listing/listing.gts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/catalog-realm/catalog-app/listing/listing.gts b/packages/catalog-realm/catalog-app/listing/listing.gts index 402296fc29b..c813151a7dd 100644 --- a/packages/catalog-realm/catalog-app/listing/listing.gts +++ b/packages/catalog-realm/catalog-app/listing/listing.gts @@ -13,6 +13,7 @@ import { } from 'https://cardstack.com/base/card-api'; import { commandData } from 'https://cardstack.com/base/resources/command-data'; import MarkdownField from 'https://cardstack.com/base/markdown'; +import { ImageDef } from 'https://cardstack.com/base/image-file-def'; import { Spec } from 'https://cardstack.com/base/spec'; import { Skill } from 'https://cardstack.com/base/skill'; import type { @@ -566,6 +567,7 @@ export class Listing extends CardDef { static headerColor = '#6638ff'; static isListingDef = true; + @field logo = linksTo(() => ImageDef); @field name = contains(StringField); @field summary = contains(MarkdownField); @field specs = linksToMany(() => Spec); @@ -583,6 +585,12 @@ export class Listing extends CardDef { }, }); + @field cardThumbnailURL = contains(StringField, { + computeVia(this: Listing) { + return this.logo?.url ?? this.cardInfo?.cardThumbnailURL; + }, + }); + protected getGenerateExampleMenuItem( params: GetMenuItemParams, ): MenuItemOptions | undefined { From 43fab77025ef41cd411b127e9c5d7cc327e38bf9 Mon Sep 17 00:00:00 2001 From: Lucas Date: Fri, 3 Apr 2026 17:01:30 +0800 Subject: [PATCH 2/2] rename --- packages/catalog-realm/catalog-app/listing/listing.gts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/catalog-realm/catalog-app/listing/listing.gts b/packages/catalog-realm/catalog-app/listing/listing.gts index c813151a7dd..3c67c720c1d 100644 --- a/packages/catalog-realm/catalog-app/listing/listing.gts +++ b/packages/catalog-realm/catalog-app/listing/listing.gts @@ -567,7 +567,7 @@ export class Listing extends CardDef { static headerColor = '#6638ff'; static isListingDef = true; - @field logo = linksTo(() => ImageDef); + @field thumbnail = linksTo(() => ImageDef); @field name = contains(StringField); @field summary = contains(MarkdownField); @field specs = linksToMany(() => Spec); @@ -587,7 +587,7 @@ export class Listing extends CardDef { @field cardThumbnailURL = contains(StringField, { computeVia(this: Listing) { - return this.logo?.url ?? this.cardInfo?.cardThumbnailURL; + return this.thumbnail?.url ?? this.cardInfo?.cardThumbnailURL; }, });