1import{u as K,r as c,j as e}from"./index-C143ad9o.js";import{A as D,Q as V,L as M}from"./QuestionPreviewModal-CCg6MUbv.js";import{a as U,b as J,m as X,n as Z,o as q,p as O,q as Y,k as ee,f as te}from"./api-CWsu9wMQ.js";import{s}from"./QuestionList.module-I_ldTPlI.js";const G=["RT","DP","RQ","RI","PS","EO"],$={RT:{partNum:"Part 1-2",koName:"ì리ë´ì´ ì½ê¸°",enName:"Read Aloud",qCount:"Q1-Q2"},DP:{partNum:"Part 3",koName:"ì¬ì§ ë¬ì¬",enName:"Describe a Photo",qCount:"Q3"},RQ:{partNum:"Part 4",koName:"ì§ë¬¸ ìëµ",enName:"Respond to Questions",qCount:"Q4-Q6"},RI:{partNum:"Part 5",koName:"ì ë³´ íì© ìëµ",enName:"Respond Using Info",qCount:"Q7-Q9"},PS:{partNum:"Part 6",koName:"í´ê²°ì±
ì ì",enName:"Propose a Solution",qCount:"Q10"},EO:{partNum:"Part 7",koName:"ì견 ì ì",enName:"Express an Opinion",qCount:"Q11"}};function re(){const{language:r}=K(),u=r==="ko",[Q,B]=c.useState([]),[T,l]=c.useState(!0),[v,S]=c.useState(1),[n,y]=c.useState(1),[_,R]=c.useState(0),[g,N]=c.useState(null),[P,d]=c.useState(null),[w,A]=c.useState(!1),[i,p]=c.useState([]),[C,x]=c.useState([]);c.useEffect(()=>{j(),b()},[]),c.useEffect(()=>{b()},[v]);const j=async()=>{const[t,o]=await Promise.all([U(),J()]);t.success&&t.data&&p(t.data),o.success&&o.data&&x(o.data)},b=async()=>{l(!0);const t=await X(v,20);t.success&&t.data&&(B(t.data.items),y(t.data.totalPages),R(t.data.total)),l(!1)},k=async t=>{A(!0),N(t);const o=await q(t.set_no);o.success&&o.data&&d(o.data.parts),A(!1)},a=()=>{N(null),d(null)},m=()=>{g&&k(g)},[I,z]=c.useState(!1),[E,L]=c.useState(""),H=async()=>{if(!E.trim()){alert(u?"ì¸í¸ ì 목ì ì
ë ¥í´ì£¼ì¸ì.":"Please enter a set title.");return}z(!0);const t=await Z(E.trim());t.success?(alert(u?`ì¸í¸ #${t.data?.set_no} ìì± ìë£! (${t.data?.created_parts}ê° íí¸)`:`Set #${t.data?.set_no} created! (${t.data?.created_parts} parts)`),L(""),b(),t.data?.set_no&&k({set_no:t.data.set_no,title:E.trim(),part_count:6,types:G,isActive:"Y",is_complete:!0})):alert(t.error||(u?"ì¸í¸ ìì± ì¤í¨":"Set creation failed")),z(!1)};return g===null?e.jsx("div",{className:s.container,children:e.jsxs("div",{className:s.section,children:[e.jsxs("div",{className:s.toolbar,children:[e.jsxs("h3",{style:{margin:0,color:"var(--text-primary)"},children:["TOEIC Speaking ",u?"문ì ì¸í¸":"Question Sets"]}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[e.jsx("span",{style:{fontSize:13,color:"var(--text-secondary)"},children:u?`ì´ ${_}ì¸í¸`:`Total ${_} sets`}),e.jsx("input",{type:"text",value:E,onChange:t=>L(t.target.value),placeholder:u?"ì ì¸í¸ ì 목...":"New set title...",style:{padding:"6px 12px",fontSize:13,border:"1px solid var(--border-light)",borderRadius:6,width:180},onKeyDown:t=>t.key==="Enter"&&H()}),e.jsx("button",{className:s.saveBtn,onClick:H,disabled:I,style:{padding:"6px 16px",fontSize:13},children:I?u?"ìì± ì¤...":"Creating...":u?"+ ì ì¸í¸":"+ New Set"})]})]}),T?e.jsx("div",{className:s.loading,children:u?"ë¡ë© ì¤...":"Loading..."}):e.jsxs("table",{className:s.table,children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{children:"#"}),e.jsx("th",{children:u?"ì¸í¸ëª
":"Set Name"}),e.jsx("th",{children:u?"구ì±":"Parts"}),e.jsx("th",{children:u?"ìí":"Status"}),e.jsx("th",{children:u?"ê´ë¦¬":"Actions"})]})}),e.jsxs("tbody",{children:[Q.map(t=>e.jsxs("tr",{style:{cursor:"pointer"},onClick:()=>k(t),children:[e.jsx("td",{style:{width:40,textAlign:"center"},children:t.set_no}),e.jsx("td",{className:s.titleCell,children:e.jsx("strong",{children:t.title})}),e.jsx("td",{children:e.jsx("div",{style:{display:"flex",gap:4,flexWrap:"wrap"},children:G.map(o=>e.jsx("span",{className:s.typeBadge,style:{opacity:t.types.includes(o)?1:.3,background:t.types.includes(o)?"rgba(59,130,246,0.15)":"var(--bg-secondary)"},children:$[o]?.partNum.replace("Part ","P")},o))})}),e.jsx("td",{children:t.is_complete?e.jsx("span",{className:s.statusActive,children:u?"ìì±":"Complete"}):e.jsxs("span",{className:s.statusInactive,children:[t.part_count,"/6 ",u?"íí¸":"parts"]})}),e.jsx("td",{children:e.jsx("button",{className:s.editBtn,onClick:o=>{o.stopPropagation(),k(t)},children:u?"ìì¸":"Detail"})})]},t.set_no)),Q.length===0&&e.jsx("tr",{children:e.jsx("td",{colSpan:5,className:s.noData,children:u?"ì¸í¸ê° ììµëë¤.":"No sets found."})})]})]}),e.jsx("div",{className:s.pagination,children:e.jsxs("div",{className:s.pageButtons,children:[e.jsx("button",{disabled:v<=1,onClick:()=>S(v-1),className:s.pageBtn,children:u?"ì´ì ":"Prev"}),e.jsxs("span",{className:s.pageNumber,children:[v," / ",n||1]}),e.jsx("button",{disabled:v>=n,onClick:()=>S(v+1),className:s.pageBtn,children:u?"ë¤ì":"Next"})]})})]})}):e.jsx("div",{className:s.container,children:e.jsxs("div",{className:s.section,children:[e.jsx("div",{className:s.toolbar,children:e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[e.jsxs("button",{className:s.pageBtn,onClick:a,children:["â ",u?"목ë¡":"Back"]}),e.jsxs("h3",{style:{margin:0,color:"var(--text-primary)"},children:["#",g.set_no," ",g.title]})]})}),w?e.jsx("div",{className:s.loading,children:u?"ë¡ë© ì¤...":"Loading..."}):P?e.jsx(se,{parts:P,firstInfoList:i,secondInfoList:C,language:r,onSaved:m}):e.jsx("div",{className:s.noData,children:u?"ì¸í¸ ì 보를 ë¶ë¬ì¬ ì ììµëë¤.":"C
1ould not load set info."})]})})}function se({parts:r,firstInfoList:u,secondInfoList:Q,language:B,onSaved:T}){const l=B==="ko",[v,S]=c.useState(null),[n,y]=c.useState(void 0),[_,R]=c.useState(null),g=(i,p)=>{y(p),S(i)};let N=1;const P=[];for(const i of G){const p=r.find(j=>j.first_type===i),C=$[i],x=u.find(j=>j.first_type===i);p?(P.push({part:p,startQ:N,info:x,config:C}),N+=p.second_questions?.length||1):(P.push({part:{first_data_id:0,first_type:i,title:"",isActive:"N"},startQ:N,info:x,config:C}),N+=i==="RT"?2:i==="RQ"||i==="RI"?3:1)}const d=i=>i.replace(/<[^>]*>/g,"").replace(/ /g," ").trim(),w=async(i,p,C)=>{try{await O(i,{[p]:C}),T()}catch(x){console.error("Inline save failed:",x)}},A=async(i,p,C)=>{try{await Y(i,{[p]:C}),T()}catch(x){console.error("Inline save failed:",x)}};return e.jsxs("div",{children:[P.map(({part:i,startQ:p,info:C,config:x})=>{const j=i.first_data_id===0,b=i.second_questions||[],k=i.first_type;return e.jsxs("div",{className:s.questionCard,style:j?{opacity:.5,borderStyle:"dashed"}:{},children:[e.jsxs("div",{className:s.questionCardHeader,children:[e.jsxs("div",{className:s.questionCardTitle,children:[e.jsx("span",{className:s.questionNumber,style:{width:"auto",borderRadius:6,padding:"4px 10px",fontSize:12},children:x?.qCount}),e.jsxs("div",{children:[e.jsxs("strong",{style:{fontSize:15},children:[x?.partNum,": ",l?x?.koName:x?.enName]}),C&&e.jsxs("div",{style:{fontSize:12,color:"var(--text-secondary)",marginTop:2},children:[l?"ì¤ë¹":"Prep"," ",C.ready_time,l?"ì´":"s"," / ",l?"ëµë³":"Answer"," ",b[0]?.answer_time||"â",l?"ì´":"s"," / ",l?"ë°°ì ":"Score"," ",C.each_score,l?"ì ":"pts"]})]})]}),e.jsx("div",{className:s.actions,children:j?e.jsx("span",{style:{fontSize:13,color:"var(--text-secondary)"},children:l?"미ë±ë¡":"Not registered"}):e.jsxs(e.Fragment,{children:[e.jsx("span",{className:i.isActive==="Y"?s.statusActive:s.statusInactive,children:i.isActive==="Y"?l?"íì±":"Active":l?"ë¹íì±":"Inactive"}),e.jsx("button",{className:s.previewBtn,onClick:()=>R(i),children:l?"미리보기":"Preview"}),e.jsx("button",{className:s.editBtn,onClick:()=>g(i),children:l?"ìì ":"Edit"})]})})]}),!j&&e.jsxs("div",{style:{padding:"8px 16px 16px"},children:[k==="RT"&&b.map((a,m)=>e.jsxs("div",{style:{marginBottom:12,padding:16,background:"var(--bg-secondary)",borderRadius:8,border:"1px solid var(--border-light)",cursor:"pointer",transition:"box-shadow 0.2s"},onClick:()=>g(i,m),title:l?"í´ë¦íì¬ ìì ":"Click to edit",children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8},children:[e.jsx("span",{className:s.questionNumber,style:{width:28,height:28,fontSize:13},children:p+m}),e.jsxs("strong",{style:{fontSize:14},children:[l?"ì§ë¬¸":"Passage"," ",m+1]}),e.jsxs("span",{className:s.subQuestionTime,children:[a.answer_time,l?"ì´":"s"]}),a.audio_file_url&&e.jsx(D,{url:a.audio_file_url,small:!0})]}),e.jsx("div",{style:{padding:14,background:"var(--bg-primary)",borderRadius:6,fontSize:14,lineHeight:1.7,fontFamily:"Georgia, serif",border:"1px solid var(--border-light)"},children:e.jsx(F,{value:d(a.content||""),onSave:I=>w(a.second_data_id,"content",I),multiline:!0,placeholder:l?"ì§ë¬¸ ë´ì© ìì â ëë¸í´ë¦íì¬ ì
ë ¥":"No passage â double-click to add",style:{fontFamily:"Georgia, serif",lineHeight:"1.7"}})})]},a.second_data_id)),k==="DP"&&e.jsxs("div",{children:[i.photo_file_url&&e.jsx("div",{style:{marginBottom:12},children:e.jsx("img",{src:i.photo_file_url,alt:"Describe this photo",style:{maxWidth:400,maxHeight:300,borderRadius:8,border:"2px solid var(--border-light)",cursor:"pointer"},onClick:()=>window.open(i.photo_file_url,"_blank")})}),b.map((a,m)=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 0"},children:[e.jsx("span",{className:s.questionNumber,style:{width:28,height:28,fontSize:13},children:p+m}),e.jsx("span",{style:{fontSize:13},children:a.title}),e.jsxs("span",{className:s.subQuestionTime,children:[a.answer_time,l?"ì´":"s"]}),a.audio_file_url&&e.jsx(D,{url:a.audio_file_url,small:!0})]},a.second_data_id)),!i.photo_file_url&&e.jsx("p",{style:{color:"var(--text-secondary)",fontStyle:"italic"},children:l?"ì¬ì§ì´ ë±ë¡ëì§ ìììµëë¤":"No photo registered"})]}),k==="RQ"&&e.jsxs("div",{children:[(i.content||i.audio_script)&&e.jsxs("div",{style:{padding:12,marginBottom:12,background:"rgba(59,130,246,0.08)",borderRadius:8,border:"1px solid rgba(59,130,246,0.2)"},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:6},children:[e.jsx("strong",{style:{fontSize:13,color:"var(--accent-primary)"},children:l?"ìë리ì¤":"Scenario"}),i.audio_file_url&&e.jsx(D,{url:i.audio_file_url,label:l?"ì§ë¬¸ ì¤ëì¤":"Intro Audio"})]}),e.jsx("p",{style:{fontSize:13,lineHeight:1.5,margin:0},children:d(i.content||i.audio_script||"")})]}),b.map((a,m)=>
1e.jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:10,padding:"10px 0",borderBottom:m<b.length-1?"1px solid var(--border-light)":"none"},children:[e.jsx("span",{className:s.questionNumber,style:{width:28,height:28,fontSize:13,flexShrink:0},children:p+m}),e.jsx("div",{style:{flex:1,fontSize:14,fontWeight:500},children:e.jsx(F,{value:a.content?d(a.content):a.title,onSave:I=>w(a.second_data_id,a.content?"content":"title",I),placeholder:l?"ì§ë¬¸ ë´ì© â ëë¸í´ë¦íì¬ ì
ë ¥":"Question â double-click to edit"})}),e.jsxs("span",{className:s.subQuestionTime,children:[a.answer_time,l?"ì´":"s"]}),a.audio_file_url&&e.jsx(D,{url:a.audio_file_url,small:!0})]},a.second_data_id))]}),k==="RI"&&e.jsxs("div",{children:[i.content&&e.jsxs("div",{style:{marginBottom:12,padding:12,background:"var(--bg-secondary)",borderRadius:8,border:"1px solid var(--border-light)"},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8},children:[e.jsx("strong",{style:{fontSize:13},children:l?"ì ë³´í":"Information"}),i.audio_file_url&&e.jsx(D,{url:i.audio_file_url,label:l?"ì§ë¬¸ ì¤ëì¤":"Intro Audio"})]}),e.jsx("div",{style:{maxWidth:500},dangerouslySetInnerHTML:{__html:i.content}})]}),b.map((a,m)=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"10px 0",borderBottom:m<b.length-1?"1px solid var(--border-light)":"none"},children:[e.jsx("span",{className:s.questionNumber,style:{width:28,height:28,fontSize:13,flexShrink:0},children:p+m}),e.jsx("span",{style:{flex:1,fontSize:14},children:e.jsx(F,{value:a.content?d(a.content):a.title,onSave:I=>w(a.second_data_id,a.content?"content":"title",I),placeholder:l?"ì§ë¬¸ â ëë¸í´ë¦íì¬ í¸ì§":"Question â double-click to edit"})}),e.jsxs("span",{className:s.subQuestionTime,children:[a.answer_time,l?"ì´":"s"]}),a.audio_file_url&&e.jsx(D,{url:a.audio_file_url,small:!0})]},a.second_data_id))]}),k==="PS"&&e.jsxs("div",{children:[e.jsx("div",{style:{display:"flex",alignItems:"center",gap:12,marginBottom:12},children:i.audio_file_url&&e.jsx(D,{url:i.audio_file_url,label:l?"문ì ìí© ë£ê¸°":"Listen to Problem"})}),i.photo_file_url&&e.jsx("div",{style:{marginBottom:12},children:e.jsx("img",{src:i.photo_file_url,alt:"scenario",style:{maxWidth:200,borderRadius:6,border:"1px solid var(--border-light)"}})}),i.audio_script&&e.jsxs("div",{style:{padding:12,marginBottom:12,background:"var(--bg-secondary)",borderRadius:8,border:"1px solid var(--border-light)"},children:[e.jsx("strong",{style:{fontSize:12,color:"var(--text-secondary)"},children:l?"ì¤ëì¤ ì¤í¬ë¦½í¸":"Audio Script"}),e.jsx("div",{style:{fontSize:13,lineHeight:1.5,marginTop:4},children:e.jsx(F,{value:d(i.audio_script),onSave:a=>A(i.first_data_id,"audio_script",a),multiline:!0,placeholder:l?"ì¤í¬ë¦½í¸ â ëë¸í´ë¦íì¬ í¸ì§":"Script â double-click to edit"})})]}),b.map((a,m)=>e.jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:10,padding:"8px 0"},children:[e.jsx("span",{className:s.questionNumber,style:{width:28,height:28,fontSize:13,flexShrink:0},children:p+m}),e.jsx("div",{style:{flex:1},children:a.content&&e.jsx("div",{style:{fontSize:13,lineHeight:1.5},dangerouslySetInnerHTML:{__html:a.content}})}),e.jsxs("span",{className:s.subQuestionTime,children:[a.answer_time,l?"ì´":"s"]})]},a.second_data_id))]}),k==="EO"&&e.jsxs("div",{children:[e.jsx("div",{style:{display:"flex",alignItems:"center",gap:12,marginBottom:12},children:i.audio_file_url&&e.jsx(D,{url:i.audio_file_url,label:l?"주ì ë£ê¸°":"Listen to Topic"})}),e.jsx("div",{style:{padding:14,marginBottom:12,background:"var(--bg-secondary)",borderRadius:8,border:"1px solid var(--border-light)",fontSize:14,lineHeight:1.7,fontStyle:"italic"},children:e.jsx(F,{value:d(i.content||i.audio_script||""),onSave:a=>A(i.first_data_id,i.content?"content":"audio_script",a),multiline:!0,placeholder:l?"주ì â ëë¸í´ë¦íì¬ í¸ì§":"Topic â double-click to edit"})}),b.map((a,m)=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"8px 0"},children:[e.jsx("span",{className:s.questionNumber,style:{width:28,height:28,fontSize:13},children:p+m}),e.jsx("span",{style:{fontSize:13},children:a.title}),e.jsxs("span",{className:s.subQuestionTime,children:[a.answer_time,l?"ì´":"s"]})]},a.second_data_id))]})]})]},k)}
1),v&&e.jsx(ie,{item:v,firstInfoList:u,secondInfoList:Q,language:B,initialSubIndex:n,onClose:()=>{S(null),y(void 0)},onSaved:()=>{S(null),y(void 0),T()}}),_&&e.jsx(V,{data:{examType:"toeic",title:_.title||`Q${_.first_type}`,audioScript:_.audio_script,audioFileName:_.audio_file_name,questionText:_.content},onClose:()=>R(null)})]})}function ie({item:r,firstInfoList:u,secondInfoList:Q,language:B,initialSubIndex:T,onClose:l,onSaved:v}){const S=c.useRef(null);c.useEffect(()=>{T!==void 0&&S.current&&setTimeout(()=>{S.current?.scrollIntoView({behavior:"smooth",block:"center"})},100)},[T]);const n=B==="ko",y=$[r.first_type],_=u.find(t=>t.first_type===r.first_type),R=(r.second_questions?.length||0)>0,g=Q.filter(t=>t.first_type===r.first_type),[N,P]=c.useState(!1),[d,w]=c.useState({title:r.title||"",content:r.content||"",audio_script:r.audio_script||"",isActive:r.isActive||"Y"}),[A,i]=c.useState(null),[p,C]=c.useState(null),[x,j]=c.useState((r.second_questions||[]).map(t=>({...t}))),b=async()=>{P(!0);try{if(A||p){const t=new FormData;t.append("title",d.title),t.append("content",d.content),t.append("audio_script",d.audio_script),t.append("isActive",d.isActive),A&&t.append("photo",A),p&&t.append("audio",p),await Y(r.first_data_id,t)}else await Y(r.first_data_id,d);for(const t of x)if(t._deleted&&!t._isNew)await ee(t.second_data_id);else if(t._isNew&&!t._deleted){const o=new FormData;o.append("first_data_id",r.first_data_id.toString()),o.append("second_type",t.second_type),o.append("title",t.title),o.append("content",t.content||""),o.append("audio_script",t.audio_script||""),o.append("isActive",t.isActive),t._audioFile&&o.append("audio",t._audioFile),await te(o)}else if(!t._isNew&&!t._deleted)if(t._audioFile){const o=new FormData;o.append("title",t.title),o.append("content",t.content||""),o.append("audio_script",t.audio_script||""),o.append("isActive",t.isActive),o.append("audio",t._audioFile),await O(t.second_data_id,o)}else await O(t.second_data_id,{title:t.title,content:t.content,audio_script:t.audio_script,isActive:t.isActive});alert(n?"ì ì¥ ìë£!":"Saved successfully!"),v()}catch(t){console.error("Save error:",t),alert(n?"ì ì¥ ì¤í¨. ë¤ì ìëí´ì£¼ì¸ì.":"Save failed. Please try again.")}P(!1)},k=()=>{j([...x,{second_data_id:Date.now(),first_data_id:r.first_data_id,second_type:g[0]?.second_type||"",title:"",isActive:"Y",_isNew:!0}])},a=(t,o,f)=>{const h=[...x];h[t][o]=f,j(h)},[m,I]=c.useState(null),z=t=>{I(t)},E=(t,o)=>{if(t.preventDefault(),m===null||m===o)return;const f=[...x],[h]=f.splice(m,1);f.splice(o,0,h),j(f),I(o)},L=()=>{I(null)},H=t=>{if(!confirm(n?"ì´ íì 문íì ìì íìê² ìµëê¹?":"Delete this sub-question?"))return;const f=[...x];f[t]._isNew?f.splice(t,1):f[t]._deleted=!0,j(f)};return e.jsx("div",{className:s.modalOverlay,onClick:l,children:e.jsxs("div",{className:`${s.modal} ${R?s.modalWide:""}`,onClick:t=>t.stopPropagation(),children:[e.jsxs("h3",{className:s.modalTitle,children:[y?.partNum," (",y?.qCount,"): ",n?y?.koName:y?.enName]}),e.jsxs("div",{className:s.formGroup,children:[e.jsx("label",{children:n?"ì 목":"Title"}),e.jsx("input",{type:"text",value:d.title,onChange:t=>w({...d,title:t.target.value}),className:s.input})]}),(_?.isContent==="Y"||r.content)&&e.jsxs("div",{className:s.formGroup,children:[e.jsx("label",{children:n?"ì§ë¬¸ / ë´ì©":"Content"}),e.jsx("textarea",{value:d.content,onChange:t=>w({...d,content:t.target.value}),className:s.textarea,rows:5})]}),(_?.isAudio==="Y"||r.audio_file_url)&&e.jsxs("div",{className:s.formGroup,children:[e.jsx("label",{children:n?"ì¤ëì¤ íì¼":"Audio File"}),r.audio_file_url&&e.jsx("div",{style:{marginBottom:6},children:e.jsx(D,{url:r.audio_file_url,label:r.audio_file_name||""})}),e.jsx("input",{type:"file",accept:"audio/*",onChange:t=>C(t.target.files?.[0]||null),style:{fontSize:13}}),p&&e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginTop:4},children:[e.jsxs("span",{style:{fontSize:12,color:"var(--accent-primary)"},children:[n?"ì íì¼":"New",": ",p.name]}),e.jsx(M,{file:p})]})]}),(_?.isAudio==="Y"||r.audio_script)&&e.jsxs("div",{className:s.formGroup,children:[e.jsx("label",{children:n?"ì¤ëì¤ ì¤í¬ë¦½í¸":"Audio Script"}),e.jsx("textarea",{value:d.audio_script,onChange:t=>w({...d,audio_script:t.target.value}),className:s.textarea,rows:3})]}),(_?.isPhoto==="Y"||r.photo_file_url)&&e.jsxs("div",{className:s.formGroup,children:[e.jsx("label",{children:n?"ì¬ì§ íì¼":"Photo File"}
1),r.photo_file_url&&e.jsx("div",{style:{marginBottom:6},children:e.jsx("img",{src:r.photo_file_url,alt:"photo",style:{maxWidth:250,borderRadius:4,border:"1px solid var(--border-light)"}})}),e.jsx("input",{type:"file",accept:"image/*",onChange:t=>i(t.target.files?.[0]||null),style:{fontSize:13}}),A&&e.jsxs("span",{style:{fontSize:12,color:"var(--accent-primary)"},children:[n?"ì íì¼ ì íë¨":"New file selected",": ",A.name]})]}),e.jsxs("div",{className:s.formGroup,children:[e.jsx("label",{children:n?"ìí":"Status"}),e.jsxs("select",{value:d.isActive,onChange:t=>w({...d,isActive:t.target.value}),className:s.select,children:[e.jsx("option",{value:"Y",children:n?"íì±":"Active"}),e.jsx("option",{value:"N",children:n?"ë¹íì±":"Inactive"})]})]}),R&&e.jsxs("div",{className:s.subQuestionEditSection,children:[e.jsx("h4",{children:n?"íì 문í":"Sub-Questions"}),x.filter(t=>!t._deleted).map((t,o)=>{const f=x.indexOf(t);return e.jsxs("div",{className:s.subQuestionEditItem,ref:o===T?S:void 0,style:{...o===T?{border:"2px solid var(--color-accent)",borderRadius:8}:{},...m===f?{opacity:.5}:{}},draggable:!0,onDragStart:()=>z(f),onDragOver:h=>E(h,f),onDragEnd:L,children:[e.jsxs("div",{className:s.subQuestionEditHeader,style:{cursor:"grab"},children:[e.jsxs("span",{children:["â° Q",o+1," (",t.second_type,")"]}),e.jsx("button",{className:s.removeSubBtn,onClick:()=>H(f),children:n?"ìì ":"Remove"})]}),t._isNew&&g.length>1&&e.jsxs("div",{className:s.subEditField,children:[e.jsx("label",{children:n?"ì í":"Type"}),e.jsx("select",{value:t.second_type,onChange:h=>a(f,"second_type",h.target.value),children:g.map(h=>e.jsxs("option",{value:h.second_type,children:[h.second_type," (",h.answer_time,n?"ì´":"s",")"]},h.second_type))})]}),e.jsxs("div",{className:s.subEditField,children:[e.jsx("label",{children:n?"ì 목":"Title"}),e.jsx("input",{type:"text",value:t.title,onChange:h=>a(f,"title",h.target.value)})]}),e.jsxs("div",{className:s.subEditField,children:[e.jsx("label",{children:r.first_type==="RT"?n?"ì½ê¸° ì§ë¬¸":"Reading Passage":r.first_type==="RQ"||r.first_type==="RI"?n?"ì§ë¬¸ ë´ì©":"Question":r.first_type==="PS"?n?"ì§ì문":"Instructions":n?"ë´ì©":"Content"}),e.jsx("textarea",{value:t.content||"",onChange:h=>a(f,"content",h.target.value),rows:r.first_type==="RT"?5:3,placeholder:r.first_type==="RT"?n?"ìíìê° ì½ì ì§ë¬¸ì ì
ë ¥íì¸ì":"Enter the passage for the test taker to read":""})]}),e.jsxs("div",{className:s.subEditField,children:[e.jsx("label",{children:n?"ì¤ëì¤ ì¤í¬ë¦½í¸":"Script"}),e.jsx("textarea",{value:t.audio_script||"",onChange:h=>a(f,"audio_script",h.target.value),rows:2})]}),t.answer_time&&e.jsxs("div",{className:s.subEditField,style:{display:"flex",alignItems:"center",gap:8},children:[e.jsx("label",{style:{margin:0},children:n?"ëµë³ ìê°":"Answer Time"}),e.jsxs("span",{style:{fontSize:13,color:"var(--text-secondary)"},children:[t.answer_time,n?"ì´ (ì íë³ ê³ ì )":"s (fixed per type)"]})]}),e.jsxs("div",{className:s.subEditField,children:[e.jsx("label",{children:n?"ì¤ëì¤ íì¼":"Audio File"}),t.audio_file_url&&!t._isNew&&e.jsx("div",{style:{marginBottom:4},children:e.jsx(D,{url:t.audio_file_url,small:!0})}),e.jsx("input",{type:"file",accept:"audio/*",onChange:h=>{const W=[...x];W[f]._audioFile=h.target.files?.[0]||null,j(W)},style:{fontSize:12}}),t._audioFile&&e.jsx("div",{style:{marginTop:4},children:e.jsx(M,{file:t._audioFile})})]}),e.jsxs("div",{className:s.subEditField,style:{display:"flex",alignItems:"center",gap:8},children:[e.jsx("label",{style:{margin:0},children:n?"ìí":"Status"}),e.jsxs("select",{value:t.isActive,onChange:h=>a(f,"isActive",h.target.value),style:{width:100,padding:"4px 8px",fontSize:13},children:[e.jsx("option",{value:"Y",children:n?"íì±":"Active"}),e.jsx("option",{value:"N",children:n?"ë¹íì±":"Inactive"})]})]})]},t.second_data_id)}),e.jsxs("button",{className:s.addSubBtn,onClick:k,children:["+ ",n?"íì 문í ì¶ê°":"Add Sub-Question"]})]}),e.jsxs("div",{className:s.modalActions,children:[e.jsx("button",{onClick:l,className:s.cancelBtn,children:n?"ì·¨ì":"Cancel"}),e.jsx("button",{onClick:b,className:s.saveBtn,disabled:N,children:N?n?"ì ì¥ ì¤...":"Saving...":n?"ì ì¥":"Save"})]})]})})}function F({value:r,onSave:u,multiline:Q,placeholder:B,style:T,className:l}){const[v,S]=c.useState(!1),[n,y]=c.useState(r),[_,R]=c.useState(!1),g=c.useRef(null);c.useEffect(()=>{v&&g.current&&(g.current.focus(),g.current.select())},[v]);const N=async()=>{const d=n.trim();d!==r.trim()&&(R(!0),await u(d),R(!1)),S(!1)},P=d=>
1{d.key==="Enter"&&!d.shiftKey&&(d.preventDefault(),N()),d.key==="Escape"&&(y(r),S(!1))};if(v){const d={width:"100%",fontSize:"inherit",fontFamily:"inherit",padding:"4px 8px",border:"2px solid var(--color-accent)",borderRadius:4,background:"var(--bg-primary)",color:"var(--text-primary)",outline:"none",...T};return Q?e.jsx("textarea",{ref:g,value:n,onChange:w=>y(w.target.value),onBlur:N,onKeyDown:P,rows:4,style:d,disabled:_}):e.jsx("input",{ref:g,type:"text",value:n,onChange:w=>y(w.target.value),onBlur:N,onKeyDown:P,style:d,disabled:_})}return e.jsx("span",{className:l,onDoubleClick:d=>{d.stopPropagation(),y(r),S(!0)},style:{cursor:"text",borderBottom:"1px dashed var(--border-light)",paddingBottom:1,...T},title:"ëë¸í´ë¦íì¬ í¸ì§",children:r||e.jsx("span",{style:{color:"var(--text-secondary)",fontStyle:"italic"},children:B||"(ë¹ ê°)"})})}export{re as ToeicQuestionManager};
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.