UNPKG

@tsc_tech/medusa-plugin-notification-template

Version:
57 lines (56 loc) 2.17 kB
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 };