1import{i as N}from"./6KndmJbk.js";import{Di as D,Fi as S,G as M,Lr as z,Mi as R,Ni as B,Pi as P,Ta as E,Vr as C,Xi as V,Yi as T,_a as g,aa as j,ba as _,di as G,fi as U,io as $,ji as k,mi as H,oo as X,pi as A,ra as Y,va as J,zi as K}from"./CCK59u6I.js";import{n as I}from"./Mt0nS1Wk.js";import{nt as w,ot as Q,rt as Z}from"./BQH5TMbu.js";var h=N(X(),1),e=$(),O=({schema:x,values:i,onChange:f,errors:F={},readOnly:o=!1})=>{const c=(r,t)=>{f({...i,[r]:t})},u=r=>{const t=F[r.id],l=i[r.id]??"";switch(r.type){case"text":case"email":return(0,e.jsx)(C,{fullWidth:!0,type:r.type,label:r.label,value:l,onChange:s=>c(r.id,s.target.value),error:!!t,helperText:t||r.helperText,required:r.required,disabled:o,placeholder:r.placeholder});case"number":return(0,e.jsx)(C,{fullWidth:!0,type:"number",label:r.label,value:l,onChange:s=>{const d=s.target.value,p=Number(d);c(r.id,d===""||isNaN(p)?"":p)},error:!!t,helperText:t||r.helperText,required:r.required,disabled:o,placeholder:r.placeholder,InputProps:{inputProps:{min:r.min,max:r.max}}});case"date":return(0,e.jsx)(C,{fullWidth:!0,type:"date",label:r.label,value:l,onChange:s=>c(r.id,s.target.value),error:!!t,helperText:t||r.helperText||"æ¥ä»ã鏿ãã¦ãã ãã (ä¾: 2024/12/31)",required:r.required,disabled:o,InputLabelProps:{shrink:!0},InputProps:{inputProps:{min:r.min,max:r.max}}});case"textarea":return(0,e.jsx)(C,{fullWidth:!0,multiline:!0,rows:r.rows||4,label:r.label,value:l,onChange:s=>c(r.id,s.target.value),error:!!t,helperText:t||r.helperText,required:r.required,disabled:o,placeholder:r.placeholder});case"radio":return(0,e.jsxs)(S,{error:!!t,disabled:o,required:r.required,children:[(0,e.jsx)(k,{children:r.label}),(0,e.jsx)(G,{value:l,onChange:s=>c(r.id,s.target.value),children:r.options?.map(s=>(0,e.jsx)(P,{value:s.value,control:(0,e.jsx)(U,{}),label:s.label},s.value))}),(t||r.helperText)&&(0,e.jsx)(R,{children:t||r.helperText})]});case"checkbox":return(0,e.jsxs)(S,{error:!!t,disabled:o,required:r.required,children:[(0,e.jsx)(k,{children:r.label}),(0,e.jsx)(B,{children:r.options?.map(s=>(0,e.jsx)(P,{control:(0,e.jsx)(V,{checked:Array.isArray(l)?l.includes(s.value):!1,onChange:d=>{const p=Array.isArray(l)?l:[],q=d.target.checked?[...p,s.value]:p.filter(v=>v!==s.value);c(r.id,q)}}),label:s.label},s.value))}),(t||r.helperText)&&(0,e.jsx)(R,{children:t||r.helperText})]});case"select":return(0,e.jsxs)(S,{fullWidth:!0,error:!!t,disabled:o,required:r.required,children:[(0,e.jsx)(D,{children:r.label}),(0,e.jsxs)(H,{value:l,onChange:s=>c(r.id,s.target.value),label:r.label,children:[(0,e.jsx)(A,{value:"",children:(0,e.jsx)("em",{children:"鏿ãã¦ãã ãã"})}),r.options?.map(s=>(0,e.jsx)(A,{value:s.value,children:s.label},s.value))]}),(t||r.helperText)&&(0,e.jsx)(R,{children:t||r.helperText})]});default:return(0,e.jsxs)(g,{color:"error",children:["Unsupported field type: ",r.type]})}};return!x?.fields||x.fields.length===0?(0,e.jsx)(j,{p:2,textAlign:"center",children:(0,e.jsx)(g,{color:"text.secondary",children:"ãã¼ã¿ãã¼ã¹ãã£ã¼ã«ããå®ç¾©ããã¦ãã¾ãã"})}):(0,e.jsx)(j,{display:"flex",flexDirection:"column",gap:3,children:x.fields.map(r=>(0,e.jsx)(j,{children:u(r)},r.id))})},ee=()=>{const{token:x}=Q(),[i,f]=(0,h.useState)(null),[F,o]=(0,h.useState)(!0),[c,u]=(0,h.useState)(null),[r,t]=(0,h.useState)(!1),[l,s]=(0,h.useState)(!1),[d,p]=(0,h.useState)({}),[q,v]=(0,h.useState)({});(0,h.useEffect)(()=>{(async()=>{if(!x){u("ç¡å¹ãªURLã§ã"),o(!1);return}try{const n=await I.get(`/api/public/forms/${x}`),b=["ARRAY","array","USER","user","REFERENCE","reference"],L=n.data.schema?.fields?.filter(a=>{const m=a.fieldType||a.type||"";return b.includes(m)?!1:!!(a.fieldId||a.id||a.fieldCode)})?.map(a=>{let m=a.fieldType||a.type||"text";return m=m.toLowerCase(),["text","email","number","date","radio","checkbox","select","textarea"].includes(m)||(m="text"),{...a,id:a.fieldId??a.id??a.fieldCode,type:m,label:a.fieldName||a.label||a.fieldCode||"ãã£ã¼ã«ã",fieldType:void 0,fieldId:void 0,fieldName:void 0,fieldCode:void 0}})||[];f({...n.data,schema:{...n.data.schema,fields:L}})}catch(n){const b=n;b.response?.status===404?u("ãã¼ã¿ãã¼ã¹ãè¦ã¤ããã¾ãã"):b.response?.status===403?u("ãã®ãã¼ã¿ãã¼ã¹ã¯å
¬éããã¦ãã¾ãã"):b.response?.status===4
110?u("ãã®ãã¼ã¿ãã¼ã¹ã®å
¬éæéãéãã¦ãã¾ã"):b.response?.data?.error==="FORM_EXPIRED"?u("ãã®ãã¼ã¿ãã¼ã¹ã®å
¬éæéã¯çµäºãã¾ãã"):u("ãã¼ã¿ãã¼ã¹ã®èªã¿è¾¼ã¿ã«å¤±æãã¾ãã")}finally{o(!1)}})()},[x]);const W=async()=>{const y={};if(i?.schema?.fields&&i.schema.fields.forEach(n=>{n.required&&(d[n.id]==null||d[n.id]==="")&&(y[n.id]=`${n.label}ã¯å¿
é ã§ã`)}),Object.keys(y).length>0){v(y);return}t(!0),v({});try{await I.post(`/api/public/forms/${x}/answers`,{answers:d}),s(!0)}catch(n){n.response?.status===410?u("ãã®ãã¼ã¿ãã¼ã¹ã®å
¬éæéãéãã¦ãã¾ã"):u("åçã®éä¿¡ã«å¤±æãã¾ãããããä¸åº¦ã試ããã ããã")}finally{t(!1)}};return F?(0,e.jsx)(T,{maxWidth:"md",sx:{mt:4},children:(0,e.jsx)(j,{display:"flex",justifyContent:"center",alignItems:"center",minHeight:"400px",children:(0,e.jsx)(_,{})})}):c||!i?(0,e.jsx)(T,{maxWidth:"md",sx:{mt:4},children:(0,e.jsx)(E,{elevation:3,sx:{p:4},children:(0,e.jsx)(J,{severity:"error",children:c||"ãã¼ã¿ãã¼ã¹ãè¦ã¤ããã¾ãã"})})}):l?(0,e.jsx)(T,{maxWidth:"md",sx:{mt:4},children:(0,e.jsx)(E,{elevation:3,sx:{p:4},children:(0,e.jsxs)(j,{textAlign:"center",children:[(0,e.jsx)(z,{sx:{fontSize:64,color:"success.main",mb:2}}),(0,e.jsx)(g,{variant:"h5",gutterBottom:!0,children:"åçãåãä»ãã¾ãã"}),(0,e.jsx)(g,{variant:"body1",color:"text.secondary",sx:{mt:2},children:i.publicSettings?.confirmationMessage||"ãåçãããã¨ããããã¾ããã"})]})})}):(0,e.jsx)(T,{maxWidth:"md",sx:{mt:4,mb:4},children:(0,e.jsxs)(E,{elevation:3,sx:{p:4},children:[(0,e.jsx)(g,{variant:"h4",gutterBottom:!0,children:i.title}),i.description&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(g,{variant:"body1",color:"text.secondary",paragraph:!0,children:i.description}),(0,e.jsx)(K,{sx:{my:3}})]}),(0,e.jsx)(j,{sx:{mb:3},children:(0,e.jsx)(O,{schema:{fields:i.schema.fields||[]},values:d,onChange:p,errors:q,readOnly:!1})}),(0,e.jsx)(j,{display:"flex",justifyContent:"flex-end",gap:2,children:(0,e.jsx)(Y,{variant:"contained",size:"large",onClick:W,disabled:r,startIcon:r?(0,e.jsx)(_,{size:20}):(0,e.jsx)(M,{}),children:r?"éä¿¡ä¸...":"éä¿¡"})})]})})},ne=()=>(0,e.jsxs)(Z,{children:[(0,e.jsx)(w,{path:"/forms/:token",element:(0,e.jsx)(ee,{})}),(0,e.jsx)(w,{path:"*",element:(0,e.jsxs)("div",{style:{textAlign:"center",padding:"2rem"},children:[(0,e.jsx)("h1",{children:"404 - ãã¼ã¸ãè¦ã¤ããã¾ãã"}),(0,e.jsx)("p",{children:"ãæ¢ãã®ãã¼ã¸ã¯è¦ã¤ããã¾ããã§ããã"})]})})]});export{ne as PublicRoutes};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.