From 858391492b9a355407c94da1b01fc64b104800b7 Mon Sep 17 00:00:00 2001 From: Pavan Nambi <92514129+Pavan-Nambi@users.noreply.github.com> Date: Fri, 8 Aug 2025 19:56:07 +0530 Subject: [PATCH] Docs and improve trigger icon handling (#13769) image #13757 and #13766 --------- Co-authored-by: Charles Bochet --- .../SettingsDevelopersWebhookForm.tsx | 2 +- .../getWorkflowDiagramTriggerNode.test.ts | 80 +++++++++---------- .../workflow-trigger/utils/getTriggerIcon.ts | 5 ++ .../src/content/developers/local-setup.mdx | 2 +- 4 files changed, 47 insertions(+), 42 deletions(-) diff --git a/packages/twenty-front/src/modules/settings/developers/components/SettingsDevelopersWebhookForm.tsx b/packages/twenty-front/src/modules/settings/developers/components/SettingsDevelopersWebhookForm.tsx index 77ccc1e3a0..f78bc2a1cc 100644 --- a/packages/twenty-front/src/modules/settings/developers/components/SettingsDevelopersWebhookForm.tsx +++ b/packages/twenty-front/src/modules/settings/developers/components/SettingsDevelopersWebhookForm.tsx @@ -175,7 +175,7 @@ export const SettingsDevelopersWebhookForm = ({
{ const result = getWorkflowDiagramTriggerNode({ trigger }); expect(result).toMatchInlineSnapshot(` - { - "data": { - "hasNextStepIds": false, - "icon": "IconHandMove", - "name": "Manual trigger", - "nodeType": "trigger", - "position": { - "x": 0, - "y": 0, - }, - "stepId": "trigger", - "triggerType": "MANUAL", - }, - "id": "trigger", - "position": { - "x": 0, - "y": 0, - }, - } - `); +{ + "data": { + "hasNextStepIds": false, + "icon": "IconUser", + "name": "Manual trigger", + "nodeType": "trigger", + "position": { + "x": 0, + "y": 0, + }, + "stepId": "trigger", + "triggerType": "MANUAL", + }, + "id": "trigger", + "position": { + "x": 0, + "y": 0, + }, +} +`); }); }); @@ -205,26 +205,26 @@ describe('getWorkflowDiagramTriggerNode', () => { const result = getWorkflowDiagramTriggerNode({ trigger }); expect(result).toMatchInlineSnapshot(` - { - "data": { - "hasNextStepIds": false, - "icon": "IconHandMove", - "name": "Custom Trigger Name", - "nodeType": "trigger", - "position": { - "x": 0, - "y": 0, - }, - "stepId": "trigger", - "triggerType": "MANUAL", - }, - "id": "trigger", - "position": { - "x": 0, - "y": 0, - }, - } - `); +{ + "data": { + "hasNextStepIds": false, + "icon": "IconUser", + "name": "Custom Trigger Name", + "nodeType": "trigger", + "position": { + "x": 0, + "y": 0, + }, + "stepId": "trigger", + "triggerType": "MANUAL", + }, + "id": "trigger", + "position": { + "x": 0, + "y": 0, + }, +} +`); }); }); diff --git a/packages/twenty-front/src/modules/workflow/workflow-trigger/utils/getTriggerIcon.ts b/packages/twenty-front/src/modules/workflow/workflow-trigger/utils/getTriggerIcon.ts index f9087fa22e..37400d165f 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-trigger/utils/getTriggerIcon.ts +++ b/packages/twenty-front/src/modules/workflow/workflow-trigger/utils/getTriggerIcon.ts @@ -2,10 +2,15 @@ import { WorkflowTrigger } from '@/workflow/types/Workflow'; import { splitWorkflowTriggerEventName } from '@/workflow/utils/splitWorkflowTriggerEventName'; import { DATABASE_TRIGGER_TYPES } from '@/workflow/workflow-trigger/constants/DatabaseTriggerTypes'; import { OTHER_TRIGGER_TYPES } from '@/workflow/workflow-trigger/constants/OtherTriggerTypes'; +import { isNonEmptyString } from '@sniptt/guards'; export const getTriggerIcon = ( trigger: WorkflowTrigger, ): string | undefined => { + if (trigger.type === 'MANUAL' && isNonEmptyString(trigger.settings.icon)) { + return trigger.settings.icon; + } + if (trigger.type === 'DATABASE_EVENT') { const eventName = splitWorkflowTriggerEventName( trigger.settings.eventName, diff --git a/packages/twenty-website/src/content/developers/local-setup.mdx b/packages/twenty-website/src/content/developers/local-setup.mdx index c2b781236c..cb551e37ec 100644 --- a/packages/twenty-website/src/content/developers/local-setup.mdx +++ b/packages/twenty-website/src/content/developers/local-setup.mdx @@ -12,7 +12,7 @@ info: The guide for contributors (or curious developers) who want to run Twenty Before you can install and use Twenty, make sure you install the following on your computer: - [Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) -- [Node v22](https://nodejs.org/en/download) +- [Node v24.5.0](https://nodejs.org/en/download) - [yarn v4](https://yarnpkg.com/getting-started/install) - [nvm](https://github.com/nvm-sh/nvm/blob/master/README.md)