diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index d3bf3f92da..8bd1455793 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: "履歴はありません" @@ -818,6 +819,7 @@ leaveGroup: "グループから抜ける" leaveGroupConfirm: "「{name}」から抜けますか?" useDrawerReactionPickerForMobile: "モバイルデバイスのときドロワーで表示" welcomeBackWithName: "おかえりなさい、{name}さん" +clickToFinishEmailVerification: "[{ok}]を押して、メールアドレスの確認を完了してください。" _emailUnavailable: used: "既に使用されています" 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/pages/signup-complete.vue b/packages/client/src/pages/signup-complete.vue index 3bbc9938dd..89375e05d2 100644 --- a/packages/client/src/pages/signup-complete.vue +++ b/packages/client/src/pages/signup-complete.vue @@ -31,12 +31,15 @@ export default defineComponent({ } }, - mounted() { - os.apiWithDialog('signup-pending', { - code: this.code, - }).then(res => { - login(res.i, '/'); + async mounted() { + await os.alert({ + type: 'info', + text: this.$t('clickToFinishEmailVerification', { ok: this.$ts.gotIt }), }); + const res = await os.apiWithDialog('signup-pending', { + code: this.code, + }); + login(res.i, '/'); }, methods: { 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