import { createContext, useContext, useMemo } from "react"; import type { ITransferBookingRequest } from "@/models/booking-request.model"; import type { BRTransferListSelected } from "../components/br-transfer-list"; interface IBookingRequestTransferChangeContext { transferBookingRequest: ITransferBookingRequest; selectedData: BRTransferListSelected | null; } export const BookingRequestTransferChangeContext = createContext( {} as IBookingRequestTransferChangeContext, ); export const BookingRequestTransferChangeProvider = (props: { children: React.ReactNode; transferBookingRequest: ITransferBookingRequest; selectedData: BRTransferListSelected | null; }) => { const contextValue = useMemo(() => { return { transferBookingRequest: props.transferBookingRequest, selectedData: props.selectedData, }; }, [props.transferBookingRequest, props.selectedData]); return ( {props.children} ); }; export const useBookingRequestTransferChangeContext = () => { return useContext(BookingRequestTransferChangeContext); };