1
0
Fork 0

Merge pull request #5590 from ArcticCoder/use-local-storage-state

Migrate use-persisted-state to use-local-storage-state
This commit is contained in:
Joost De Cock 2023-12-09 15:09:08 +01:00 committed by GitHub
commit d161e5aaca
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 17 additions and 58 deletions

View file

@ -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

View file

@ -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": {

View file

@ -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": {},

View file

@ -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 = () => {

View file

@ -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 }
}

View file

@ -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],

View file

@ -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": {

View file

@ -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"