From c06cc6ad7aec3f91eb8fdbe9dc621a5b4577b6aa Mon Sep 17 00:00:00 2001 From: kolaente Date: Sat, 26 Feb 2022 14:48:46 +0100 Subject: [PATCH] fix: pop sound not saved and played when marking tasks done --- src/components/tasks/partials/kanban-card.vue | 5 +++-- src/helpers/playPop.ts | 10 +++++++--- src/views/user/settings/General.vue | 6 +++--- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/components/tasks/partials/kanban-card.vue b/src/components/tasks/partials/kanban-card.vue index a3694a1b4d..4a3146efe1 100644 --- a/src/components/tasks/partials/kanban-card.vue +++ b/src/components/tasks/partials/kanban-card.vue @@ -104,11 +104,12 @@ export default { async toggleTaskDone(task) { this.loadingInternal = true try { + const done = !task.done await this.$store.dispatch('tasks/update', { ...task, - done: !task.done, + done, }) - if (task.done) { + if (done) { playPop() } } finally { diff --git a/src/helpers/playPop.ts b/src/helpers/playPop.ts index 6f5f7039a9..3f4e50c35f 100644 --- a/src/helpers/playPop.ts +++ b/src/helpers/playPop.ts @@ -3,11 +3,15 @@ import popSoundFile from '@/assets/audio/pop.mp3' export const playSoundWhenDoneKey = 'playSoundWhenTaskDone' export function playPop() { - const enabled = Boolean(localStorage.getItem(playSoundWhenDoneKey)) - if(!enabled) { + const enabled = localStorage.getItem(playSoundWhenDoneKey) === 'true' + if (!enabled) { return } + playPopSound() +} + +export function playPopSound() { const popSound = new Audio(popSoundFile) popSound.play() -} \ No newline at end of file +} diff --git a/src/views/user/settings/General.vue b/src/views/user/settings/General.vue index 279b004ffb..298b37f7da 100644 --- a/src/views/user/settings/General.vue +++ b/src/views/user/settings/General.vue @@ -135,7 +135,7 @@ import {computed, watch, ref} from 'vue' import {useI18n} from 'vue-i18n' -import {playSoundWhenDoneKey, playPop} from '@/helpers/playPop' +import {playSoundWhenDoneKey, playPopSound} from '@/helpers/playPop' import {availableLanguages} from '@/i18n' import {getQuickAddMagicMode, setQuickAddMagicMode} from '@/helpers/quickAddMagicMode' import {PrefixMode} from '@/modules/parseTaskText' @@ -230,13 +230,13 @@ export default { watch: { playSoundWhenDone(play) { if (play) { - playPop() + playPopSound() } }, }, methods: { async updateSettings() { - localStorage.setItem(playSoundWhenDoneKey, this.playSoundWhenDone) + localStorage.setItem(playSoundWhenDoneKey, this.playSoundWhenDone ? 'true' : 'false') setQuickAddMagicMode(this.quickAddMagicMode) await this.$store.dispatch('auth/saveUserSettings', {