diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index b76bff4a8..257f4a685 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -815,6 +815,7 @@ voteConfirm: "「{choice}」に投票しますか?" hide: "隠す" leaveGroup: "グループから抜ける" leaveGroupConfirm: "「{name}」から抜けますか?" +useDrawerReactionPickerForMobile: "モバイルデバイスのときドロワーで表示" _emailUnavailable: used: "既に使用されています" diff --git a/packages/client/src/components/emoji-picker-dialog.vue b/packages/client/src/components/emoji-picker-dialog.vue index 703b27a3e..d2a405ef5 100644 --- a/packages/client/src/components/emoji-picker-dialog.vue +++ b/packages/client/src/components/emoji-picker-dialog.vue @@ -1,5 +1,5 @@ diff --git a/packages/client/src/pages/settings/reaction.vue b/packages/client/src/pages/settings/reaction.vue index 4d500f5b4..1df61ac47 100644 --- a/packages/client/src/pages/settings/reaction.vue +++ b/packages/client/src/pages/settings/reaction.vue @@ -29,11 +29,14 @@ + + {{ $ts.useDrawerReactionPickerForMobile }} + - {{ $ts.preview }} - - - {{ $ts.default }} +
+ {{ $ts.preview }} + {{ $ts.default }} +
@@ -46,6 +49,7 @@ import FormRadios from '@/components/form/radios.vue'; import FromSlot from '@/components/form/slot.vue'; import FormButton from '@/components/ui/button.vue'; import FormSection from '@/components/form/section.vue'; +import FormSwitch from '@/components/form/switch.vue'; import * as os from '@/os'; import { defaultStore } from '@/store'; import * as symbols from '@/symbols'; @@ -57,6 +61,7 @@ export default defineComponent({ FromSlot, FormRadios, FormSection, + FormSwitch, XDraggable, }, @@ -80,6 +85,7 @@ export default defineComponent({ computed: { reactionPickerWidth: defaultStore.makeGetterSetter('reactionPickerWidth'), reactionPickerHeight: defaultStore.makeGetterSetter('reactionPickerHeight'), + reactionPickerUseDrawerForMobile: defaultStore.makeGetterSetter('reactionPickerUseDrawerForMobile'), }, watch: { diff --git a/packages/client/src/store.ts b/packages/client/src/store.ts index 955d94a07..2290a2177 100644 --- a/packages/client/src/store.ts +++ b/packages/client/src/store.ts @@ -178,6 +178,10 @@ export const defaultStore = markRaw(new Storage('base', { where: 'device', default: 1 }, + reactionPickerUseDrawerForMobile: { + where: 'device', + default: true, + }, recentlyUsedEmojis: { where: 'device', default: [] as string[]