simplify gist methods. set gist now sets the gist
This commit is contained in:
parent
94d59d44a2
commit
210c463a38
4 changed files with 9 additions and 19 deletions
|
@ -19,18 +19,11 @@ const defaultGist = (design, locale='en') => {
|
|||
// generate the gist state and its handlers
|
||||
export function useGist(design, app) {
|
||||
// get the localstorage state and setter
|
||||
const [gist, _setGist, gistReady] = useLocalStorage(`${design.config.name}_gist`, defaultGist(design, app.locale));
|
||||
|
||||
|
||||
/** apply new gist values onto existing gist */
|
||||
const setGist = (newGist) => {
|
||||
// setters that are passed a function always use the latest state value, so these don't need to be memoized
|
||||
_setGist((gistState) => ({...gistState, ...newGist}))
|
||||
}
|
||||
const [gist, setGist, gistReady] = useLocalStorage(`${design.config.name}_gist`, defaultGist(design, app.locale));
|
||||
|
||||
/** update a single gist value */
|
||||
const updateGist = (path, value) => {
|
||||
_setGist((gistState) => {
|
||||
setGist((gistState) => {
|
||||
const newGist = {...gistState};
|
||||
set(newGist, path, value);
|
||||
return newGist;
|
||||
|
@ -39,22 +32,17 @@ export function useGist(design, app) {
|
|||
|
||||
/** unset a single gist value */
|
||||
const unsetGist = (path) => {
|
||||
_setGist((gistState) => {
|
||||
setGist((gistState) => {
|
||||
const newGist = {... gistState};
|
||||
unset(newGist, path);
|
||||
return newGist;
|
||||
})
|
||||
}
|
||||
|
||||
/** replace the entire gist with the given gist */
|
||||
const replaceGist = (newGist) => {
|
||||
_setGist(newGist);
|
||||
}
|
||||
|
||||
/** reset to the default gist */
|
||||
const clearGist = () => {
|
||||
replaceGist(defaultGist(design, gist.locale))
|
||||
setGist(defaultGist(design, gist.locale))
|
||||
}
|
||||
|
||||
return {gist, setGist, unsetGist, replaceGist, clearGist, gistReady, updateGist};
|
||||
return {gist, setGist, unsetGist, clearGist, gistReady, updateGist};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue