import { useSingleStatePersist } from "@deuna/checkout-core/packages/helpers/useSingleState"; import { PropsWithChildren, createContext, useContext, useMemo } from "react"; import { AppContextProps, AppProviderProps, AppState } from "./interfaces"; import { defaultContextValue, defaultState } from "./defaultState"; export const AppContext = createContext(defaultContextValue); export const AppProvider = (props: PropsWithChildren) => { const { state, setState, purgeStorage } = useSingleStatePersist( defaultState, "VaultWidget", [] ); const store = useMemo( () => ({ isModuleActive: true, state, setState, purgeStorage, }), [state, setState, purgeStorage] ); return ( {props.children} ); }; export const useAppContext = () => useContext(AppContext);