PluginProbe
Extendify / 1.1.0
Extendify v1.1.0
3.2.0 3.1.6 3.1.5 3.1.4 3.1.3 3.1.2 3.1.1 3.1.0 3.0.6 3.0.5 3.0.4 trunk 0.1.0 0.10.0 0.10.1 0.10.2 0.11.0 0.11.1 0.2.0 0.3.0 0.3.1 0.4.0 0.5.0 0.6.0 0.7.0 All 126 releases
extendify / src / Library / state / GlobalState.js

GlobalState.js in Extendify 1.1.0, at src/Library/state/GlobalState.js

37 lines 1.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 import create from 'zustand'
2 import { persist, subscribeWithSelector } from 'zustand/middleware'
3
4 export const useGlobalStore = create(
5 subscribeWithSelector(
6 persist(
7 (set, get) => ({
8 open: false,
9 ready: false,
10 metaData: {},
11 // These two are here just to persist their previous values,
12 // but could be refactored to be the source instead.
13 // It would require a refactor to state/Templates.js
14 currentTaxonomies: {},
15 currentType: 'pattern',
16 modals: [],
17 pushModal: (modal) => set({ modals: [modal, ...get().modals] }),
18 popModal: () => set({ modals: get().modals.slice(1) }),
19 removeAllModals: () => set({ modals: [] }),
20 updateCurrentTaxonomies: (data) =>
21 set({ currentTaxonomies: { ...data } }),
22 updateCurrentType: (data) => set({ currentType: data }),
23 setOpen: (value) => set({ open: value }),
24 setReady: (value) => set({ ready: value }),
25 }),
26 {
27 name: 'extendify-global-state',
28 partialize: (state) => {
29 delete state.modals
30 delete state.ready
31 return state
32 },
33 },
34 ),
35 ),
36 )
37