Add icon to duplicate + split step service in two (#14521)

As title. Created a new step operations service.

Also added Duplicate Icon
<img width="500" height="767" alt="Capture d’écran 2025-09-16 à 09 42
19"
src="https://github.com/user-attachments/assets/4d789639-62f6-4fea-afb8-396868d7c2cb"
/>
This commit is contained in:
Thomas Trompette
2025-09-16 16:45:16 +02:00
committed by GitHub
parent e9f277fe93
commit 4b889db06c
9 changed files with 953 additions and 589 deletions
@@ -6,7 +6,9 @@ import { RightDrawerFooter } from '@/ui/layout/right-drawer/components/RightDraw
import { SelectableList } from '@/ui/layout/selectable-list/components/SelectableList';
import { useDuplicateStep } from '@/workflow/workflow-steps/hooks/useDuplicateStep';
import { useTheme } from '@emotion/react';
import { useLingui } from '@lingui/react/macro';
import { useId } from 'react';
import { IconCopyPlus } from 'twenty-ui/display';
import { Button } from 'twenty-ui/input';
import { MenuItem } from 'twenty-ui/navigation';
import { getOsControlSymbol } from 'twenty-ui/utilities';
@@ -19,6 +21,7 @@ export const WorkflowActionFooter = ({
additionalActions?: React.ReactNode[];
}) => {
const dropdownId = useId();
const { t } = useLingui();
const theme = useTheme();
const { duplicateStep } = useDuplicateStep();
const { closeDropdown } = useCloseDropdown();
@@ -50,7 +53,8 @@ export const WorkflowActionFooter = ({
closeDropdown(dropdownId);
duplicateStep({ stepId });
}}
text="Duplicate"
text={t`Duplicate node`}
LeftIcon={IconCopyPlus}
/>
</SelectableList>
</DropdownMenuItemsContainer>