import { zodResolver } from "@hookform/resolvers/zod" import { AdminPromotion, AdminPromotionRule } from "@medusajs/types" import { Button } from "@medusajs/ui" import { useState } from "react" import { useForm } from "react-hook-form" import { useTranslation } from "react-i18next" import { RouteDrawer } from "../../../../../../components/modals" import { KeyboundForm } from "../../../../../../components/utilities/keybound-form" import { RuleTypeValues } from "../../edit-rules" import { RulesFormField } from "../rules-form-field" import { EditRules, EditRulesType } from "./form-schema" type EditPromotionFormProps = { promotion: AdminPromotion rules: AdminPromotionRule[] ruleType: RuleTypeValues handleSubmit: any isSubmitting: boolean } export const EditRulesForm = ({ promotion, ruleType, handleSubmit, isSubmitting, }: EditPromotionFormProps) => { const { t } = useTranslation() const [rulesToRemove, setRulesToRemove] = useState([]) const form = useForm({ defaultValues: { rules: [], type: promotion.type, application_method: { target_type: promotion.application_method?.target_type, }, }, resolver: zodResolver(EditRules), }) const handleFormSubmit = form.handleSubmit(handleSubmit(rulesToRemove)) return (
) }