From eb1807351c5eb7791ab8d24ccc4fc0948f0a0828 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Tue, 12 May 2026 20:29:45 +0300 Subject: [PATCH] fix remove all drafts not deleting all drafts (lol) --- src/components/drafts/drafts.js | 7 +------ src/components/drafts/drafts.vue | 4 ++-- src/modules/drafts.js | 13 ++++++++++--- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/components/drafts/drafts.js b/src/components/drafts/drafts.js index 0fdd962fc..01a50759a 100644 --- a/src/components/drafts/drafts.js +++ b/src/components/drafts/drafts.js @@ -23,12 +23,7 @@ const Drafts = { this.showingConfirmDialog = true }, doAbandonAll() { - this.drafts.forEach((draft) => { - this.$store.dispatch('abandonDraft', { id: draft.id }).then(() => { - this.hideConfirmDialog() - }) - }) - this.hideConfirmDialog() + this.$store.dispatch('abandonAllDrafts').then(() => this.hideConfirmDialog()) }, hideConfirmDialog() { this.showingConfirmDialog = false diff --git a/src/components/drafts/drafts.vue b/src/components/drafts/drafts.vue index 3a22969e1..2e3f3432c 100644 --- a/src/components/drafts/drafts.vue +++ b/src/components/drafts/drafts.vue @@ -37,7 +37,7 @@ - {{ $t('drafts.abandon_all_confirm') }} - + diff --git a/src/modules/drafts.js b/src/modules/drafts.js index d16f49e95..42bb3b313 100644 --- a/src/modules/drafts.js +++ b/src/modules/drafts.js @@ -42,9 +42,11 @@ const saveDraftToStorage = async (draft) => { await storage.setItem(storageKey, currentData) } -const deleteDraftFromStorage = async (id) => { +const deleteDraftFromStorage = async (ids) => { const currentData = await getStorageData() - delete currentData[id] + ids.forEach(id => { + delete currentData[id] + }) await storage.setItem(storageKey, currentData) } @@ -58,7 +60,12 @@ export const actions = { }, async abandonDraft(store, { id }) { store.commit('abandonDraft', { id }) - await deleteDraftFromStorage(id) + await deleteDraftFromStorage([id]) + }, + async abandonAllDrafts(store) { + const ids = Object.keys(store.state.drafts) + ids.forEach((id) => store.commit('abandonDraft', { id })) + await deleteDraftFromStorage(ids) }, async loadDrafts(store) { const currentData = await getStorageData()