@tsc_tech/medusa-plugin-notification-template
Version:
31 lines (30 loc) • 867 B
JavaScript
import { jsx } from "react/jsx-runtime";
import { useState, useCallback, useMemo } from "react";
import { useNavigate } from "react-router-dom";
import { RouteModalProviderContext } from "./route-modal-context.js";
const RouteModalProvider = ({
prev,
children
}) => {
const navigate = useNavigate();
const [closeOnEscape, setCloseOnEscape] = useState(true);
const handleSuccess = useCallback(
(path) => {
const to = path || prev;
navigate(to, { replace: true, state: { isSubmitSuccessful: true } });
},
[navigate, prev]
);
const value = useMemo(
() => ({
handleSuccess,
setCloseOnEscape,
__internal: { closeOnEscape }
}),
[handleSuccess, setCloseOnEscape, closeOnEscape]
);
return /* @__PURE__ */ jsx(RouteModalProviderContext.Provider, { value, children });
};
export {
RouteModalProvider
};