From dfdf714cf91b32e890919d5d67556f9bd2fdca97 Mon Sep 17 00:00:00 2001 From: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com> Date: Tue, 8 Oct 2024 10:05:28 +0900 Subject: [PATCH] =?UTF-8?q?=E3=83=89=E3=83=A9=E3=83=83=E3=82=B0=E4=B8=AD?= =?UTF-8?q?=E3=81=9A=E3=81=A3=E3=81=A8API=E3=82=92=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E3=81=97=E7=B6=9A=E3=81=91=E3=82=8B=E3=81=AE=E3=82=92=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/pages/settings/emoji-picker.vue | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/packages/frontend/src/pages/settings/emoji-picker.vue b/packages/frontend/src/pages/settings/emoji-picker.vue index 9fd8ed9c0f..f04524d135 100644 --- a/packages/frontend/src/pages/settings/emoji-picker.vue +++ b/packages/frontend/src/pages/settings/emoji-picker.vue @@ -123,7 +123,10 @@ import MkEmoji from '@/components/global/MkEmoji.vue'; import MkFolder from '@/components/MkFolder.vue'; const pinnedEmojisForReaction = ref(deepClone(defaultStore.state.reactions)); +const isPinnedEmojisForReactionDragging = ref(false); + const pinnedEmojis = ref(deepClone(defaultStore.state.pinnedEmojis)); +const isPinnedEmojisDragging = ref(false); const emojiPickerScale = computed(defaultStore.makeGetterSetter('emojiPickerScale')); const emojiPickerWidth = computed(defaultStore.makeGetterSetter('emojiPickerWidth')); @@ -140,6 +143,13 @@ dragAndDrop({ draggable: (el: HTMLElement) => { return !el.classList.contains('no-drag'); }, + onDragstart: () => { + isPinnedEmojisForReactionDragging.value = true; + }, + onDragend: () => { + isPinnedEmojisForReactionDragging.value = false; + defaultStore.set('reactions', pinnedEmojisForReaction.value); + }, }); dragAndDrop({ @@ -149,6 +159,13 @@ dragAndDrop({ draggable: (el: HTMLElement) => { return !el.classList.contains('no-drag'); }, + onDragstart: () => { + isPinnedEmojisDragging.value = true; + }, + onDragend: () => { + isPinnedEmojisDragging.value = false; + defaultStore.set('pinnedEmojis', pinnedEmojis.value); + }, }); const removeReaction = (reaction: string, ev: MouseEvent) => remove(pinnedEmojisForReaction, reaction, ev); @@ -229,12 +246,14 @@ function getHTMLElement(ev: MouseEvent): HTMLElement { } watch(pinnedEmojisForReaction, () => { + if (isPinnedEmojisForReactionDragging.value) return; defaultStore.set('reactions', pinnedEmojisForReaction.value); }, { deep: true, }); watch(pinnedEmojis, () => { + if (isPinnedEmojisDragging.value) return; defaultStore.set('pinnedEmojis', pinnedEmojis.value); }, { deep: true,