move isZen to nanostore
+ correctly parse non strings in store
This commit is contained in:
parent
70f7e73b9a
commit
0006d57a4a
5 changed files with 17 additions and 12 deletions
|
|
@ -8,14 +8,21 @@ export const defaultSettings = {
|
|||
fontFamily: 'monospace',
|
||||
fontSize: 18,
|
||||
latestCode: '',
|
||||
isZen: false,
|
||||
};
|
||||
|
||||
export const settingsMap = persistentMap('strudel-settings', defaultSettings);
|
||||
|
||||
export function useSettings() {
|
||||
return useStore(settingsMap);
|
||||
const state = useStore(settingsMap);
|
||||
return {
|
||||
...state,
|
||||
isZen: [true, 'true'].includes(state.isZen) ? true : false,
|
||||
fontSize: Number(state.fontSize),
|
||||
};
|
||||
}
|
||||
|
||||
export const setActiveFooter = (tab) => settingsMap.setKey('activeFooter', tab);
|
||||
|
||||
export const setLatestCode = (code) => settingsMap.setKey('latestCode', code);
|
||||
export const setIsZen = (active) => settingsMap.setKey('isZen', !!active);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue