17 lines
533 B
TypeScript
17 lines
533 B
TypeScript
import { useContext } from "react";
|
|
import { useStore } from "zustand";
|
|
import type { GlobalProgressStore } from "../store/global-progress-store";
|
|
import { StoreContext } from "../providers/store-provider";
|
|
|
|
export const useGlobalProgressStore = <T>(
|
|
selector: (store: GlobalProgressStore) => T,
|
|
): T => {
|
|
const storeContext = useContext(StoreContext);
|
|
|
|
if (!storeContext) {
|
|
throw new Error("useGlobalProgressStore must be used within StoreProvider");
|
|
}
|
|
|
|
return useStore(storeContext.globalProgressStore, selector);
|
|
};
|