From 9e18a2958fb802477ff9d1ae6e9f6b18b4cf5c2c Mon Sep 17 00:00:00 2001 From: Ramires Viana <59319979+ramiresviana@users.noreply.github.com> Date: Wed, 23 Jul 2025 23:07:13 -0300 Subject: [PATCH] feat: select item on file list after navigating back --- frontend/src/components/prompts/Delete.vue | 10 ++++- .../prompts/DiscardEditorChanges.vue | 16 +++----- frontend/src/components/prompts/Rename.vue | 5 ++- frontend/src/stores/file.ts | 2 + frontend/src/views/Files.vue | 29 +++++++++++++ frontend/src/views/files/Editor.vue | 22 +++++----- frontend/src/views/files/FileListing.vue | 41 +++++++++++++++++-- frontend/src/views/files/Preview.vue | 9 ++-- 8 files changed, 102 insertions(+), 32 deletions(-) diff --git a/frontend/src/components/prompts/Delete.vue b/frontend/src/components/prompts/Delete.vue index 89fb5096..aa2482ce 100644 --- a/frontend/src/components/prompts/Delete.vue +++ b/frontend/src/components/prompts/Delete.vue @@ -48,9 +48,9 @@ export default { "selectedCount", "req", "selected", - "currentPrompt", ]), - ...mapWritableState(useFileStore, ["reload"]), + ...mapState(useLayoutStore, ["currentPrompt"]), + ...mapWritableState(useFileStore, ["reload", "preselect"]), }, methods: { ...mapActions(useLayoutStore, ["closeHovers"]), @@ -80,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 @@