diff options
| author | syuilo <4439005+syuilo@users.noreply.github.com> | 2025-09-18 19:18:31 +0900 |
|---|---|---|
| committer | syuilo <4439005+syuilo@users.noreply.github.com> | 2025-09-18 19:18:31 +0900 |
| commit | 5fe08d0bbb7bb58234ec70e55289acfff8da0b8b (patch) | |
| tree | b43b7f977f1ba978cd02b15c63ead650f2fb19ee /packages | |
| parent | enhance(frontend): マスクエフェクト (#16556) (diff) | |
| download | misskey-5fe08d0bbb7bb58234ec70e55289acfff8da0b8b.tar.gz misskey-5fe08d0bbb7bb58234ec70e55289acfff8da0b8b.tar.bz2 misskey-5fe08d0bbb7bb58234ec70e55289acfff8da0b8b.zip | |
fix(frontend): iOSで、デバイスがダークモードだと初回読み込み時にエラーになる問題を修正
Fix #16562
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/frontend/src/boot/common.ts | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/packages/frontend/src/boot/common.ts b/packages/frontend/src/boot/common.ts index 574012ff78..4becf32ab5 100644 --- a/packages/frontend/src/boot/common.ts +++ b/packages/frontend/src/boot/common.ts @@ -151,7 +151,21 @@ export async function common(createVue: () => Promise<App<Element>>) { } //#endregion + //#region Sync dark mode + if (prefer.s.syncDeviceDarkMode) { + store.set('darkMode', isDeviceDarkmode()); + } + + window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (mql) => { + if (prefer.s.syncDeviceDarkMode) { + store.set('darkMode', mql.matches); + } + }); + //#endregion + // NOTE: この処理は必ずクライアント更新チェック処理より後に来ること(テーマ再構築のため) + // NOTE: この処理は必ずダークモード判定処理より後に来ること(初回のテーマ適用のため) + // see: https://github.com/misskey-dev/misskey/issues/16562 watch(store.r.darkMode, (darkMode) => { const theme = (() => { if (darkMode) { @@ -183,18 +197,6 @@ export async function common(createVue: () => Promise<App<Element>>) { }); } - //#region Sync dark mode - if (prefer.s.syncDeviceDarkMode) { - store.set('darkMode', isDeviceDarkmode()); - } - - window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (mql) => { - if (prefer.s.syncDeviceDarkMode) { - store.set('darkMode', mql.matches); - } - }); - //#endregion - if (!isSafeMode) { if (prefer.s.darkTheme && store.s.darkMode) { if (miLocalStorage.getItem('themeId') !== prefer.s.darkTheme.id) applyTheme(prefer.s.darkTheme); |