diff options
| author | syuilo <4439005+syuilo@users.noreply.github.com> | 2025-06-04 12:01:33 +0900 |
|---|---|---|
| committer | syuilo <4439005+syuilo@users.noreply.github.com> | 2025-06-04 12:01:33 +0900 |
| commit | b766589c00f4ffffe92e7c105fca76e57fdc73d9 (patch) | |
| tree | cdc1f8fcdaee9746167864a5799a2da273f1dc2c /packages/frontend/src/pages/settings | |
| parent | fix(misskey-js): build misskey-js with types (#16159) (diff) | |
| download | misskey-b766589c00f4ffffe92e7c105fca76e57fdc73d9.tar.gz misskey-b766589c00f4ffffe92e7c105fca76e57fdc73d9.tar.bz2 misskey-b766589c00f4ffffe92e7c105fca76e57fdc73d9.zip | |
enhance(frontend): ミュートした絵文字をデバイス間で同期できるように
Resolve #16158
Diffstat (limited to 'packages/frontend/src/pages/settings')
| -rw-r--r-- | packages/frontend/src/pages/settings/mute-block.emoji-mute.vue | 68 | ||||
| -rw-r--r-- | packages/frontend/src/pages/settings/mute-block.vue | 4 |
2 files changed, 49 insertions, 23 deletions
diff --git a/packages/frontend/src/pages/settings/mute-block.emoji-mute.vue b/packages/frontend/src/pages/settings/mute-block.emoji-mute.vue index 601ca7ee49..ea131381a1 100644 --- a/packages/frontend/src/pages/settings/mute-block.emoji-mute.vue +++ b/packages/frontend/src/pages/settings/mute-block.emoji-mute.vue @@ -4,33 +4,45 @@ SPDX-License-Identifier: AGPL-3.0-only --> <template> -<div :class="$style.emojis"> - <div v-for="emoji in emojis" :key="`emojiMute-${emoji}`" :class="$style.emoji" @click="onEmojiClick($event, emoji)"> - <MkCustomEmoji - v-if="emoji.startsWith(':')" - :name="customEmojiName(emoji)" - :host="customEmojiHost(emoji)" - :normal="true" - :menu="false" - :menuReaction="false" - :ignoreMuted="true" - /> - <MkEmoji - v-else - :emoji="emoji" - :menu="false" - :menuReaction="false" - :ignoreMuted="true" - ></MkEmoji> +<div class="_gaps_m"> + <div :class="$style.emojis"> + <div v-for="emoji in emojis" :key="`emojiMute-${emoji}`" :class="$style.emoji" @click="onEmojiClick($event, emoji)"> + <MkCustomEmoji + v-if="emoji.startsWith(':')" + :name="customEmojiName(emoji)" + :host="customEmojiHost(emoji)" + :normal="true" + :menu="false" + :menuReaction="false" + :ignoreMuted="true" + /> + <MkEmoji + v-else + :emoji="emoji" + :menu="false" + :menuReaction="false" + :ignoreMuted="true" + ></MkEmoji> + </div> </div> -</div> -<MkButton primary inline @click="add"><i class="ti ti-plus"></i> {{ i18n.ts.add }}</MkButton> + <MkButton primary inline @click="add"><i class="ti ti-plus"></i> {{ i18n.ts.add }}</MkButton> + + <hr> + + <SearchMarker :keywords="['sync', 'devices']"> + <MkSwitch :modelValue="syncEnabled" @update:modelValue="changeSyncEnabled"> + <template #label><i class="ti ti-cloud-cog"></i> <SearchLabel>{{ i18n.ts.syncBetweenDevices }}</SearchLabel></template> + </MkSwitch> + </SearchMarker> +</div> </template> <script lang="ts" setup> +import { ref } from 'vue'; import type { MenuItem } from '@/types/menu'; import MkButton from '@/components/MkButton.vue'; +import MkSwitch from '@/components/MkSwitch.vue'; import * as os from '@/os.js'; import { i18n } from '@/i18n.js'; import { prefer } from '@/preferences.js'; @@ -79,7 +91,23 @@ function unmute(emoji: string) { unmuteEmoji(emoji); }); } + +const syncEnabled = ref(prefer.isSyncEnabled('mutingEmojis')); + +function changeSyncEnabled(value: boolean) { + if (value) { + prefer.enableSync('mutingEmojis').then((res) => { + if (res == null) return; + if (res.enabled) syncEnabled.value = true; + }); + } else { + prefer.disableSync('mutingEmojis'); + syncEnabled.value = false; + } +} + </script> + <style module> .emojis { display: flex; diff --git a/packages/frontend/src/pages/settings/mute-block.vue b/packages/frontend/src/pages/settings/mute-block.vue index 9b24501cce..9407845923 100644 --- a/packages/frontend/src/pages/settings/mute-block.vue +++ b/packages/frontend/src/pages/settings/mute-block.vue @@ -57,9 +57,7 @@ SPDX-License-Identifier: AGPL-3.0-only <template #icon><i class="ti ti-mood-off"></i></template> <template #label>{{ i18n.ts.emojiMute }}</template> - <div class="_gaps_m"> - <XEmojiMute/> - </div> + <XEmojiMute/> </mkfolder> </SearchMarker> |