From 3d7ac9ca3a0c4ecd951061e554a359e08cb23665 Mon Sep 17 00:00:00 2001
From: Utkarsh Kumar Singh <171649419+uipath-utkarsh@users.noreply.github.com>
Date: Sat, 4 Jul 2026 19:45:03 +0530
Subject: [PATCH] feat(apollo-react): register case-management canvas icon
The CaseManagementProject icon shipped in canvas/icons but was never wired into the getIcon registry, so 'case-management' fell back to a generic box/Lucide glyph. Map it like its sibling project icons (flow-project, agentic-process) so string-driven consumers resolve the real icon.
---
.../apollo-react/src/canvas/utils/icon-registry.test.tsx | 7 +++++++
packages/apollo-react/src/canvas/utils/icon-registry.tsx | 1 +
2 files changed, 8 insertions(+)
diff --git a/packages/apollo-react/src/canvas/utils/icon-registry.test.tsx b/packages/apollo-react/src/canvas/utils/icon-registry.test.tsx
index 3d4666033..96baa589a 100644
--- a/packages/apollo-react/src/canvas/utils/icon-registry.test.tsx
+++ b/packages/apollo-react/src/canvas/utils/icon-registry.test.tsx
@@ -34,4 +34,11 @@ describe('getIcon', () => {
expect(img).toBeInTheDocument();
expect(img).toHaveAttribute('src', 'https://example.com/icon.svg');
});
+
+ it('returns the CaseManagementProject icon for the registered case-management id', () => {
+ const Icon = getIcon('case-management');
+ const { container } = render();
+ // The registered UIPath icon renders its own SVG (id), not a Lucide fallback.
+ expect(container.querySelector('#case-management-project')).toBeInTheDocument();
+ });
});
diff --git a/packages/apollo-react/src/canvas/utils/icon-registry.tsx b/packages/apollo-react/src/canvas/utils/icon-registry.tsx
index 67d2fe973..a6b3b8034 100644
--- a/packages/apollo-react/src/canvas/utils/icon-registry.tsx
+++ b/packages/apollo-react/src/canvas/utils/icon-registry.tsx
@@ -35,6 +35,7 @@ const iconRegistry: Record = {
api: ({ w, h }) => ,
'agentic-process': ({ w, h }) => ,
'flow-project': ({ w, h }) => ,
+ 'case-management': ({ w, h }) => ,
decision: ({ w, h }) => ,
switch: ({ w, h }) => ,
uipath: ({ w, h }) => ,