diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 99b1482538..6b71acb1cf 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -672,6 +672,7 @@ wide: "広い" narrow: "狭い" reloadToApplySetting: "設定はページリロード後に反映されます。今すぐリロードしますか?" showTitlebar: "タイトルバーを表示する" +clearCache: "キャッシュをクリア" _aboutMisskey: about: "Misskeyはsyuiloによって2014年から開発されている、オープンソースのソフトウェアです。" diff --git a/src/client/init.ts b/src/client/init.ts index 9683075785..7c3df68c34 100644 --- a/src/client/init.ts +++ b/src/client/init.ts @@ -91,10 +91,6 @@ if (_DEV_) { // タッチデバイスでCSSの:hoverを機能させる document.addEventListener('touchend', () => {}, { passive: true }); -if (localStorage.theme == null) { - applyTheme(require('@/themes/l-light.json5')); -} - //#region SEE: https://css-tricks.com/the-trick-to-viewport-units-on-mobile/ // TODO: いつの日にか消したい const vh = window.innerHeight * 0.01; @@ -204,7 +200,7 @@ watch(defaultStore.reactiveState.darkMode, (darkMode) => { const themes = builtinThemes.concat(ColdDeviceStorage.get('themes')); applyTheme(themes.find(x => x.id === (darkMode ? ColdDeviceStorage.get('darkTheme') : ColdDeviceStorage.get('lightTheme')))); }); -}); +}, { immediate: localStorage.theme == null }); //#region Sync dark mode if (ColdDeviceStorage.get('syncDeviceDarkMode')) { diff --git a/src/client/pages/settings/index.vue b/src/client/pages/settings/index.vue index 05756716db..aa9fe27164 100644 --- a/src/client/pages/settings/index.vue +++ b/src/client/pages/settings/index.vue @@ -27,6 +27,9 @@ <FormLink :active="page === 'api'" replace to="/settings/api"><template #icon><Fa :icon="faKey"/></template>API</FormLink> <FormLink :active="page === 'other'" replace to="/settings/other"><template #icon><Fa :icon="faEllipsisH"/></template>{{ $ts.other }}</FormLink> </FormGroup> + <FormGroup> + <FormButton @click="clear">{{ $ts.clearCache }}</FormButton> + </FormGroup> <FormGroup> <FormButton @click="logout" danger>{{ $ts.logout }}</FormButton> </FormGroup> @@ -126,6 +129,11 @@ export default defineComponent({ logout: () => { signout(); }, + clear: () => { + localStorage.removeItem('locale'); + localStorage.removeItem('theme'); + location.reload(); + }, faPalette, faPlug, faUser, faListUl, faLock, faLaugh, faCommentSlash, faMusic, faBell, faCogs, faEllipsisH, faBan, faShareAlt, faLockOpen, faKey, faBoxes, faEnvelope, }; },