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.defaultLike }}
+
+
+ {{ i18n.ts.notSet }}
+
+ Change
+ Reset
+
+
+
+
{{ i18n.ts.emojiPickerDisplay }}
@@ -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',