2 lines
5.5 KiB
JavaScript
2 lines
5.5 KiB
JavaScript
import{j as r}from"./chunk-UIGDSWPH-BhuNDbxn.js";import{M as p}from"./index-ju2wdkG8.js";import{L as s,B as c}from"./main-af3pcbZa.js";import{S as u}from"./SelectDropdown-C8sZwHi_.js";function f({isOpen:x,onClose:l,onSubmit:i,title:h,fields:a=[],submitLabel:m="Create",cancelLabel:y="Cancel",isLoading:n=!1,className:g="max-w-2xl",customFooter:b,customBody:o}){return r.jsx(p,{isOpen:x,onClose:l,className:g,children:r.jsxs("div",{className:"p-6",children:[r.jsx("h3",{className:"text-lg font-semibold mb-6 text-gray-800 dark:text-white",children:h}),r.jsxs("form",{onSubmit:e=>{e.preventDefault(),i()},className:"space-y-4",children:[o||r.jsxs(r.Fragment,{children:[a.find(e=>e.key==="keyword")&&r.jsxs("div",{children:[r.jsxs("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2",children:[a.find(e=>e.key==="keyword").label,a.find(e=>e.key==="keyword").required&&r.jsx("span",{className:"text-error-500 ml-1",children:"*"})]}),r.jsx("input",{type:"text",className:"h-9 w-full rounded-lg border border-gray-300 bg-transparent px-3 py-2 text-sm shadow-theme-xs text-gray-800 placeholder:text-gray-400 focus:border-brand-300 focus:outline-hidden focus:ring-3 focus:ring-brand-500/10 dark:border-gray-700 dark:bg-gray-900 dark:text-white/90 dark:placeholder:text-white/30 dark:focus:border-brand-800",value:a.find(e=>e.key==="keyword").value||"",onChange:e=>a.find(t=>t.key==="keyword").onChange(e.target.value),placeholder:a.find(e=>e.key==="keyword").placeholder,required:a.find(e=>e.key==="keyword").required})]}),(a.find(e=>e.key==="volume")||a.find(e=>e.key==="difficulty"))&&r.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[a.find(e=>e.key==="volume")&&r.jsxs("div",{children:[r.jsxs("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2",children:[a.find(e=>e.key==="volume").label,a.find(e=>e.key==="volume").required&&r.jsx("span",{className:"text-error-500 ml-1",children:"*"})]}),r.jsx("input",{type:"number",className:"h-9 w-full rounded-lg border border-gray-300 bg-transparent px-3 py-2 text-sm shadow-theme-xs text-gray-800 placeholder:text-gray-400 focus:border-brand-300 focus:outline-hidden focus:ring-3 focus:ring-brand-500/10 dark:border-gray-700 dark:bg-gray-900 dark:text-white/90 dark:placeholder:text-white/30 dark:focus:border-brand-800",value:a.find(e=>e.key==="volume").value||"",onChange:e=>{const t=e.target.value===""?"":parseInt(e.target.value)||0;a.find(d=>d.key==="volume").onChange(t)},placeholder:a.find(e=>e.key==="volume").placeholder,required:a.find(e=>e.key==="volume").required})]}),a.find(e=>e.key==="difficulty")&&(()=>{const e=a.find(t=>t.key==="difficulty");return r.jsxs("div",{children:[r.jsxs(s,{className:"mb-2",children:[e.label,e.required&&r.jsx("span",{className:"text-error-500 ml-1",children:"*"})]}),e.type==="select"?r.jsx(u,{options:e.options||[],placeholder:e.placeholder||e.label,value:e.value||"",onChange:t=>e.onChange(t),className:"w-full"}):r.jsx("input",{type:"number",className:"h-9 w-full rounded-lg border border-gray-300 bg-transparent px-3 py-2 text-sm shadow-theme-xs text-gray-800 placeholder:text-gray-400 focus:border-brand-300 focus:outline-hidden focus:ring-3 focus:ring-brand-500/10 dark:border-gray-700 dark:bg-gray-900 dark:text-white/90 dark:placeholder:text-white/30 dark:focus:border-brand-800",value:e.value||"",onChange:t=>{const d=t.target.value===""?"":parseInt(t.target.value)||0;e.onChange(d)},placeholder:e.placeholder,required:e.required,min:e.min,max:e.max})]})})()]}),a.filter(e=>e.key!=="keyword"&&e.key!=="volume"&&e.key!=="difficulty").map(e=>e.type==="select"?r.jsxs("div",{children:[r.jsxs(s,{className:"mb-2",children:[e.label,e.required&&r.jsx("span",{className:"text-error-500 ml-1",children:"*"})]}),r.jsx(u,{options:e.options||[],placeholder:e.placeholder||e.label,value:e.value||"",onChange:t=>e.onChange(t),className:"w-full"})]},e.key):e.type==="textarea"?r.jsxs("div",{children:[r.jsxs("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2",children:[e.label,e.required&&r.jsx("span",{className:"text-error-500 ml-1",children:"*"})]}),r.jsx("textarea",{rows:e.rows||4,className:"w-full rounded-lg border border-gray-300 bg-transparent px-3 py-2 text-sm shadow-theme-xs text-gray-800 placeholder:text-gray-400 focus:border-brand-300 focus:outline-hidden focus:ring-3 focus:ring-brand-500/10 dark:border-gray-700 dark:bg-gray-900 dark:text-white/90 dark:placeholder:text-white/30 dark:focus:border-brand-800",value:e.value||"",onChange:t=>e.onChange(t.target.value),placeholder:e.placeholder,required:e.required})]},e.key):r.jsxs("div",{children:[r.jsxs("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2",children:[e.label,e.required&&r.jsx("span",{className:"text-error-500 ml-1",children:"*"})]}),r.jsx("input",{type:e.type,className:"h-9 w-full rounded-lg border border-gray-300 bg-transparent px-3 py-2 text-sm shadow-theme-xs text-gray-800 placeholder:text-gray-400 focus:border-brand-300 focus:outline-hidden focus:ring-3 focus:ring-brand-500/10 dark:border-gray-700 dark:bg-gray-900 dark:text-white/90 dark:placeholder:text-white/30 dark:focus:border-brand-800",value:e.value||"",onChange:t=>e.onChange(t.target.value),placeholder:e.placeholder,required:e.required,min:e.min,max:e.max})]},e.key))]}),b||r.jsxs("div",{className:"flex justify-end gap-3 pt-4",children:[r.jsx(c,{type:"button",variant:"outline",onClick:l,disabled:n,children:y}),r.jsx(c,{type:"submit",variant:"primary",disabled:n,children:n?"Processing...":m})]})]})]})})}export{f as F};
|