"use client"; import { createContext, useContext } from "react"; import { useStore, type StoreApi } from "zustand"; import type { IssueViewState } from "./view-store"; const ViewStoreContext = createContext | null>(null); export function ViewStoreProvider({ store, children, }: { store: StoreApi; children: React.ReactNode; }) { return ( {children} ); } export function useViewStore(selector: (state: IssueViewState) => T): T { const store = useContext(ViewStoreContext); if (!store) throw new Error("useViewStore must be used within ViewStoreProvider"); return useStore(store, selector); } export function useViewStoreApi(): StoreApi { const store = useContext(ViewStoreContext); if (!store) throw new Error("useViewStoreApi must be used within ViewStoreProvider"); return store; }