xag / ui /src /extension /stores /shared.store.ts
ddoc's picture
Upload 51 files
6242a59
import { createStore } from 'zustand/vanilla';
type SelectedTab = 'history' | 'pending';
type SharedState = {
uiAsTab: boolean;
selectedTab: SelectedTab;
};
type SharedActions = {
setSelectedTab: (tab: SelectedTab) => void;
};
export const createSharedStore = (initialState: SharedState) => {
const store = createStore<SharedState>(() => initialState);
const { getState, setState, subscribe } = store;
const actions: SharedActions = {
setSelectedTab: (tab: SelectedTab) => {
setState({ selectedTab: tab });
},
};
return { getState, setState, subscribe, ...actions };
};