diff --git a/.changeset/healthy-feet-kick.md b/.changeset/healthy-feet-kick.md
new file mode 100644
index 0000000000..732f2164c3
--- /dev/null
+++ b/.changeset/healthy-feet-kick.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-home': minor
+---
+
+Added view of entities grouped by kind to make it easier to distinguish entities with different kind but same name
diff --git a/plugins/home/src/homePageComponents/StarredEntities/Content.tsx b/plugins/home/src/homePageComponents/StarredEntities/Content.tsx
index 4654a7f860..4818aad809 100644
--- a/plugins/home/src/homePageComponents/StarredEntities/Content.tsx
+++ b/plugins/home/src/homePageComponents/StarredEntities/Content.tsx
@@ -20,7 +20,11 @@ import {
entityRouteParams,
entityRouteRef,
} from '@backstage/plugin-catalog-react';
-import { parseEntityRef, stringifyEntityRef } from '@backstage/catalog-model';
+import {
+ Entity,
+ parseEntityRef,
+ stringifyEntityRef,
+} from '@backstage/catalog-model';
import { useApi, useRouteRef } from '@backstage/core-plugin-api';
import { Link, Progress, ResponseErrorPanel } from '@backstage/core-components';
import {
@@ -87,37 +91,55 @@ export const Content = (props: {
if (entities.loading) {
return ;
}
+ const groupedEntities: { [kind: string]: Entity[] } = {};
+
+ entities.value?.forEach(entity => {
+ const kind = entity.kind;
+ if (!groupedEntities[kind]) {
+ groupedEntities[kind] = [];
+ }
+ groupedEntities[kind].push(entity);
+ });
+
+ const entityEntries = Object.entries(groupedEntities);
return entities.error ? (
- {entities.value
- ?.sort((a, b) =>
- (a.metadata.title ?? a.metadata.name).localeCompare(
- b.metadata.title ?? b.metadata.name,
- ),
- )
- .map(entity => (
-
+