diff --git a/frontend/src/components/prompts/Copy.vue b/frontend/src/components/prompts/Copy.vue index 43eff671..9b5e4c63 100644 --- a/frontend/src/components/prompts/Copy.vue +++ b/frontend/src/components/prompts/Copy.vue @@ -62,6 +62,7 @@ import FileList from "./FileList.vue"; import { files as api } from "@/api"; import buttons from "@/utils/buttons"; import * as upload from "@/utils/upload"; +import { removePrefix } from "@/api/utils"; export default { name: "copy", @@ -76,7 +77,7 @@ export default { computed: { ...mapState(useFileStore, ["req", "selected"]), ...mapState(useAuthStore, ["user"]), - ...mapWritableState(useFileStore, ["reload"]), + ...mapWritableState(useFileStore, ["reload", "preselect"]), }, methods: { ...mapActions(useLayoutStore, ["showHover", "closeHovers"]), @@ -100,6 +101,7 @@ export default { .copy(items, overwrite, rename) .then(() => { buttons.success("copy"); + this.preselect = removePrefix(items[0].to); if (this.$route.path === this.dest) { this.reload = true; diff --git a/frontend/src/components/prompts/Delete.vue b/frontend/src/components/prompts/Delete.vue index 39fc2511..aa2482ce 100644 --- a/frontend/src/components/prompts/Delete.vue +++ b/frontend/src/components/prompts/Delete.vue @@ -48,16 +48,15 @@ export default { "selectedCount", "req", "selected", - "currentPrompt", ]), - ...mapWritableState(useFileStore, ["reload"]), + ...mapState(useLayoutStore, ["currentPrompt"]), + ...mapWritableState(useFileStore, ["reload", "preselect"]), }, methods: { ...mapActions(useLayoutStore, ["closeHovers"]), submit: async function () { buttons.loading("delete"); - window.sessionStorage.setItem("modified", "true"); try { if (!this.isListing) { await api.remove(this.$route.path); @@ -81,6 +80,12 @@ export default { await Promise.all(promises); buttons.success("delete"); + + const nearbyItem = + this.req.items[Math.max(0, Math.min(this.selected) - 1)]; + + this.preselect = nearbyItem?.path; + this.reload = true; } catch (e) { buttons.done("delete"); diff --git a/frontend/src/components/prompts/DiscardEditorChanges.vue b/frontend/src/components/prompts/DiscardEditorChanges.vue index 69963674..4c1e5faa 100644 --- a/frontend/src/components/prompts/DiscardEditorChanges.vue +++ b/frontend/src/components/prompts/DiscardEditorChanges.vue @@ -17,7 +17,7 @@