Skip to content

Commit cda8bed

Browse files
committed
feat(workflow): reduce block spacing for closer placement
Reduces the horizontal spacing between blocks from 250px to 200px (20% closer) and centralizes the new block offset constants for consistent positioning across the codebase.
1 parent f5245f3 commit cda8bed

File tree

3 files changed

+17
-5
lines changed

3 files changed

+17
-5
lines changed

apps/sim/hooks/use-collaborative-workflow.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { useCallback, useEffect, useRef } from 'react'
22
import type { Edge } from 'reactflow'
33
import { useSession } from '@/lib/auth/auth-client'
44
import { createLogger } from '@/lib/logs/console/logger'
5+
import { NEW_BLOCK_OFFSET } from '@/lib/workflows/autolayout/constants'
56
import { getBlockOutputs } from '@/lib/workflows/blocks/block-outputs'
67
import { TriggerUtils } from '@/lib/workflows/triggers/triggers'
78
import { useSocket } from '@/app/workspace/providers/socket-provider'
@@ -1326,8 +1327,8 @@ export function useCollaborativeWorkflow() {
13261327
// Generate new ID and calculate position
13271328
const newId = crypto.randomUUID()
13281329
const offsetPosition = {
1329-
x: sourceBlock.position.x + 250,
1330-
y: sourceBlock.position.y + 20,
1330+
x: sourceBlock.position.x + NEW_BLOCK_OFFSET.X,
1331+
y: sourceBlock.position.y + NEW_BLOCK_OFFSET.Y,
13311332
}
13321333

13331334
const newName = getUniqueBlockName(sourceBlock.name, workflowStore.blocks)

apps/sim/lib/workflows/autolayout/constants.ts

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,17 @@ export { BLOCK_DIMENSIONS, CONTAINER_DIMENSIONS } from '@/lib/workflows/blocks/b
1111
/**
1212
* Horizontal spacing between layers (columns)
1313
*/
14-
export const DEFAULT_HORIZONTAL_SPACING = 250
14+
export const DEFAULT_HORIZONTAL_SPACING = 200
15+
16+
/**
17+
* Offset for newly added/duplicated blocks
18+
*/
19+
export const NEW_BLOCK_OFFSET = {
20+
/** Horizontal offset from source block */
21+
X: 200,
22+
/** Vertical offset from source block */
23+
Y: 20,
24+
} as const
1525

1626
/**
1727
* Vertical spacing between blocks in the same layer

apps/sim/stores/workflows/workflow/store.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import type { Edge } from 'reactflow'
22
import { create } from 'zustand'
33
import { devtools } from 'zustand/middleware'
44
import { createLogger } from '@/lib/logs/console/logger'
5+
import { NEW_BLOCK_OFFSET } from '@/lib/workflows/autolayout/constants'
56
import { getBlockOutputs } from '@/lib/workflows/blocks/block-outputs'
67
import { TriggerUtils } from '@/lib/workflows/triggers/triggers'
78
import { getBlock } from '@/blocks'
@@ -591,8 +592,8 @@ export const useWorkflowStore = create<WorkflowStore>()(
591592

592593
const newId = crypto.randomUUID()
593594
const offsetPosition = {
594-
x: block.position.x + 250,
595-
y: block.position.y + 20,
595+
x: block.position.x + NEW_BLOCK_OFFSET.X,
596+
y: block.position.y + NEW_BLOCK_OFFSET.Y,
596597
}
597598

598599
const newName = getUniqueBlockName(block.name, get().blocks)

0 commit comments

Comments
 (0)