diff --git a/packages/frontend/src/boot/common.ts b/packages/frontend/src/boot/common.ts index cf832b0e18..b1adace208 100644 --- a/packages/frontend/src/boot/common.ts +++ b/packages/frontend/src/boot/common.ts @@ -66,6 +66,8 @@ export async function common(createVue: () => App) { let isClientMigrated = false; const showPushNotificationDialog = miLocalStorage.getItem('showPushNotificationDialog'); + if (miLocalStorage.getItem('ui') === null) miLocalStorage.setItem('ui', 'friendly'); + if (instance.swPublickey && ('PushManager' in window) && $i && $i.token && showPushNotificationDialog == null) { popup(defineAsyncComponent(() => import('@/components/MkPushNotification.vue')), {}, {}, 'closed'); } diff --git a/packages/frontend/src/pages/settings/navbar.vue b/packages/frontend/src/pages/settings/navbar.vue index f982f23faa..ba5f616cce 100644 --- a/packages/frontend/src/pages/settings/navbar.vue +++ b/packages/frontend/src/pages/settings/navbar.vue @@ -87,6 +87,9 @@ import { defaultStore } from '@/store.js'; import { reloadAsk } from '@/scripts/reload-ask.js'; import { i18n } from '@/i18n.js'; import { definePageMetadata } from '@/scripts/page-metadata.js'; +import { miLocalStorage } from '@/local-storage.js'; + +const isFriendly = ref(miLocalStorage.getItem('ui') === 'friendly'); const Sortable = defineAsyncComponent(() => import('vuedraggable').then(x => x.default)); @@ -152,11 +155,11 @@ function reset() { } function resetButtomNavbar() { - defaultStore.set('showHomeButtonInNavbar', true); - defaultStore.set('showExploreButtonInNavbar', true); + defaultStore.set('showHomeButtonInNavbar', !isFriendly.value); + defaultStore.set('showExploreButtonInNavbar', isFriendly.value); defaultStore.set('showSearchButtonInNavbar', false); defaultStore.set('showNotificationButtonInNavbar', true); - defaultStore.set('showMessageButtonInNavbar', true); + defaultStore.set('showMessageButtonInNavbar', isFriendly.value); defaultStore.set('showWidgetButtonInNavbar', true); } diff --git a/packages/frontend/src/store.ts b/packages/frontend/src/store.ts index 0ef82ff31c..481915217c 100644 --- a/packages/frontend/src/store.ts +++ b/packages/frontend/src/store.ts @@ -62,6 +62,8 @@ export const noteViewInterruptors: NoteViewInterruptor[] = []; export const notePostInterruptors: NotePostInterruptor[] = []; export const pageViewInterruptors: PageViewInterruptor[] = []; +const isFriendly = ref(miLocalStorage.getItem('ui') === 'friendly'); + // TODO: それぞれいちいちwhereとかdefaultというキーを付けなきゃいけないの冗長なのでなんとかする(ただ型定義が面倒になりそう) // あと、現行の定義の仕方なら「whereが何であるかに関わらずキー名の重複不可」という制約を付けられるメリットもあるからそのメリットを引き継ぐ方法も考えないといけない export const defaultStore = markRaw(new Storage('base', { @@ -658,7 +660,7 @@ export const defaultStore = markRaw(new Storage('base', { // - Settings/Navigation bar showMenuButtonInNavbar: { where: 'device', - default: true, + default: !isFriendly.value, }, showHomeButtonInNavbar: { where: 'device', @@ -666,7 +668,7 @@ export const defaultStore = markRaw(new Storage('base', { }, showExploreButtonInNavbar: { where: 'device', - default: true, + default: isFriendly.value, }, showSearchButtonInNavbar: { where: 'device', @@ -678,7 +680,7 @@ export const defaultStore = markRaw(new Storage('base', { }, showMessageButtonInNavbar: { where: 'device', - default: true, + default: isFriendly.value, }, showWidgetButtonInNavbar: { where: 'device',