diff --git a/packages/frontend/src/boot/main-boot.ts b/packages/frontend/src/boot/main-boot.ts index 94a57acb96..cf56ec8640 100644 --- a/packages/frontend/src/boot/main-boot.ts +++ b/packages/frontend/src/boot/main-boot.ts @@ -154,6 +154,7 @@ export async function mainBoot() { prefer.set('lightTheme', ColdDeviceStorage.get('lightTheme')); prefer.set('darkTheme', ColdDeviceStorage.get('darkTheme')); prefer.set('syncDeviceDarkMode', ColdDeviceStorage.get('syncDeviceDarkMode')); + prefer.set('widgets', store.state.widgets); prefer.set('keepCw', store.state.keepCw); prefer.set('collapseRenotes', store.state.collapseRenotes); prefer.set('rememberNoteVisibility', store.state.rememberNoteVisibility); diff --git a/packages/frontend/src/preferences/def.ts b/packages/frontend/src/preferences/def.ts index e122a25d4e..089098006b 100644 --- a/packages/frontend/src/preferences/def.ts +++ b/packages/frontend/src/preferences/def.ts @@ -35,6 +35,15 @@ export const PREF_DEF = { accountDependent: true, default: null as string | null, }, + widgets: { + accountDependent: true, + default: [] as { + name: string; + id: string; + place: string | null; + data: Record; + }[], + }, themes: { default: [] as Theme[], diff --git a/packages/frontend/src/preferences/utility.ts b/packages/frontend/src/preferences/utility.ts index 2d1921f8a9..11bebc6ab2 100644 --- a/packages/frontend/src/preferences/utility.ts +++ b/packages/frontend/src/preferences/utility.ts @@ -203,7 +203,7 @@ export async function enableAutoBackup() { export const shouldSuggestRestoreBackup = ref(false); if ($i != null) { - if (new Date($i.createdAt).getTime() < (Date.now() - 1000 * 60 * 30)) { // アカウント作成直後は意味ないので除外 + if (new Date($i.createdAt).getTime() > (Date.now() - 1000 * 60 * 30)) { // アカウント作成直後は意味ないので除外 miLocalStorage.setItem('hidePreferencesRestoreSuggestion', 'true'); } else { if (miLocalStorage.getItem('hidePreferencesRestoreSuggestion') !== 'true') { diff --git a/packages/frontend/src/store.ts b/packages/frontend/src/store.ts index b6bf0e5fba..32b4543f52 100644 --- a/packages/frontend/src/store.ts +++ b/packages/frontend/src/store.ts @@ -102,15 +102,6 @@ export const store = markRaw(new Storage('base', { where: 'device', default: false, }, - widgets: { - where: 'account', - default: [] as { - name: string; - id: string; - place: string | null; - data: Record; - }[], - }, tl: { where: 'deviceAccount', default: { @@ -187,6 +178,15 @@ export const store = markRaw(new Storage('base', { }, //#region TODO: そのうち消す (preferに移行済み) + widgets: { + where: 'account', + default: [] as { + name: string; + id: string; + place: string | null; + data: Record; + }[], + }, defaultSideView: { where: 'device', default: false, diff --git a/packages/frontend/src/ui/_common_/PreferenceRestore.vue b/packages/frontend/src/ui/_common_/PreferenceRestore.vue index 0412733350..c70b82cd0e 100644 --- a/packages/frontend/src/ui/_common_/PreferenceRestore.vue +++ b/packages/frontend/src/ui/_common_/PreferenceRestore.vue @@ -39,15 +39,6 @@ function skip() { overflow: clip; contain: strict; background: var(--MI_THEME-panel); - - @container (max-width: 1000px) { - display: block; - text-align: center; - - > .body { - display: none; - } - } } .icon { diff --git a/packages/frontend/src/ui/classic.vue b/packages/frontend/src/ui/classic.vue index abe612ab3e..12791dba30 100644 --- a/packages/frontend/src/ui/classic.vue +++ b/packages/frontend/src/ui/classic.vue @@ -143,20 +143,18 @@ if (window.innerWidth < 1024) { document.documentElement.style.overflowY = 'scroll'; -store.loaded.then(() => { - if (store.state.widgets.length === 0) { - store.set('widgets', [{ - name: 'calendar', - id: 'a', place: null, data: {}, - }, { - name: 'notifications', - id: 'b', place: null, data: {}, - }, { - name: 'trends', - id: 'c', place: null, data: {}, - }]); - } -}); +if (prefer.s.widgets.length === 0) { + prefer.set('widgets', [{ + name: 'calendar', + id: 'a', place: null, data: {}, + }, { + name: 'notifications', + id: 'b', place: null, data: {}, + }, { + name: 'trends', + id: 'c', place: null, data: {}, + }]); +} onMounted(() => { window.addEventListener('resize', () => { diff --git a/packages/frontend/src/ui/universal.vue b/packages/frontend/src/ui/universal.vue index e012d615a8..633eca7542 100644 --- a/packages/frontend/src/ui/universal.vue +++ b/packages/frontend/src/ui/universal.vue @@ -106,7 +106,6 @@ import type MkStickyContainer from '@/components/global/MkStickyContainer.vue'; import type { PageMetadata } from '@/utility/page-metadata.js'; import XDrawerMenu from '@/ui/_common_/navbar-for-mobile.vue'; import * as os from '@/os.js'; -import { store } from '@/store.js'; import { navbarItemDef } from '@/navbar.js'; import { i18n } from '@/i18n.js'; import { $i } from '@/account.js'; @@ -178,20 +177,18 @@ if (window.innerWidth > 1024) { } } -store.loaded.then(() => { - if (store.state.widgets.length === 0) { - store.set('widgets', [{ - name: 'calendar', - id: 'a', place: 'right', data: {}, - }, { - name: 'notifications', - id: 'b', place: 'right', data: {}, - }, { - name: 'trends', - id: 'c', place: 'right', data: {}, - }]); - } -}); +if (prefer.s.widgets.length === 0) { + prefer.set('widgets', [{ + name: 'calendar', + id: 'a', place: 'right', data: {}, + }, { + name: 'notifications', + id: 'b', place: 'right', data: {}, + }, { + name: 'trends', + id: 'c', place: 'right', data: {}, + }]); +} onMounted(() => { if (!isDesktop.value) { diff --git a/packages/frontend/src/ui/universal.widgets.vue b/packages/frontend/src/ui/universal.widgets.vue index 42b870cbb5..ea2b7f2cf2 100644 --- a/packages/frontend/src/ui/universal.widgets.vue +++ b/packages/frontend/src/ui/universal.widgets.vue @@ -19,7 +19,7 @@ const editMode = ref(false);