1
1
mirror of https://github.com/kokonect-link/cherrypick synced 2025-01-06 01:43:21 +09:00
cherrypick/packages/frontend/src/local-storage.ts

57 lines
1.4 KiB
TypeScript
Raw Normal View History

/*
2023-08-01 17:16:39 +09:00
* SPDX-FileCopyrightText: syuilo and other misskey, cherrypick contributors
* SPDX-License-Identifier: AGPL-3.0-only
*/
2023-01-07 10:13:02 +09:00
type Keys =
'v' |
2023-09-28 19:09:12 +09:00
'basedMisskeyVersion' |
2023-01-07 10:13:02 +09:00
'lastVersion' |
2023-09-29 13:34:40 +09:00
'lastBasedMisskeyVersion' |
2023-01-07 10:13:02 +09:00
'instance' |
'account' |
'accounts' |
2023-01-07 11:49:00 +09:00
'latestDonationInfoShownAt' |
'neverShowDonationInfo' |
'neverShowLocalOnlyInfo' |
2023-01-07 10:13:02 +09:00
'lastUsed' |
'lang' |
'drafts' |
'hashtags' |
'wallpaper' |
'theme' |
2023-06-05 10:55:18 +09:00
'colorScheme' |
'useSystemFont' |
2023-01-07 10:13:02 +09:00
'fontSize' |
'useBoldFont' |
2023-01-07 10:13:02 +09:00
'ui' |
'ui_temp' |
2023-01-07 10:13:02 +09:00
'locale' |
'localeVersion' |
2023-01-07 10:13:02 +09:00
'customCss' |
'message_drafts' |
'scratchpad' |
'debug' |
2023-01-07 10:13:02 +09:00
`miux:${string}` |
`ui:folder:${string}` |
`themes:${string}` |
`aiscript:${string}` |
`aiscriptSecure:${string}` |
'lastEmojisFetchedAt' | // DEPRECATED, stored in indexeddb (13.9.0~)
'emojis' | // DEPRECATED, stored in indexeddb (13.9.0~);
'neverShowNoteEditInfo'
2023-01-07 10:13:02 +09:00
export const miLocalStorage = {
getItem: (key: Keys): string | null => window.localStorage.getItem(key),
setItem: (key: Keys, value: string): void => window.localStorage.setItem(key, value),
removeItem: (key: Keys): void => window.localStorage.removeItem(key),
getItemAsJson: (key: Keys): any | undefined => {
const item = miLocalStorage.getItem(key);
if (item === null) {
return undefined;
}
return JSON.parse(item);
},
setItemAsJson: (key: Keys, value: any): void => window.localStorage.setItem(key, JSON.stringify(value)),
2023-01-07 10:13:02 +09:00
};