diff --git a/packages/api/src/controllers/archive.js b/packages/api/src/controllers/archive.js index 44f02204f..f20582b77 100644 --- a/packages/api/src/controllers/archive.js +++ b/packages/api/src/controllers/archive.js @@ -40,7 +40,7 @@ module.exports = { fs.writeFile(path.join(archivedir(), folder), linkedFolder); clearArchiveLinksCache(); socket.emitChanged('archive-folders-changed'); - return true; + return folder; }, files_meta: 'get', diff --git a/packages/web/src/appobj/ArchiveFolderAppObject.svelte b/packages/web/src/appobj/ArchiveFolderAppObject.svelte index 2439d7620..891ef2788 100644 --- a/packages/web/src/appobj/ArchiveFolderAppObject.svelte +++ b/packages/web/src/appobj/ArchiveFolderAppObject.svelte @@ -21,7 +21,9 @@ const handleDelete = () => { showModal(ConfirmModal, { - message: `Really delete folder ${data.name}?`, + message: data.name.endsWith('.link') + ? `Really delete link to folder ${data.name}? Folder content remains untouched.` + : `Really delete folder ${data.name}?`, onConfirm: () => { axiosInstance.post('archive/delete-folder', { folder: data.name }); }, diff --git a/packages/web/src/utility/openArchiveFolder.ts b/packages/web/src/utility/openArchiveFolder.ts index e2ae05fb6..1502c3215 100644 --- a/packages/web/src/utility/openArchiveFolder.ts +++ b/packages/web/src/utility/openArchiveFolder.ts @@ -1,9 +1,10 @@ import { get } from 'svelte/store'; import getElectron from './getElectron'; -import { extensions } from '../stores'; +import { currentArchive, extensions, selectedWidget } from '../stores'; import axiosInstance from '../utility/axiosInstance'; +import { showSnackbarSuccess } from './snackbar'; -export function openArchiveFolder() { +export async function openArchiveFolder() { const electron = getElectron(); const ext = get(extensions); const filePaths = electron.remote.dialog.showOpenDialogSync(electron.remote.getCurrentWindow(), { @@ -11,5 +12,9 @@ export function openArchiveFolder() { }); const linkedFolder = filePaths && filePaths[0]; if (!linkedFolder) return; - axiosInstance.post('archive/create-link', { linkedFolder }); + const resp = await axiosInstance.post('archive/create-link', { linkedFolder }); + + currentArchive.set(resp.data); + selectedWidget.set('archive'); + showSnackbarSuccess(`Created link ${resp.data}`); }