Skip to content

Commit 83ec55b

Browse files
committed
ack pr comments
1 parent a2df89e commit 83ec55b

File tree

2 files changed

+25
-29
lines changed

2 files changed

+25
-29
lines changed

apps/sim/app/workspace/[workspaceId]/w/components/sidebar/hooks/use-drag-drop.ts

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -165,15 +165,20 @@ export function useDragDrop() {
165165
.filter((item) => item.type === 'workflow')
166166
.map((item) => ({ id: item.id, sortOrder: item.sortOrder, folderId: destinationFolderId }))
167167

168-
await Promise.all([
169-
folderUpdates.length > 0 &&
170-
reorderFoldersMutation.mutateAsync({ workspaceId: workspaceId!, updates: folderUpdates }),
171-
workflowUpdates.length > 0 &&
172-
reorderWorkflowsMutation.mutateAsync({
173-
workspaceId: workspaceId!,
174-
updates: workflowUpdates,
175-
}),
176-
])
168+
await Promise.all(
169+
[
170+
folderUpdates.length > 0 &&
171+
reorderFoldersMutation.mutateAsync({
172+
workspaceId: workspaceId!,
173+
updates: folderUpdates,
174+
}),
175+
workflowUpdates.length > 0 &&
176+
reorderWorkflowsMutation.mutateAsync({
177+
workspaceId: workspaceId!,
178+
updates: workflowUpdates,
179+
}),
180+
].filter(Boolean)
181+
)
177182
},
178183
[workspaceId, reorderFoldersMutation, reorderWorkflowsMutation]
179184
)
@@ -209,7 +214,6 @@ export function useDragDrop() {
209214
setDropIndicator((prev) => {
210215
let next: DropIndicator | null = indicator
211216

212-
// Normalize 'after' to 'before' of next sibling
213217
if (indicator && indicator.position === 'after' && indicator.targetId !== 'root') {
214218
const siblings = getSiblingItems(indicator.folderId)
215219
const currentIdx = siblings.findIndex((s) => s.id === indicator.targetId)
@@ -223,7 +227,6 @@ export function useDragDrop() {
223227
}
224228
}
225229

226-
// Skip update if indicator hasn't changed
227230
if (
228231
prev?.targetId === next?.targetId &&
229232
prev?.position === next?.position &&

apps/sim/lib/workflows/operations/import-export.ts

Lines changed: 11 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,15 @@ export interface WorkspaceImportMetadata {
301301
}>
302302
}
303303

304+
function extractSortOrder(content: string): number | undefined {
305+
try {
306+
const parsed = JSON.parse(content)
307+
return parsed.state?.metadata?.sortOrder ?? parsed.metadata?.sortOrder
308+
} catch {
309+
return undefined
310+
}
311+
}
312+
304313
export async function extractWorkflowsFromZip(
305314
zipFile: File
306315
): Promise<{ workflows: ImportedWorkflow[]; metadata?: WorkspaceImportMetadata }> {
@@ -333,19 +342,11 @@ export async function extractWorkflowsFromZip(
333342
const pathParts = path.split('/').filter((p) => p.length > 0)
334343
const filename = pathParts.pop() || path
335344

336-
let sortOrder: number | undefined
337-
try {
338-
const parsed = JSON.parse(content)
339-
sortOrder = parsed.state?.metadata?.sortOrder ?? parsed.metadata?.sortOrder
340-
} catch {
341-
// ignore parse errors for sortOrder extraction
342-
}
343-
344345
workflows.push({
345346
content,
346347
name: filename,
347348
folderPath: pathParts,
348-
sortOrder,
349+
sortOrder: extractSortOrder(content),
349350
})
350351
} catch (error) {
351352
logger.error(`Failed to extract ${path}:`, error)
@@ -364,19 +365,11 @@ export async function extractWorkflowsFromFiles(files: File[]): Promise<Imported
364365
try {
365366
const content = await file.text()
366367

367-
let sortOrder: number | undefined
368-
try {
369-
const parsed = JSON.parse(content)
370-
sortOrder = parsed.state?.metadata?.sortOrder ?? parsed.metadata?.sortOrder
371-
} catch {
372-
// ignore parse errors for sortOrder extraction
373-
}
374-
375368
workflows.push({
376369
content,
377370
name: file.name,
378371
folderPath: [],
379-
sortOrder,
372+
sortOrder: extractSortOrder(content),
380373
})
381374
} catch (error) {
382375
logger.error(`Failed to read ${file.name}:`, error)

0 commit comments

Comments
 (0)