diff --git a/packages/frontend/src/pages/settings/emoji-palette.palette.vue b/packages/frontend/src/pages/settings/emoji-palette.palette.vue index 33d1d7c9fa..c47ed55f55 100644 --- a/packages/frontend/src/pages/settings/emoji-palette.palette.vue +++ b/packages/frontend/src/pages/settings/emoji-palette.palette.vue @@ -17,7 +17,7 @@ SPDX-License-Identifier: AGPL-3.0-only
-
+
+ + + + + + {{ i18n.ts.notSet }} +
+ Change + Reset +
+
+
+ @@ -133,6 +146,7 @@ import { prefer } from '@/preferences.js'; import MkPreferenceContainer from '@/components/MkPreferenceContainer.vue'; import MkSwitch from '@/components/MkSwitch.vue'; import { emojiPicker } from '@/utility/emoji-picker.js'; +import { unisonReload } from '@/utility/unison-reload.js'; const emojiPaletteForReaction = prefer.model('emojiPaletteForReaction'); const emojiPaletteForMain = prefer.model('emojiPaletteForMain'); @@ -140,6 +154,7 @@ const emojiPickerScale = prefer.model('emojiPickerScale'); const emojiPickerWidth = prefer.model('emojiPickerWidth'); const emojiPickerHeight = prefer.model('emojiPickerHeight'); const emojiPickerStyle = prefer.model('emojiPickerStyle'); +const like = prefer.model('like'); const palettesSyncEnabled = ref(prefer.isSyncEnabled('emojiPalettes')); @@ -214,6 +229,30 @@ function previewPicker(ev: MouseEvent) { emojiPicker.show(getHTMLElement(ev)); } +async function reloadAsk() { + const { canceled } = await os.confirm({ + type: 'info', + text: i18n.ts.reloadToApplySetting, + }); + if (canceled) return; + + unisonReload(); +} + +function chooseNewLike(ev: MouseEvent) { + os.pickEmoji(getHTMLElement(ev), { + showPinned: false, + }).then(async emoji => { + like.value = emoji as string; + await reloadAsk(); + }); +} + +async function resetLike() { + like.value = null; + await reloadAsk(); +} + definePage(() => ({ title: i18n.ts.emojiPalette, icon: 'ti ti-mood-happy',