diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2023-01-07 10:13:02 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2023-01-07 10:13:02 +0900 |
| commit | 91503405b4e58cb9d39c0441d86ff540a27931e6 (patch) | |
| tree | 4c64371d1a88668e762733db1afaa3be7e284442 /packages/frontend/src/scripts | |
| parent | 13.0.0-beta.26 (diff) | |
| download | sharkey-91503405b4e58cb9d39c0441d86ff540a27931e6.tar.gz sharkey-91503405b4e58cb9d39c0441d86ff540a27931e6.tar.bz2 sharkey-91503405b4e58cb9d39c0441d86ff540a27931e6.zip | |
refactor(client): typed localStorage
Diffstat (limited to 'packages/frontend/src/scripts')
| -rw-r--r-- | packages/frontend/src/scripts/aiscript/api.ts | 5 | ||||
| -rw-r--r-- | packages/frontend/src/scripts/get-note-menu.ts | 3 | ||||
| -rw-r--r-- | packages/frontend/src/scripts/idb-proxy.ts | 6 | ||||
| -rw-r--r-- | packages/frontend/src/scripts/theme.ts | 5 |
4 files changed, 11 insertions, 8 deletions
diff --git a/packages/frontend/src/scripts/aiscript/api.ts b/packages/frontend/src/scripts/aiscript/api.ts index 6debcb8a13..2a44223080 100644 --- a/packages/frontend/src/scripts/aiscript/api.ts +++ b/packages/frontend/src/scripts/aiscript/api.ts @@ -1,6 +1,7 @@ import { utils, values } from '@syuilo/aiscript'; import * as os from '@/os'; import { $i } from '@/account'; +import { miLocalStorage } from '@/local-storage'; export function createAiScriptEnv(opts) { let apiRequests = 0; @@ -32,12 +33,12 @@ export function createAiScriptEnv(opts) { }), 'Mk:save': values.FN_NATIVE(([key, value]) => { utils.assertString(key); - localStorage.setItem('aiscript:' + opts.storageKey + ':' + key.value, JSON.stringify(utils.valToJs(value))); + miLocalStorage.setItem(`aiscript:${opts.storageKey}:${key.value}`, JSON.stringify(utils.valToJs(value))); return values.NULL; }), 'Mk:load': values.FN_NATIVE(([key]) => { utils.assertString(key); - return utils.jsToVal(JSON.parse(localStorage.getItem('aiscript:' + opts.storageKey + ':' + key.value))); + return utils.jsToVal(JSON.parse(miLocalStorage.getItem(`aiscript:${opts.storageKey}:${key.value}`))); }), }; } diff --git a/packages/frontend/src/scripts/get-note-menu.ts b/packages/frontend/src/scripts/get-note-menu.ts index 7656770894..1b723220ee 100644 --- a/packages/frontend/src/scripts/get-note-menu.ts +++ b/packages/frontend/src/scripts/get-note-menu.ts @@ -9,6 +9,7 @@ import copyToClipboard from '@/scripts/copy-to-clipboard'; import { url } from '@/config'; import { noteActions } from '@/store'; import { notePage } from '@/filters/note'; +import { miLocalStorage } from '@/local-storage'; export function getNoteMenu(props: { note: misskey.entities.Note; @@ -181,7 +182,7 @@ export function getNoteMenu(props: { props.translating.value = true; const res = await os.api('notes/translate', { noteId: appearNote.id, - targetLang: localStorage.getItem('lang') || navigator.language, + targetLang: miLocalStorage.getItem('lang') || navigator.language, }); props.translating.value = false; props.translation.value = res; diff --git a/packages/frontend/src/scripts/idb-proxy.ts b/packages/frontend/src/scripts/idb-proxy.ts index 77bb84463c..218682bb56 100644 --- a/packages/frontend/src/scripts/idb-proxy.ts +++ b/packages/frontend/src/scripts/idb-proxy.ts @@ -22,15 +22,15 @@ if (idbAvailable) { export async function get(key: string) { if (idbAvailable) return iget(key); - return JSON.parse(localStorage.getItem(fallbackName(key))); + return JSON.parse(window.localStorage.getItem(fallbackName(key))); } export async function set(key: string, val: any) { if (idbAvailable) return iset(key, val); - return localStorage.setItem(fallbackName(key), JSON.stringify(val)); + return window.localStorage.setItem(fallbackName(key), JSON.stringify(val)); } export async function del(key: string) { if (idbAvailable) return idel(key); - return localStorage.removeItem(fallbackName(key)); + return window.localStorage.removeItem(fallbackName(key)); } diff --git a/packages/frontend/src/scripts/theme.ts b/packages/frontend/src/scripts/theme.ts index 62a2b9459a..42cb00265d 100644 --- a/packages/frontend/src/scripts/theme.ts +++ b/packages/frontend/src/scripts/theme.ts @@ -14,6 +14,7 @@ export type Theme = { import lightTheme from '@/themes/_light.json5'; import darkTheme from '@/themes/_dark.json5'; import { deepClone } from './clone'; +import { miLocalStorage } from '@/local-storage'; export const themeProps = Object.keys(lightTheme.props).filter(key => !key.startsWith('X')); @@ -84,8 +85,8 @@ export function applyTheme(theme: Theme, persist = true) { document.documentElement.style.setProperty('color-schema', colorSchema); if (persist) { - localStorage.setItem('theme', JSON.stringify(props)); - localStorage.setItem('colorSchema', colorSchema); + miLocalStorage.setItem('theme', JSON.stringify(props)); + miLocalStorage.setItem('colorSchema', colorSchema); } // 色計算など再度行えるようにクライアント全体に通知 |