Ramble-FE / contexts / CallProvider.tsx
CallProvider.tsx
Raw
import { callMachine } from "@/machine";
import { appServices, ServiceDependencies } from "@/services";
import { createActorContext } from "@xstate/react";

export const CallContext = createActorContext(callMachine);

type CallProviderProps = {
    children: React.ReactNode;
    overrides?: Partial<ServiceDependencies>;
};

export const CallProvider = ({ children, overrides }: CallProviderProps) => {
    return (
        <CallContext.Provider
            options={{ 
                input: { ...appServices, ...overrides }
            }}
        >
            {children}
        </CallContext.Provider>
    );
};