summaryrefslogtreecommitdiff
path: root/packages/frontend/src/utility
diff options
context:
space:
mode:
authorsyuilo <4439005+syuilo@users.noreply.github.com>2025-03-13 16:56:47 +0900
committersyuilo <4439005+syuilo@users.noreply.github.com>2025-03-13 16:56:47 +0900
commit10b67e1b3a8d03c25b8e2c008f11ce45ef3d915c (patch)
tree1306384d556895a66cbb0c5c504afec27b6669dd /packages/frontend/src/utility
parentrefactor(frontend): organize use functions (diff)
downloadmisskey-10b67e1b3a8d03c25b8e2c008f11ce45ef3d915c.tar.gz
misskey-10b67e1b3a8d03c25b8e2c008f11ce45ef3d915c.tar.bz2
misskey-10b67e1b3a8d03c25b8e2c008f11ce45ef3d915c.zip
enhance(frontend): improve emoji picker settings
Diffstat (limited to 'packages/frontend/src/utility')
-rw-r--r--packages/frontend/src/utility/autogen/settings-search-index.ts66
-rw-r--r--packages/frontend/src/utility/emoji-picker.ts13
-rw-r--r--packages/frontend/src/utility/reaction-picker.ts13
3 files changed, 81 insertions, 11 deletions
diff --git a/packages/frontend/src/utility/autogen/settings-search-index.ts b/packages/frontend/src/utility/autogen/settings-search-index.ts
index 52100ab639..4f1a94f266 100644
--- a/packages/frontend/src/utility/autogen/settings-search-index.ts
+++ b/packages/frontend/src/utility/autogen/settings-search-index.ts
@@ -537,6 +537,57 @@ export const searchIndexes: SearchIndexItem[] = [
icon: 'ti ti-ban',
},
{
+ id: 'yR1OSyLiT',
+ children: [
+ {
+ id: 'yMJzyzOUk',
+ label: i18n.ts._emojiPalette.enableSyncBetweenDevicesForPalettes,
+ keywords: ['sync', 'palettes', 'devices'],
+ },
+ {
+ id: 'wCE09vgZr',
+ label: i18n.ts._emojiPalette.paletteForMain,
+ keywords: ['main', 'palette'],
+ },
+ {
+ id: 'uCzRPrSNx',
+ label: i18n.ts._emojiPalette.paletteForReaction,
+ keywords: ['reaction', 'palette'],
+ },
+ {
+ id: 'hgQr28WUk',
+ children: [
+ {
+ id: 'fY04NIHSQ',
+ label: i18n.ts.size,
+ keywords: ['emoji', 'picker', 'scale', 'size'],
+ },
+ {
+ id: '3j7vlaL7t',
+ label: i18n.ts.numberOfColumn,
+ keywords: ['emoji', 'picker', 'width', 'column', 'size'],
+ },
+ {
+ id: 'zPX8z1Bcy',
+ label: i18n.ts.height,
+ keywords: ['emoji', 'picker', 'height', 'size'],
+ },
+ {
+ id: '2CSkZa4tl',
+ label: i18n.ts.style,
+ keywords: ['emoji', 'picker', 'style'],
+ },
+ ],
+ label: i18n.ts.emojiPickerDisplay,
+ keywords: ['emoji', 'picker', 'display'],
+ },
+ ],
+ label: i18n.ts.emojiPalette,
+ keywords: ['emoji', 'palette'],
+ path: '/settings/emoji-palette',
+ icon: 'ti ti-mood-happy',
+ },
+ {
id: '3Tcxw4Fwl',
children: [
{
@@ -608,23 +659,28 @@ export const searchIndexes: SearchIndexItem[] = [
id: 'FfZdOs8y',
children: [
{
- id: 'lVlkdP4zN',
+ id: 'B1ZU6Ur54',
+ label: i18n.ts._deck.enableSyncBetweenDevicesForProfiles,
+ keywords: ['sync', 'profiles', 'devices'],
+ },
+ {
+ id: 'iEF0gqNAo',
label: i18n.ts._deck.useSimpleUiForNonRootPages,
keywords: ['ui', 'root', 'page'],
},
{
- id: 'avgxEYgsi',
+ id: 'BNdSeWxZn',
label: i18n.ts.defaultNavigationBehaviour,
keywords: ['default', 'navigation', 'behaviour', 'window'],
},
{
- id: 'ma7OSw5JK',
+ id: 'zT9pGm8DF',
label: i18n.ts._deck.alwaysShowMainColumn,
keywords: ['always', 'show', 'main', 'column'],
},
{
- id: 'jjTlUDhJH',
- label: 'Unnamed marker',
+ id: '5dk2xv1vc',
+ label: i18n.ts._deck.columnAlign,
keywords: ['column', 'align'],
},
],
diff --git a/packages/frontend/src/utility/emoji-picker.ts b/packages/frontend/src/utility/emoji-picker.ts
index e7275b86f2..6279786b2d 100644
--- a/packages/frontend/src/utility/emoji-picker.ts
+++ b/packages/frontend/src/utility/emoji-picker.ts
@@ -3,10 +3,10 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
-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';
/**
* 絵文字ピッカーを表示する。
@@ -25,7 +25,14 @@ class EmojiPicker {
}
public async init() {
- const emojisRef = store.r.pinnedEmojis;
+ const emojisRef = ref<string[]>([]);
+
+ watch([prefer.r.emojiPaletteForMain, prefer.r.emojiPalettes], () => {
+ emojisRef.value = prefer.s.emojiPaletteForMain == null ? prefer.s.emojiPalettes[0].emojis : prefer.s.emojiPalettes.find(palette => palette.id === prefer.s.emojiPaletteForMain)?.emojis ?? [];
+ }, {
+ immediate: true,
+ });
+
await popup(defineAsyncComponent(() => import('@/components/MkEmojiPickerDialog.vue')), {
src: this.src,
pinnedEmojis: emojisRef,
diff --git a/packages/frontend/src/utility/reaction-picker.ts b/packages/frontend/src/utility/reaction-picker.ts
index 200fb0b686..7c159fa2da 100644
--- a/packages/frontend/src/utility/reaction-picker.ts
+++ b/packages/frontend/src/utility/reaction-picker.ts
@@ -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,