@@ -219,13 +219,15 @@ export function WorkflowList({
219219 type : 'folder' | 'workflow'
220220 id : string
221221 sortOrder : number
222+ createdAt ?: Date
222223 data : FolderTreeNode | WorkflowMetadata
223224 } > = [ ]
224225 for ( const childFolder of folder . children ) {
225226 childItems . push ( {
226227 type : 'folder' ,
227228 id : childFolder . id ,
228229 sortOrder : childFolder . sortOrder ,
230+ createdAt : childFolder . createdAt ,
229231 data : childFolder ,
230232 } )
231233 }
@@ -234,18 +236,11 @@ export function WorkflowList({
234236 type : 'workflow' ,
235237 id : workflow . id ,
236238 sortOrder : workflow . sortOrder ,
239+ createdAt : workflow . createdAt ,
237240 data : workflow ,
238241 } )
239242 }
240- childItems . sort ( ( a , b ) => {
241- if ( a . sortOrder !== b . sortOrder ) return a . sortOrder - b . sortOrder
242- const dataA = a . data as { createdAt ?: Date }
243- const dataB = b . data as { createdAt ?: Date }
244- const timeA = dataA . createdAt ?. getTime ( ) ?? 0
245- const timeB = dataB . createdAt ?. getTime ( ) ?? 0
246- if ( timeA !== timeB ) return timeA - timeB
247- return a . id . localeCompare ( b . id )
248- } )
243+ childItems . sort ( compareByOrder )
249244
250245 return (
251246 < div key = { folder . id } className = 'relative' >
@@ -313,28 +308,28 @@ export function WorkflowList({
313308 type : 'folder' | 'workflow'
314309 id : string
315310 sortOrder : number
311+ createdAt ?: Date
316312 data : FolderTreeNode | WorkflowMetadata
317313 } > = [ ]
318314 for ( const folder of folderTree ) {
319- items . push ( { type : 'folder' , id : folder . id , sortOrder : folder . sortOrder , data : folder } )
315+ items . push ( {
316+ type : 'folder' ,
317+ id : folder . id ,
318+ sortOrder : folder . sortOrder ,
319+ createdAt : folder . createdAt ,
320+ data : folder ,
321+ } )
320322 }
321323 for ( const workflow of rootWorkflows ) {
322324 items . push ( {
323325 type : 'workflow' ,
324326 id : workflow . id ,
325327 sortOrder : workflow . sortOrder ,
328+ createdAt : workflow . createdAt ,
326329 data : workflow ,
327330 } )
328331 }
329- return items . sort ( ( a , b ) => {
330- if ( a . sortOrder !== b . sortOrder ) return a . sortOrder - b . sortOrder
331- const dataA = a . data as { createdAt ?: Date }
332- const dataB = b . data as { createdAt ?: Date }
333- const timeA = dataA . createdAt ?. getTime ( ) ?? 0
334- const timeB = dataB . createdAt ?. getTime ( ) ?? 0
335- if ( timeA !== timeB ) return timeA - timeB
336- return a . id . localeCompare ( b . id )
337- } )
332+ return items . sort ( compareByOrder )
338333 } , [ folderTree , rootWorkflows ] )
339334
340335 const hasRootItems = rootItems . length > 0
0 commit comments