2 lines
4.1 KiB
JavaScript
2 lines
4.1 KiB
JavaScript
import{r as u,b as V,j as e,c4 as E}from"./vendor-BKmmeuxg.js";import{I as d}from"./input-error-LaPr_4wd.js";import{L}from"./loading-button-BnTVAMJ7.js";import{B as _}from"./button-BpNwv2aE.js";import{D as w,a as U,b as k,c as A,d as B,e as M,f as q}from"./dialog-B2gN9MvT.js";import{I as o}from"./input-DM0goJrn.js";import{L as r}from"./label-HmIcv5Yx.js";import{S as f,a as C,b as p,c as S,d as h}from"./select-CD9o3HN1.js";import{S as H}from"./switch-DFFqeub-.js";import{o as x}from"./inertia-SZXqLvQm.js";import"./utils-DxSsnXxD.js";import"./index-WW_1X1qx.js";const Z=({title:y,handler:b,coupon:s,courses:D})=>{var g;const[c,m]=u.useState(!1),n=i=>i?i.replace(" ","T").substring(0,16):"",{data:a,setData:t,post:F,put:N,reset:j,processing:v,errors:l}=V({code:(s==null?void 0:s.code)||"",course_id:(s==null?void 0:s.course_id)||"",discount_type:(s==null?void 0:s.discount_type)||"percentage",discount:(s==null?void 0:s.discount)||0,valid_from:n(s==null?void 0:s.valid_from),valid_to:n(s==null?void 0:s.valid_to),is_active:(s==null?void 0:s.is_active)??!0}),I=i=>{i.preventDefault(),s?N(route("course-coupons.update",s.id),{preserveScroll:!0,onSuccess:()=>{m(!1)}}):F(route("course-coupons.store"),{preserveScroll:!0,onSuccess:()=>{j(),m(!1)}})},T=()=>{const i=Math.random().toString(36).substring(2,10).toUpperCase();t("code",i)};return u.useEffect(()=>{c&&s?t({course_id:s.course_id||"",code:s.code||"",discount_type:s.discount_type||"percentage",discount:s.discount||0,valid_from:n(s.valid_from),valid_to:n(s.valid_to),is_active:s.is_active??!0}):c||j()},[c,s]),e.jsxs(w,{open:c,onOpenChange:m,children:[e.jsx(U,{asChild:!0,children:b}),e.jsxs(k,{className:"max-w-2xl",children:[e.jsx(A,{children:e.jsx(B,{children:y})}),e.jsxs("form",{onSubmit:I,children:[e.jsx("div",{className:"space-y-4 py-4",children:e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"col-span-2",children:[e.jsx(r,{htmlFor:"code",children:"Coupon Code *"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(o,{id:"code",name:"code",value:a.code,onChange:i=>t("code",i.target.value.toUpperCase()),placeholder:"SUMMER2024",required:!0}),e.jsx(_,{type:"button",variant:"outline",onClick:T,children:e.jsx(E,{className:"h-4 w-4"})})]}),e.jsx(d,{message:l.code})]}),e.jsxs("div",{children:[e.jsx(r,{htmlFor:"discount_type",children:"Discount Type *"}),e.jsxs(f,{name:"discount_type",value:a.discount_type,onValueChange:i=>t("discount_type",i),children:[e.jsx(C,{children:e.jsx(p,{placeholder:"Select type"})}),e.jsxs(S,{children:[e.jsx(h,{value:"percentage",children:"Percentage (%)"}),e.jsx(h,{value:"fixed",children:"Fixed Amount ($)"})]})]}),e.jsx(d,{message:l.discount_type})]}),e.jsxs("div",{children:[e.jsx(r,{htmlFor:"discount",children:"Discount Value *"}),e.jsx(o,{id:"discount",name:"discount",type:"number",value:a.discount,onChange:i=>x(i,t),min:"0",step:"0.01",required:!0}),e.jsx(d,{message:l.discount})]}),e.jsxs("div",{className:"col-span-2",children:[e.jsx(r,{htmlFor:"course_id",children:"Select Course"}),e.jsxs(f,{name:"course_id",value:(g=a.course_id)==null?void 0:g.toString(),onValueChange:i=>t("course_id",i?parseInt(i):""),children:[e.jsx(C,{children:e.jsx(p,{placeholder:"All Courses (global coupon)"})}),e.jsx(S,{children:D.map(i=>e.jsx(h,{value:i.id.toString(),children:i.title},i.id))})]}),e.jsx(d,{message:l.course_id})]}),e.jsxs("div",{children:[e.jsx(r,{htmlFor:"valid_from",children:"Valid From"}),e.jsx(o,{id:"valid_from",name:"valid_from",type:"datetime-local",value:a.valid_from,onChange:i=>x(i,t)}),e.jsx(d,{message:l.valid_from})]}),e.jsxs("div",{children:[e.jsx(r,{htmlFor:"valid_to",children:"Valid To"}),e.jsx(o,{id:"valid_to",name:"valid_to",type:"datetime-local",value:a.valid_to,onChange:i=>x(i,t)}),e.jsx(d,{message:l.valid_to})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(r,{htmlFor:"is_active",children:"Active"}),e.jsx(H,{id:"is_active",checked:a.is_active,onCheckedChange:i=>t("is_active",i)})]})]})}),e.jsxs(M,{className:"gap-2",children:[e.jsx(q,{asChild:!0,children:e.jsx(_,{type:"button",variant:"outline",children:"Cancel"})}),e.jsx(L,{loading:v,disabled:v,children:s?"Update":"Create"})]})]})]})]})};export{Z as default};
|