@tsc_tech/medusa-plugin-notification-template
Version:
57 lines (56 loc) • 2.17 kB
JavaScript
import { jsxs, jsx } from "react/jsx-runtime";
import { useLocation } from "react-router-dom";
import DynamicForm from "../DynamicForm/index.js";
import TagList from "../TagList/index.js";
import { Text } from "@medusajs/ui";
import { useForm } from "react-hook-form";
import { useMemo } from "react";
import useLastFocusedElement from "../../hooks/use-last-focused-element.js";
import { RouteFocusModal } from "../common/modals/route-focus-modal/route-focus-modal.js";
import "../common/modals/route-modal-provider/route-modal-context.js";
import "../common/modals/stacked-modal-provider/stacked-modal-context.js";
const NotificationDetails = (props) => {
const { state } = useLocation();
const formMethods = useForm({
defaultValues: useMemo(() => {
return {
template: (state == null ? void 0 : state.template) || "",
subject: (state == null ? void 0 : state.subject) || "",
to: (state == null ? void 0 : state.to) || "",
cc: (state == null ? void 0 : state.cc) || "",
bcc: (state == null ? void 0 : state.bcc) || ""
};
}, []),
mode: "onBlur"
});
const { insertTag } = useLastFocusedElement(formMethods);
return /* @__PURE__ */ jsxs(RouteFocusModal, { children: [
/* @__PURE__ */ jsx(RouteFocusModal.Header, { children: state ? state == null ? void 0 : state.event_name : "Create Notification Template" }),
/* @__PURE__ */ jsxs(RouteFocusModal.Body, { className: "relative flex w-full overflow-y-scroll px-8 py-16", children: [
/* @__PURE__ */ jsx(
DynamicForm,
{
form: formMethods,
isPending: formMethods.formState.isSubmitting,
onSubmit: props.onSubmit,
schema: props.schema
}
),
/* @__PURE__ */ jsxs("div", { className: "flex flex-1 flex-col p-4", children: [
/* @__PURE__ */ jsx(Text, { size: "small", children: "Available Tags" }),
/* @__PURE__ */ jsx(
TagList,
{
tags: props.tags,
onClick: (tag) => {
insertTag(tag);
}
}
)
] })
] })
] });
};
export {
NotificationDetails as default
};