feat: deal group and stuff
This commit is contained in:
		@@ -4,30 +4,40 @@ import { DealSchema } from "../../../client";
 | 
			
		||||
type DealPageContextState = {
 | 
			
		||||
    selectedDeal?: DealSchema;
 | 
			
		||||
    setSelectedDeal: (deal: DealSchema | undefined) => void;
 | 
			
		||||
    refetchDeals: () => Promise<void>;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const DealPageContext = createContext<DealPageContextState | undefined>(
 | 
			
		||||
    undefined
 | 
			
		||||
    undefined,
 | 
			
		||||
);
 | 
			
		||||
const useDealPageContextState = () => {
 | 
			
		||||
 | 
			
		||||
type DealPageContextStateProps = {
 | 
			
		||||
    refetchDeals: () => Promise<void>;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const useDealPageContextState = (props: DealPageContextStateProps) => {
 | 
			
		||||
    const { refetchDeals } = props;
 | 
			
		||||
    const [selectedDeal, setSelectedDeal] = useState<DealSchema | undefined>(
 | 
			
		||||
        undefined
 | 
			
		||||
        undefined,
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    return {
 | 
			
		||||
        selectedDeal,
 | 
			
		||||
        setSelectedDeal,
 | 
			
		||||
        refetchDeals,
 | 
			
		||||
    };
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
type DealPageContextProviderProps = {
 | 
			
		||||
    children: React.ReactNode;
 | 
			
		||||
    refetchDeals: () => Promise<void>;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export const DealPageContextProvider: FC<DealPageContextProviderProps> = ({
 | 
			
		||||
    children,
 | 
			
		||||
}) => {
 | 
			
		||||
    const state = useDealPageContextState();
 | 
			
		||||
                                                                              children,
 | 
			
		||||
                                                                              refetchDeals,
 | 
			
		||||
                                                                          }) => {
 | 
			
		||||
    const state = useDealPageContextState({ refetchDeals });
 | 
			
		||||
    return (
 | 
			
		||||
        <DealPageContext.Provider value={state}>
 | 
			
		||||
            {children}
 | 
			
		||||
@@ -39,7 +49,7 @@ export const useDealPageContext = () => {
 | 
			
		||||
    const context = useContext(DealPageContext);
 | 
			
		||||
    if (!context) {
 | 
			
		||||
        throw new Error(
 | 
			
		||||
            "useDealPageContext must be used within a DealPageContextProvider"
 | 
			
		||||
            "useDealPageContext must be used within a DealPageContextProvider",
 | 
			
		||||
        );
 | 
			
		||||
    }
 | 
			
		||||
    return context;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user