enhance(frontend): improve emoji picker settings

This commit is contained in:
syuilo 2025-03-13 16:56:47 +09:00
parent 3ced310f77
commit 10b67e1b3a
16 changed files with 601 additions and 324 deletions

View file

@ -4,10 +4,10 @@
*/
import * as Misskey from 'misskey-js';
import { defineAsyncComponent, ref } from 'vue';
import { defineAsyncComponent, ref, watch } from 'vue';
import type { Ref } from 'vue';
import { popup } from '@/os.js';
import { store } from '@/store.js';
import { prefer } from '@/preferences.js';
class ReactionPicker {
private src: Ref<HTMLElement | null> = ref(null);
@ -21,7 +21,14 @@ class ReactionPicker {
}
public async init() {
const reactionsRef = store.r.reactions;
const reactionsRef = ref<string[]>([]);
watch([prefer.r.emojiPaletteForReaction, prefer.r.emojiPalettes], () => {
reactionsRef.value = prefer.s.emojiPaletteForReaction == null ? prefer.s.emojiPalettes[0].emojis : prefer.s.emojiPalettes.find(palette => palette.id === prefer.s.emojiPaletteForReaction)?.emojis ?? [];
}, {
immediate: true,
});
await popup(defineAsyncComponent(() => import('@/components/MkEmojiPickerDialog.vue')), {
src: this.src,
pinnedEmojis: reactionsRef,