From 3ab9b96054efc776106fa57dce277c9c90c463fd Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Fri, 11 Jul 2025 16:49:24 +0200 Subject: [PATCH] catalog,org: update alpha entity page cards Signed-off-by: Patrik Oldsberg --- .changeset/slick-rats-vanish.md | 5 +++++ .changeset/wise-signs-invite.md | 5 +++++ plugins/catalog/src/alpha/entityCards.tsx | 23 ++++++++++++++--------- plugins/org/src/alpha.tsx | 10 ++++++---- 4 files changed, 30 insertions(+), 13 deletions(-) create mode 100644 .changeset/slick-rats-vanish.md create mode 100644 .changeset/wise-signs-invite.md diff --git a/.changeset/slick-rats-vanish.md b/.changeset/slick-rats-vanish.md new file mode 100644 index 0000000000..0928218a4b --- /dev/null +++ b/.changeset/slick-rats-vanish.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-org': patch +--- + +Updated card extensions for the new frontend system to use the new entity predicates, and switch the card type to `info` for the user and group profile cards. diff --git a/.changeset/wise-signs-invite.md b/.changeset/wise-signs-invite.md new file mode 100644 index 0000000000..e6426c7f09 --- /dev/null +++ b/.changeset/wise-signs-invite.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-catalog': patch +--- + +Updated card extensions for the new frontend system to use the new entity predicates, and to not show the about card on User and Group pages. diff --git a/plugins/catalog/src/alpha/entityCards.tsx b/plugins/catalog/src/alpha/entityCards.tsx index 3913f8b2b7..f99c5961a1 100644 --- a/plugins/catalog/src/alpha/entityCards.tsx +++ b/plugins/catalog/src/alpha/entityCards.tsx @@ -56,6 +56,11 @@ export const catalogAboutEntityCard = EntityCardBlueprint.makeWithOverrides({ } return originalFactory({ type: 'info', + filter: { + $not: { + kind: { $in: ['user', 'group'] }, + }, + }, async loader() { const { InternalAboutCard } = await import( '../components/AboutCard/AboutCard' @@ -72,7 +77,7 @@ export const catalogLinksEntityCard = EntityCardBlueprint.make({ name: 'links', params: { type: 'info', - filter: 'has:links', + filter: { 'metadata.links': { $exists: true } }, loader: async () => import('../components/EntityLinksCard').then(m => compatWrapper(), @@ -84,7 +89,7 @@ export const catalogLabelsEntityCard = EntityCardBlueprint.make({ name: 'labels', params: { type: 'info', - filter: 'has:labels', + filter: { 'metadata.labels': { $exists: true } }, loader: async () => import('../components/EntityLabelsCard').then(m => compatWrapper(), @@ -95,7 +100,7 @@ export const catalogLabelsEntityCard = EntityCardBlueprint.make({ export const catalogDependsOnComponentsEntityCard = EntityCardBlueprint.make({ name: 'depends-on-components', params: { - filter: 'kind:component', + filter: { kind: 'component' }, loader: async () => import('../components/DependsOnComponentsCard').then(m => compatWrapper(), @@ -106,7 +111,7 @@ export const catalogDependsOnComponentsEntityCard = EntityCardBlueprint.make({ export const catalogDependsOnResourcesEntityCard = EntityCardBlueprint.make({ name: 'depends-on-resources', params: { - filter: 'kind:component', + filter: { kind: 'component' }, loader: async () => import('../components/DependsOnResourcesCard').then(m => compatWrapper(), @@ -117,7 +122,7 @@ export const catalogDependsOnResourcesEntityCard = EntityCardBlueprint.make({ export const catalogHasComponentsEntityCard = EntityCardBlueprint.make({ name: 'has-components', params: { - filter: 'kind:system', + filter: { kind: 'system' }, loader: async () => import('../components/HasComponentsCard').then(m => compatWrapper(), @@ -128,7 +133,7 @@ export const catalogHasComponentsEntityCard = EntityCardBlueprint.make({ export const catalogHasResourcesEntityCard = EntityCardBlueprint.make({ name: 'has-resources', params: { - filter: 'kind:system', + filter: { kind: 'system' }, loader: async () => import('../components/HasResourcesCard').then(m => compatWrapper(), @@ -139,7 +144,7 @@ export const catalogHasResourcesEntityCard = EntityCardBlueprint.make({ export const catalogHasSubcomponentsEntityCard = EntityCardBlueprint.make({ name: 'has-subcomponents', params: { - filter: 'kind:component', + filter: { kind: 'component' }, loader: async () => import('../components/HasSubcomponentsCard').then(m => compatWrapper(), @@ -150,7 +155,7 @@ export const catalogHasSubcomponentsEntityCard = EntityCardBlueprint.make({ export const catalogHasSubdomainsEntityCard = EntityCardBlueprint.make({ name: 'has-subdomains', params: { - filter: 'kind:domain', + filter: { kind: 'domain' }, loader: async () => import('../components/HasSubdomainsCard').then(m => compatWrapper(), @@ -161,7 +166,7 @@ export const catalogHasSubdomainsEntityCard = EntityCardBlueprint.make({ export const catalogHasSystemsEntityCard = EntityCardBlueprint.make({ name: 'has-systems', params: { - filter: 'kind:domain', + filter: { kind: 'domain' }, loader: async () => import('../components/HasSystemsCard').then(m => compatWrapper(), diff --git a/plugins/org/src/alpha.tsx b/plugins/org/src/alpha.tsx index e5d6aa6675..92ae7d8801 100644 --- a/plugins/org/src/alpha.tsx +++ b/plugins/org/src/alpha.tsx @@ -26,7 +26,8 @@ import { EntityCardBlueprint } from '@backstage/plugin-catalog-react/alpha'; const EntityGroupProfileCard = EntityCardBlueprint.make({ name: 'group-profile', params: { - filter: 'kind:group', + type: 'info', + filter: { kind: 'group' }, loader: async () => import('./components/Cards/Group/GroupProfile/GroupProfileCard').then(m => compatWrapper(), @@ -38,7 +39,7 @@ const EntityGroupProfileCard = EntityCardBlueprint.make({ const EntityMembersListCard = EntityCardBlueprint.make({ name: 'members-list', params: { - filter: 'kind:group', + filter: { kind: 'group' }, loader: async () => import('./components/Cards/Group/MembersList/MembersListCard').then(m => compatWrapper(), @@ -50,7 +51,7 @@ const EntityMembersListCard = EntityCardBlueprint.make({ const EntityOwnershipCard = EntityCardBlueprint.make({ name: 'ownership', params: { - filter: 'kind:group,user', + filter: { kind: { $in: ['group', 'user'] } }, loader: async () => import('./components/Cards/OwnershipCard/OwnershipCard').then(m => compatWrapper(), @@ -69,7 +70,8 @@ const EntityUserProfileCard = EntityCardBlueprint.makeWithOverrides({ }, factory(originalFactory, { config }) { return originalFactory({ - filter: 'kind:user', + type: 'info', + filter: { kind: 'user' }, loader: async () => import('./components/Cards/User/UserProfileCard/UserProfileCard').then( m =>