diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 72c20819e3..c9ba485e3a 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -448,6 +448,7 @@ uiLanguage: "UIの表示言語" groupInvited: "グループに招待されました" aboutX: "{x}について" useOsNativeEmojis: "OSネイティブの絵文字を使用" +disableDrawer: "メニューをドロワーで表示しない" youHaveNoGroups: "グループがありません" joinOrCreateGroup: "既存のグループに招待してもらうか、新しくグループを作成してください。" noHistory: "履歴はありません" diff --git a/packages/client/src/components/ui/modal.vue b/packages/client/src/components/ui/modal.vue index b09d04c450..3e2e59b27c 100644 --- a/packages/client/src/components/ui/modal.vue +++ b/packages/client/src/components/ui/modal.vue @@ -13,6 +13,7 @@ import { defineComponent, nextTick, onMounted, computed, PropType, ref, watch } from 'vue'; import * as os from '@/os'; import { isTouchUsing } from '@/scripts/touch'; +import { defaultStore } from '@/store'; function getFixedContainer(el: Element | null): Element | null { if (el == null || el.tagName === 'BODY') return null; @@ -77,7 +78,7 @@ export default defineComponent({ const zIndex = os.claimZIndex(props.zPriority); const type = computed(() => { if (props.preferType === 'auto') { - if (isTouchUsing && window.innerWidth < 500 && window.innerHeight < 1000) { + if (!defaultStore.state.disableDrawer && isTouchUsing && window.innerWidth < 500 && window.innerHeight < 1000) { return 'drawer'; } else { return props.src != null ? 'popup' : 'dialog'; diff --git a/packages/client/src/pages/settings/general.vue b/packages/client/src/pages/settings/general.vue index 57a4b25574..83924382d8 100644 --- a/packages/client/src/pages/settings/general.vue +++ b/packages/client/src/pages/settings/general.vue @@ -43,6 +43,7 @@ {{ $ts.useOsNativeEmojis }}
+ {{ $ts.disableDrawer }} @@ -140,6 +141,7 @@ export default defineComponent({ showGapBetweenNotesInTimeline: defaultStore.makeGetterSetter('showGapBetweenNotesInTimeline'), disableAnimatedMfm: defaultStore.makeGetterSetter('animatedMfm', v => !v, v => !v), useOsNativeEmojis: defaultStore.makeGetterSetter('useOsNativeEmojis'), + disableDrawer: defaultStore.makeGetterSetter('disableDrawer'), disableShowingAnimatedImages: defaultStore.makeGetterSetter('disableShowingAnimatedImages'), loadRawImages: defaultStore.makeGetterSetter('loadRawImages'), imageNewTab: defaultStore.makeGetterSetter('imageNewTab'), diff --git a/packages/client/src/store.ts b/packages/client/src/store.ts index 2290a21778..19d46bacea 100644 --- a/packages/client/src/store.ts +++ b/packages/client/src/store.ts @@ -138,6 +138,10 @@ export const defaultStore = markRaw(new Storage('base', { where: 'device', default: false }, + disableDrawer: { + where: 'device', + default: false + }, useBlurEffectForModal: { where: 'device', default: true