diff --git a/.changeset/young-singers-learn.md b/.changeset/young-singers-learn.md
new file mode 100644
index 0000000000..9df5d91fe3
--- /dev/null
+++ b/.changeset/young-singers-learn.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-splunk-on-call': patch
+---
+
+Refactor plugin Card component to not rerender contents unnecessarily.
diff --git a/plugins/splunk-on-call/src/components/EntitySplunkOnCallCard.tsx b/plugins/splunk-on-call/src/components/EntitySplunkOnCallCard.tsx
index 26521ea9ee..54784b1f4e 100644
--- a/plugins/splunk-on-call/src/components/EntitySplunkOnCallCard.tsx
+++ b/plugins/splunk-on-call/src/components/EntitySplunkOnCallCard.tsx
@@ -33,7 +33,7 @@ import { MissingApiKeyOrApiIdError } from './Errors';
import { EscalationPolicy } from './Escalation';
import { Incidents } from './Incident';
import { TriggerDialog } from './TriggerDialog';
-import { RoutingKey, Team, User } from './types';
+import { RoutingKey, User } from './types';
import { configApiRef, useApi } from '@backstage/core-plugin-api';
import {
@@ -219,37 +219,6 @@ export const EntitySplunkOnCallCard = (props: EntitySplunkOnCallCardProps) => {
);
}
- const Content = ({
- team,
- routingKey,
- usersHashMap,
- }: {
- team: Team | undefined;
- routingKey: RoutingKey | undefined;
- usersHashMap: any;
- }) => {
- const teamName = team?.name ?? '';
-
- return (
- <>
-
- {usersHashMap && team && (
-
- )}
-
- >
- );
- };
-
const triggerLink: IconLinkVerticalProps = {
label: 'Create Incident',
onClick: handleDialog,
@@ -267,30 +236,45 @@ export const EntitySplunkOnCallCard = (props: EntitySplunkOnCallCardProps) => {
return (
<>
- {teams.map((team, i) => (
-
-
- Team: {team && team.name ? team.name : ''}
- ,
- ,
- ]}
- />
-
-
- {
+ const teamName = team?.name ?? '';
+ return (
+
+
+ Team: {team && team.name ? team.name : ''}
+ ,
+ ,
+ ]}
/>
-
-
- ))}
+
+
+
+ {entityData?.usersHashMap && team && (
+
+ )}
+
+
+
+ );
+ })}
>
);
};