import { jsxs, jsx, Fragment } from "react/jsx-runtime"; import { I as InputError } from "./input-error-D1JIzedA.js"; import { I as Input } from "./input-BsvJqbcd.js"; import { L as Label } from "./label-0rIIfpX0.js"; import { R as RadioGroup, a as RadioGroupItem } from "./radio-group-Wf8uu9ZY.js"; import { o as onHandleChange } from "./inertia-BtwbgBI3.js"; import { useEffect } from "react"; import "./utils-DLCPGU0v.js"; import "clsx"; import "tailwind-merge"; import "@radix-ui/react-label"; import "class-variance-authority"; import "@radix-ui/react-radio-group"; import "lucide-react"; const ExamPricingForm = ({ data, setData, errors }) => { useEffect(() => { if (data.price && data.discount) { const discountAmount = data.price * data.discount / 100; const discountPrice = data.price - discountAmount; setData("discount_price", discountPrice.toFixed(2)); } else { setData("discount_price", data.price || 0); } }, [data.price, data.discount]); return /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [ /* @__PURE__ */ jsxs("div", { children: [ /* @__PURE__ */ jsx(Label, { children: "Pricing Type *" }), /* @__PURE__ */ jsxs( RadioGroup, { value: data.pricing_type, onValueChange: (value) => setData("pricing_type", value), className: "flex items-center space-x-4 pt-2", children: [ /* @__PURE__ */ jsxs("div", { className: "flex items-center space-x-2", children: [ /* @__PURE__ */ jsx(RadioGroupItem, { value: "free", id: "free" }), /* @__PURE__ */ jsx(Label, { htmlFor: "free", className: "cursor-pointer font-normal", children: "Free" }) ] }), /* @__PURE__ */ jsxs("div", { className: "flex items-center space-x-2", children: [ /* @__PURE__ */ jsx(RadioGroupItem, { value: "paid", id: "paid" }), /* @__PURE__ */ jsx(Label, { htmlFor: "paid", className: "cursor-pointer font-normal", children: "Paid" }) ] }) ] } ), /* @__PURE__ */ jsx(InputError, { message: errors.pricing_type }) ] }), data.pricing_type === "paid" && /* @__PURE__ */ jsxs(Fragment, { children: [ /* @__PURE__ */ jsxs("div", { children: [ /* @__PURE__ */ jsx(Label, { htmlFor: "price", children: "Price (USD) *" }), /* @__PURE__ */ jsx( Input, { id: "price", name: "price", type: "number", value: data.price, onChange: (e) => onHandleChange(e, setData), placeholder: "0.00", step: "0.01", min: "0", required: true } ), /* @__PURE__ */ jsx(InputError, { message: errors.price }) ] }), /* @__PURE__ */ jsxs("div", { children: [ /* @__PURE__ */ jsx(Label, { htmlFor: "discount", children: "Discount (%)" }), /* @__PURE__ */ jsx( Input, { id: "discount", name: "discount", type: "number", value: data.discount, onChange: (e) => onHandleChange(e, setData), placeholder: "0", min: "0", max: "100" } ), /* @__PURE__ */ jsx(InputError, { message: errors.discount }) ] }), data.discount > 0 && /* @__PURE__ */ jsx("div", { className: "rounded-lg bg-green-50 p-4", children: /* @__PURE__ */ jsxs("p", { className: "text-sm text-green-800", children: [ /* @__PURE__ */ jsx("span", { className: "font-semibold", children: "Final Price:" }), " $", data.discount_price, " (", data.discount, "% off from $", data.price, ")" ] }) }) ] }), /* @__PURE__ */ jsxs("div", { className: "border-t pt-4", children: [ /* @__PURE__ */ jsx(Label, { children: "Access Duration *" }), /* @__PURE__ */ jsxs( RadioGroup, { value: data.expiry_type || "lifetime", onValueChange: (value) => setData("expiry_type", value), className: "space-y-3 pt-2", children: [ /* @__PURE__ */ jsxs("div", { className: "flex items-center space-x-2", children: [ /* @__PURE__ */ jsx(RadioGroupItem, { value: "lifetime", id: "lifetime" }), /* @__PURE__ */ jsx(Label, { htmlFor: "lifetime", className: "cursor-pointer font-normal", children: "Lifetime Access" }) ] }), /* @__PURE__ */ jsxs("div", { className: "flex items-center space-x-2", children: [ /* @__PURE__ */ jsx(RadioGroupItem, { value: "limited", id: "limited" }), /* @__PURE__ */ jsx(Label, { htmlFor: "limited", className: "cursor-pointer font-normal", children: "Limited Access" }) ] }) ] } ), /* @__PURE__ */ jsx(InputError, { message: errors.expiry_type }) ] }), data.expiry_type === "limited" && /* @__PURE__ */ jsxs("div", { children: [ /* @__PURE__ */ jsx(Label, { htmlFor: "expiry_duration", children: "Access Duration (Days) *" }), /* @__PURE__ */ jsx( Input, { id: "expiry_duration", name: "expiry_duration", type: "number", value: data.expiry_duration, onChange: (e) => onHandleChange(e, setData), placeholder: "30", min: "1", required: true } ), /* @__PURE__ */ jsx("p", { className: "mt-1 text-sm text-gray-500", children: "Students will have access for this many days after enrollment" }), /* @__PURE__ */ jsx(InputError, { message: errors.expiry_duration }) ] }) ] }); }; export { ExamPricingForm as default };