Merge pull request #5590 from ArcticCoder/use-local-storage-state
Migrate use-persisted-state to use-local-storage-state
This commit is contained in:
commit
d161e5aaca
8 changed files with 17 additions and 58 deletions
|
@ -318,7 +318,7 @@ org:
|
|||
'remark-gfm': *remarkGfm
|
||||
'remark-mdx-frontmatter': *mdxfrontmatter
|
||||
'strip-markdown': *stripMarkdown
|
||||
'use-persisted-state': &use-persisted-state 0.3.3
|
||||
'use-local-storage-state': &use-local-storage-state 19.1.0
|
||||
'yaml-loader': 0.8.0
|
||||
dev: *nextSiteDevDependencies
|
||||
|
||||
|
@ -365,7 +365,7 @@ shared:
|
|||
'tlds': &rlds '1.242.0'
|
||||
'to-vfile': '8.0.0'
|
||||
'unist-util-visit': *unist-util-visit
|
||||
'use-persisted-state': *use-persisted-state
|
||||
'use-local-storage-state': *use-local-storage-state
|
||||
'web-worker': &webworker '1.2.0'
|
||||
dev:
|
||||
'recursive-readdir': '^2.2.3'
|
||||
|
@ -425,6 +425,6 @@ sde:
|
|||
"slugify": *slugify
|
||||
'svg-to-pdfkit': *svgtopdfkit
|
||||
'tlds': *rlds
|
||||
'use-persisted-state': *use-persisted-state
|
||||
'use-local-storage-state': *use-local-storage-state
|
||||
'web-worker': *webworker
|
||||
|
||||
|
|
|
@ -62,7 +62,7 @@
|
|||
"remark-gfm": "4.0.0",
|
||||
"remark-mdx-frontmatter": "4.0.0",
|
||||
"strip-markdown": "6.0.0",
|
||||
"use-persisted-state": "0.3.3",
|
||||
"use-local-storage-state": "19.1.0",
|
||||
"yaml-loader": "0.8.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
|
|
@ -78,8 +78,8 @@
|
|||
"remark-smartypants": "2.0.0",
|
||||
"slugify": "^1.6.6",
|
||||
"svg-to-pdfkit": "https://git@github.com/eriese/SVG-to-PDFKit",
|
||||
"use-local-storage-state": "19.1.0",
|
||||
"tlds": "1.247.0",
|
||||
"use-persisted-state": "0.3.3",
|
||||
"web-worker": "1.2.0"
|
||||
},
|
||||
"devDependencies": {},
|
||||
|
|
|
@ -1,13 +1,5 @@
|
|||
// __SDEFILE__ - This file is a dependency for the stand-alone environment
|
||||
import createPersistedState from 'use-persisted-state'
|
||||
|
||||
/*
|
||||
* Set up local storage state for account & token
|
||||
*/
|
||||
const usePersistedAccount = createPersistedState('fs-account')
|
||||
const usePersistedAdmin = createPersistedState('fs-admin')
|
||||
const usePersistedToken = createPersistedState('fs-token')
|
||||
const usePersistedSeenUser = createPersistedState('fs-seen-user')
|
||||
import useLocalStorageState from 'use-local-storage-state'
|
||||
|
||||
/*
|
||||
* Make it possible to always check for account.username and account.control
|
||||
|
@ -19,10 +11,10 @@ const noAccount = { username: false, control: 2 }
|
|||
*/
|
||||
export function useAccount() {
|
||||
// (persisted) State (saved to local storage)
|
||||
const [account, setAccount] = usePersistedAccount(noAccount)
|
||||
const [admin, setAdmin] = usePersistedAdmin(noAccount)
|
||||
const [token, setToken] = usePersistedToken(null)
|
||||
const [seenUser, setSeenUser] = usePersistedSeenUser(false)
|
||||
const [account, setAccount] = useLocalStorageState('fs-account', { defaultValue: noAccount })
|
||||
const [admin, setAdmin] = useLocalStorageState('fs-admin', { defaultValue: noAccount })
|
||||
const [token, setToken] = useLocalStorageState('fs-token', { defaultValue: null })
|
||||
const [seenUser, setSeenUser] = useLocalStorageState('fs-seen-user', { defaultValue: false })
|
||||
|
||||
// Clear user data. This gets called when signing out
|
||||
const signOut = () => {
|
||||
|
|
|
@ -1,24 +0,0 @@
|
|||
import set from 'lodash.set'
|
||||
import unset from 'lodash.unset'
|
||||
import createPersistedState from 'use-persisted-state'
|
||||
|
||||
const defaultStorage = {}
|
||||
|
||||
/*
|
||||
* The useStorage hook - Keeps state in local storage
|
||||
*/
|
||||
export function useStorage(name = 'fs-storage', defaultValue = {}) {
|
||||
/*
|
||||
* Persisted state setup
|
||||
*/
|
||||
const usePersistedState = createPersistedState(name)
|
||||
const [storage, setStorage] = usePersistedState(defaultStorage)
|
||||
|
||||
/*
|
||||
* Helper methods for partial state updates
|
||||
*/
|
||||
const updateStorage = (path, value) => setStorage(set({ ...storage }, path, value))
|
||||
const unsetStorage = (path) => setStorage(unset({ ...storage }, path))
|
||||
|
||||
return { storage, setStorage, updateStorage, unsetStorage }
|
||||
}
|
|
@ -1,8 +1,6 @@
|
|||
// __SDEFILE__ - This file is a dependency for the stand-alone environment
|
||||
import { spectrum, rating, graph } from 'shared/themes/index.mjs'
|
||||
import createPersistedState from 'use-persisted-state'
|
||||
|
||||
const usePersistedTheme = createPersistedState('fs-theme')
|
||||
import useLocalStorageState from 'use-local-storage-state'
|
||||
|
||||
const preferredTheme = () => {
|
||||
const prefersDarkMode =
|
||||
|
@ -14,7 +12,7 @@ const preferredTheme = () => {
|
|||
}
|
||||
|
||||
export const useTheme = () => {
|
||||
const theme = usePersistedTheme(preferredTheme)
|
||||
const theme = useLocalStorageState('fs-theme', { defaultValue: preferredTheme })
|
||||
|
||||
return {
|
||||
theme: theme[0],
|
||||
|
|
|
@ -56,7 +56,7 @@
|
|||
"tlds": "1.247.0",
|
||||
"to-vfile": "8.0.0",
|
||||
"unist-util-visit": "5.0.0",
|
||||
"use-persisted-state": "0.3.3",
|
||||
"use-local-storage-state": "19.1.0",
|
||||
"web-worker": "1.2.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
|
15
yarn.lock
15
yarn.lock
|
@ -2851,11 +2851,6 @@
|
|||
resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406"
|
||||
integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==
|
||||
|
||||
"@use-it/event-listener@^0.1.2":
|
||||
version "0.1.7"
|
||||
resolved "https://registry.yarnpkg.com/@use-it/event-listener/-/event-listener-0.1.7.tgz#443a9b6df87f2f2961b74d42997ce723a7078623"
|
||||
integrity sha512-hgfExDzUU9uTRTPDCpw2s9jWTxcxmpJya3fK5ADpf5VDpSy8WYwY/kh28XE0tUcbsljeP8wfan48QvAQTSSa3Q==
|
||||
|
||||
"@yarnpkg/lockfile@^1.1.0":
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31"
|
||||
|
@ -13867,12 +13862,10 @@ urlgrey@1.0.0:
|
|||
dependencies:
|
||||
fast-url-parser "^1.1.3"
|
||||
|
||||
use-persisted-state@0.3.3:
|
||||
version "0.3.3"
|
||||
resolved "https://registry.yarnpkg.com/use-persisted-state/-/use-persisted-state-0.3.3.tgz#5e0f2236967cec7c34de33abc07ae6818e7c7451"
|
||||
integrity sha512-pCNlvYC8+XjRxwnIut4teGC9f2p9aD88R8OGseQGZa2dvqG/h1vEGk1vRE1IZG0Vf161UDpn+NlW4+UGubQflQ==
|
||||
dependencies:
|
||||
"@use-it/event-listener" "^0.1.2"
|
||||
use-local-storage-state@19.1.0:
|
||||
version "19.1.0"
|
||||
resolved "https://registry.yarnpkg.com/use-local-storage-state/-/use-local-storage-state-19.1.0.tgz#9424981fd95dd37d253aad982f0a959ef5542fe2"
|
||||
integrity sha512-3Ea6uRtRaSwpZYD9maZPKoEEGRuHmVA7zGrV/Uh9s5NTj9K1x/MB4IOQoywjUesQyhXmJq6bqjC5cAqlsXoOTw==
|
||||
|
||||
use-sync-external-store@^1.0.0:
|
||||
version "1.2.0"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue