sort folders by name first and then sequence (#5063)

* sort folders by name first and then sequence
---------

Co-authored-by: lohit <lohit@usebruno.com>
This commit is contained in:
lohit
2025-07-14 22:17:11 +05:30
committed by GitHub
parent 31e555812c
commit 4e4c94d73f
13 changed files with 537 additions and 94 deletions

View File

@@ -383,33 +383,26 @@ export const newFolder = (folderName, directoryName, collectionUid, itemUid) =>
if (!folderWithSameNameExists) {
const fullName = path.join(collection.pathname, directoryName);
const { ipcRenderer } = window;
const folderBruJsonData = {
meta: {
name: folderName,
seq: items?.length + 1
},
request: {
auth: {
mode: 'inherit'
}
}
};
ipcRenderer
.invoke('renderer:new-folder', fullName)
.then(async () => {
const folderData = {
name: folderName,
pathname: fullName,
root: {
meta: {
name: folderName,
seq: items?.length + 1
},
request: {
auth: {
mode: 'inherit'
}
}
}
};
ipcRenderer
.invoke('renderer:save-folder-root', folderData)
.then(resolve)
.catch((err) => {
toast.error('Failed to save folder settings!');
reject(err);
});
})
.catch((error) => reject(error));
.invoke('renderer:new-folder', { pathname: fullName, folderBruJsonData })
.then(resolve)
.catch((error) => {
toast.error('Failed to create a new folder!');
reject(error)
});
} else {
return reject(new Error('Duplicate folder names under same parent folder are not allowed'));
}
@@ -424,33 +417,25 @@ export const newFolder = (folderName, directoryName, collectionUid, itemUid) =>
const fullName = path.join(currentItem.pathname, directoryName);
const { ipcRenderer } = window;
const folderBruJsonData = {
meta: {
name: folderName,
seq: items?.length + 1
},
request: {
auth: {
mode: 'inherit'
}
}
};
ipcRenderer
.invoke('renderer:new-folder', fullName)
.then(async () => {
const folderData = {
name: folderName,
pathname: fullName,
root: {
meta: {
name: folderName,
seq: items?.length + 1
},
request: {
auth: {
mode: 'inherit'
}
}
}
};
ipcRenderer
.invoke('renderer:save-folder-root', folderData)
.then(resolve)
.catch((err) => {
toast.error('Failed to save folder settings!');
reject(err);
});
})
.catch((error) => reject(error));
.invoke('renderer:new-folder', { pathname: fullName, folderBruJsonData })
.then(resolve)
.catch((error) => {
toast.error('Failed to create a new folder!');
reject(error)
});
} else {
return reject(new Error('Duplicate folder names under same parent folder are not allowed'));
}

View File

@@ -1890,7 +1890,7 @@ export const collectionsSlice = createSlice({
uid: dir?.meta?.uid || uuid(),
pathname: currentPath,
name: dir?.meta?.name || directoryName,
seq: dir?.meta?.seq || 1,
seq: dir?.meta?.seq,
filename: directoryName,
collapsed: true,
type: 'folder',