diff --git a/src/client/components/emoji-picker.vue b/src/client/components/emoji-picker.vue index e36161d3dd..270951962f 100644 --- a/src/client/components/emoji-picker.vue +++ b/src/client/components/emoji-picker.vue @@ -32,7 +32,7 @@ <div class="index"> <section> <div> - <button v-for="emoji in reactions || $store.state.settings.reactions" + <button v-for="emoji in pinned" class="_button" @click="chosen(emoji, $event)" tabindex="0" @@ -109,7 +109,7 @@ export default defineComponent({ src: { required: false }, - reactions: { + overridePinned: { required: false }, }, @@ -120,6 +120,7 @@ export default defineComponent({ return { emojilist: markRaw(emojilist), getStaticImageUrl, + pinned: this.overridePinned || this.$store.state.settings.reactions, customEmojiCategories: this.$store.getters['instance/emojiCategories'], customEmojis: this.$store.state.instance.meta.emojis, visibleCategories: {}, @@ -334,10 +335,12 @@ export default defineComponent({ this.$refs.modal.close(); // 最近使った絵文字更新 - let recents = this.$store.state.device.recentlyUsedEmojis; - recents = recents.filter((e: any) => e !== key); - recents.unshift(key); - this.$store.commit('device/set', { key: 'recentlyUsedEmojis', value: recents.splice(0, 16) }); + if (!this.pinned.includes(key)) { + let recents = this.$store.state.device.recentlyUsedEmojis; + recents = recents.filter((e: any) => e !== key); + recents.unshift(key); + this.$store.commit('device/set', { key: 'recentlyUsedEmojis', value: recents.splice(0, 16) }); + } }, paste(event) { diff --git a/src/client/pages/settings/reaction.vue b/src/client/pages/settings/reaction.vue index 81bb024995..8033b7e11d 100644 --- a/src/client/pages/settings/reaction.vue +++ b/src/client/pages/settings/reaction.vue @@ -82,7 +82,7 @@ export default defineComponent({ preview(ev) { if (this.$store.state.device.useFullReactionPicker) { os.popup(import('@/components/emoji-picker.vue'), { - reactions: this.splited, + overridePinned: this.splited, src: ev.currentTarget || ev.target, }, {}, 'closed'); } else {