diff --git a/CHANGELOG.md b/CHANGELOG.md
index 630de65567..086ff8dcc8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,6 +8,8 @@
- Feat: モデレーターはユーザーにかかわらずファイルが添付されているノートを検索できるように
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/680)
- Enhance: ユーザーによるコンテンツインポートの可否をロールポリシーで制御できるように
+- Enhance: 依存関係の更新
+- Enhance: l10nの更新
### Client
- Enhance: サイズ制限を超過するファイルをアップロードしようとした際にエラーを出すように
@@ -15,6 +17,7 @@
- Enhance: コントロールパネル内のファイル一覧でセンシティブなファイルを区別しやすく
- Enhance: ScratchpadにUIインスペクターを追加
- Enhance: Play編集画面の項目の並びを少しリデザイン
+- Enhance: 各種メニューをドロワー表示するかどうか設定可能に
- Fix: サーバーメトリクスが2つ以上あるとリロード直後の表示がおかしくなる問題を修正
- Fix: コントロールパネル内のAp requests内のチャートの表示がおかしかった問題を修正
- Fix: 月の違う同じ日はセパレータが表示されないのを修正
diff --git a/locales/index.d.ts b/locales/index.d.ts
index a7a02bdf61..1250aa4f4d 100644
--- a/locales/index.d.ts
+++ b/locales/index.d.ts
@@ -2056,6 +2056,10 @@ export interface Locale extends ILocale {
* メニューのスタイル
*/
"menuStyle": string;
+ /**
+ * スタイル
+ */
+ "style": string;
/**
* ドロワー
*/
diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml
index ad81b1f497..6c5df3e658 100644
--- a/locales/ja-JP.yml
+++ b/locales/ja-JP.yml
@@ -510,6 +510,7 @@ aboutX: "{x}について"
emojiStyle: "絵文字のスタイル"
native: "ネイティブ"
menuStyle: "メニューのスタイル"
+style: "スタイル"
drawer: "ドロワー"
popup: "ポップアップ"
showNoteActionsOnlyHover: "ノートのアクションをホバー時のみ表示する"
diff --git a/packages/frontend/src/components/MkEmojiPickerDialog.vue b/packages/frontend/src/components/MkEmojiPickerDialog.vue
index 7e1ffbfa9e..21c712b441 100644
--- a/packages/frontend/src/components/MkEmojiPickerDialog.vue
+++ b/packages/frontend/src/components/MkEmojiPickerDialog.vue
@@ -8,7 +8,7 @@ SPDX-License-Identifier: AGPL-3.0-only
ref="modal"
v-slot="{ type, maxHeight }"
:zPriority="'middle'"
- :preferType="defaultStore.state.emojiPickerUseDrawerForMobile === false ? 'popup' : 'auto'"
+ :preferType="defaultStore.state.emojiPickerStyle"
:hasInteractionWithOtherFocusTrappedEls="true"
:transparentBg="true"
:manualShowing="manualShowing"
diff --git a/packages/frontend/src/pages/settings/emoji-picker.vue b/packages/frontend/src/pages/settings/emoji-picker.vue
index dc3e3ee503..999a73df4c 100644
--- a/packages/frontend/src/pages/settings/emoji-picker.vue
+++ b/packages/frontend/src/pages/settings/emoji-picker.vue
@@ -113,10 +113,13 @@ SPDX-License-Identifier: AGPL-3.0-only
-
- {{ i18n.ts.useDrawerReactionPickerForMobile }}
+
+ {{ i18n.ts.style }}
{{ i18n.ts.needReloadToApply }}
-
+
+
+
+
@@ -128,7 +131,7 @@ import Sortable from 'vuedraggable';
import MkRadios from '@/components/MkRadios.vue';
import MkButton from '@/components/MkButton.vue';
import FormSection from '@/components/form/section.vue';
-import MkSwitch from '@/components/MkSwitch.vue';
+import MkSelect from '@/components/MkSelect.vue';
import * as os from '@/os.js';
import { defaultStore } from '@/store.js';
import { i18n } from '@/i18n.js';
@@ -146,7 +149,7 @@ const pinnedEmojis: Ref = ref(deepClone(defaultStore.state.pinnedEmoji
const emojiPickerScale = computed(defaultStore.makeGetterSetter('emojiPickerScale'));
const emojiPickerWidth = computed(defaultStore.makeGetterSetter('emojiPickerWidth'));
const emojiPickerHeight = computed(defaultStore.makeGetterSetter('emojiPickerHeight'));
-const emojiPickerUseDrawerForMobile = computed(defaultStore.makeGetterSetter('emojiPickerUseDrawerForMobile'));
+const emojiPickerStyle = computed(defaultStore.makeGetterSetter('emojiPickerStyle'));
const removeReaction = (reaction: string, ev: MouseEvent) => remove(pinnedEmojisForReaction, reaction, ev);
const chooseReaction = (ev: MouseEvent) => pickEmoji(pinnedEmojisForReaction, ev);
diff --git a/packages/frontend/src/pages/settings/preferences-backups.vue b/packages/frontend/src/pages/settings/preferences-backups.vue
index f6f3b933c6..8b905885ee 100644
--- a/packages/frontend/src/pages/settings/preferences-backups.vue
+++ b/packages/frontend/src/pages/settings/preferences-backups.vue
@@ -87,7 +87,7 @@ const defaultStoreSaveKeys: (keyof typeof defaultStore['state'])[] = [
'emojiPickerScale',
'emojiPickerWidth',
'emojiPickerHeight',
- 'emojiPickerUseDrawerForMobile',
+ 'emojiPickerStyle',
'defaultSideView',
'menuDisplay',
'reportError',
diff --git a/packages/frontend/src/store.ts b/packages/frontend/src/store.ts
index 5b10a9a387..c8b7aa013f 100644
--- a/packages/frontend/src/store.ts
+++ b/packages/frontend/src/store.ts
@@ -304,9 +304,9 @@ export const defaultStore = markRaw(new Storage('base', {
where: 'device',
default: 2,
},
- emojiPickerUseDrawerForMobile: {
+ emojiPickerStyle: {
where: 'device',
- default: true,
+ default: 'auto' as 'auto' | 'popup' | 'drawer',
},
recentlyUsedEmojis: {
where: 'device',