diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/workflow-block/components/action-bar/action-bar.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/workflow-block/components/action-bar/action-bar.tsx index 95a660dcdb..c7cb27ccf6 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/workflow-block/components/action-bar/action-bar.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/workflow-block/components/action-bar/action-bar.tsx @@ -74,10 +74,10 @@ export const ActionBar = memo( return (
@@ -90,17 +90,17 @@ export const ActionBar = memo( collaborativeToggleBlockEnabled(blockId) } }} - className='h-[30px] w-[30px] rounded-[8px] bg-[var(--surface-9)] p-0 text-[#868686] hover:bg-[var(--brand-secondary)] hover:text-[var(--bg)] dark:text-[#868686] dark:hover:bg-[var(--brand-secondary)] dark:hover:text-[var(--bg)]' + className='h-[23px] w-[23px] rounded-[8px] bg-[var(--surface-9)] p-0 text-[#868686] hover:bg-[var(--brand-secondary)] hover:text-[var(--bg)] dark:text-[#868686] dark:hover:bg-[var(--brand-secondary)] dark:hover:text-[var(--bg)]' disabled={disabled} > {isEnabled ? ( - + ) : ( - + )} - + {getTooltipMessage(isEnabled ? 'Disable Block' : 'Enable Block')} @@ -116,13 +116,13 @@ export const ActionBar = memo( collaborativeDuplicateBlock(blockId) } }} - className='h-[30px] w-[30px] rounded-[8px] bg-[var(--surface-9)] p-0 text-[#868686] hover:bg-[var(--brand-secondary)] hover:text-[var(--bg)] dark:text-[#868686] dark:hover:bg-[var(--brand-secondary)] dark:hover:text-[var(--bg)]' + className='h-[23px] w-[23px] rounded-[8px] bg-[var(--surface-9)] p-0 text-[#868686] hover:bg-[var(--brand-secondary)] hover:text-[var(--bg)] dark:text-[#868686] dark:hover:bg-[var(--brand-secondary)] dark:hover:text-[var(--bg)]' disabled={disabled} > - + - {getTooltipMessage('Duplicate Block')} + {getTooltipMessage('Duplicate Block')} )} @@ -139,15 +139,13 @@ export const ActionBar = memo( ) } }} - className='h-[30px] w-[30px] rounded-[8px] bg-[var(--surface-9)] p-0 text-[#868686] hover:bg-[var(--brand-secondary)] hover:text-[var(--bg)] dark:text-[#868686] dark:hover:bg-[var(--brand-secondary)] dark:hover:text-[var(--bg)]' + className='h-[23px] w-[23px] rounded-[8px] bg-[var(--surface-9)] p-0 text-[#868686] hover:bg-[var(--brand-secondary)] hover:text-[var(--bg)] dark:text-[#868686] dark:hover:bg-[var(--brand-secondary)] dark:hover:text-[var(--bg)]' disabled={disabled || !userPermissions.canEdit} > - + - - {getTooltipMessage('Remove From Subflow')} - + {getTooltipMessage('Remove from Subflow')} )} @@ -161,17 +159,17 @@ export const ActionBar = memo( collaborativeToggleBlockHandles(blockId) } }} - className='h-[30px] w-[30px] rounded-[8px] bg-[var(--surface-9)] p-0 text-[#868686] hover:bg-[var(--brand-secondary)] hover:text-[var(--bg)] dark:text-[#868686] dark:hover:bg-[var(--brand-secondary)] dark:hover:text-[var(--bg)]' + className='h-[23px] w-[23px] rounded-[8px] bg-[var(--surface-9)] p-0 text-[#868686] hover:bg-[var(--brand-secondary)] hover:text-[var(--bg)] dark:text-[#868686] dark:hover:bg-[var(--brand-secondary)] dark:hover:text-[var(--bg)]' disabled={disabled} > {horizontalHandles ? ( - + ) : ( - + )} - + {getTooltipMessage(horizontalHandles ? 'Vertical Ports' : 'Horizontal Ports')} @@ -186,13 +184,13 @@ export const ActionBar = memo( collaborativeRemoveBlock(blockId) } }} - className='h-[30px] w-[30px] rounded-[8px] bg-[var(--surface-9)] p-0 text-[#868686] hover:bg-[var(--brand-secondary)] hover:text-[var(--bg)] dark:text-[#868686] dark:hover:bg-[var(--brand-secondary)] dark:hover:text-[var(--bg)] ' + className='h-[23px] w-[23px] rounded-[8px] bg-[var(--surface-9)] p-0 text-[#868686] hover:bg-[var(--brand-secondary)] hover:text-[var(--bg)] dark:text-[#868686] dark:hover:bg-[var(--brand-secondary)] dark:hover:text-[var(--bg)] ' disabled={disabled} > - + - {getTooltipMessage('Delete Block')} + {getTooltipMessage('Delete Block')}
) diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/workflow-block/components/connections/connections.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/workflow-block/components/connections/connections.tsx index 9d362293f3..b4b8a00849 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/workflow-block/components/connections/connections.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/workflow-block/components/connections/connections.tsx @@ -1,84 +1,23 @@ -import { RepeatIcon, SplitIcon } from 'lucide-react' -import { - type ConnectedBlock, - useBlockConnections, -} from '@/app/workspace/[workspaceId]/w/[workflowId]/components/panel-new/components/editor/hooks/use-block-connections' -import { getBlock } from '@/blocks' +import { useBlockConnections } from '@/app/workspace/[workspaceId]/w/[workflowId]/components/panel-new/components/editor/hooks/use-block-connections' interface ConnectionsProps { blockId: string - horizontalHandles: boolean } /** - * Retrieves the icon component for a given connection block - * @param connection - The connected block to get the icon for - * @returns The icon component or null if not found + * Displays incoming connections at the bottom left of the workflow block */ -function getConnectionIcon(connection: ConnectedBlock) { - const blockConfig = getBlock(connection.type) - - if (blockConfig?.icon) { - return blockConfig.icon - } - - if (connection.type === 'loop') { - return RepeatIcon - } - - if (connection.type === 'parallel') { - return SplitIcon - } - - return null -} - -/** - * Displays incoming connections as compact floating text above the workflow block - */ -export function Connections({ blockId, horizontalHandles }: ConnectionsProps) { +export function Connections({ blockId }: ConnectionsProps) { const { incomingConnections, hasIncomingConnections } = useBlockConnections(blockId) if (!hasIncomingConnections) return null const connectionCount = incomingConnections.length - const maxVisibleIcons = 4 - const visibleConnections = incomingConnections.slice(0, maxVisibleIcons) - const remainingCount = connectionCount - maxVisibleIcons - const connectionText = `${connectionCount} ${connectionCount === 1 ? 'connection' : 'connections'}` - const connectionIcons = ( - <> - {visibleConnections.map((connection: ConnectedBlock) => { - const Icon = getConnectionIcon(connection) - if (!Icon) return null - return ( - - ) - })} - {remainingCount > 0 && ( - +{remainingCount} - )} - - ) - - if (!horizontalHandles) { - return ( -
- - {connectionText} - -
{connectionIcons}
-
- ) - } - return ( -
- {connectionText} -
-
{connectionIcons}
+
+ {connectionText}
) } diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/workflow-block/workflow-block.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/workflow-block/workflow-block.tsx index 35d268c313..68c32e4cab 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/workflow-block/workflow-block.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/workflow-block/workflow-block.tsx @@ -723,9 +723,7 @@ export const WorkflowBlock = memo(function WorkflowBlock({ - {shouldShowDefaultHandles && ( - - )} + {shouldShowDefaultHandles && } {shouldShowDefaultHandles && (