PageSourceSearch

https://lms.gie.kr/assets/OpenCourse-DibuOQc9.js

js gie.kr collected 2026-10-06 12:42:28 UTC 75,495 bytes, 1 lines download raw bytes

1import{u as ht,a as pt,c as ut,r as c,j as e,n as ft}from"./index-DMTSLr9O.js";import{a as bt,b as gt,g as wt,c as jt}from"./courses-Ds3StH_3.js";import{g as yt}from"./courseCategories-CWIkx0Dw.js";import{d as vt}from"./index-XDsBTgP0.js";import{S as Ee,u as Nt}from"./useSEO-BNJZT9vT.js";import"./config-pocBRGU-.js";const kt=["씨발","씨빨","씨팔","씨펄","씨바","씨파","씨봉","씨방","씹","씹새","씹색","씹년","씹놈","개새끼","개색끼","개색기","개세끼","개세기","개쉐끼","개쉑","개쉐이","개자식","병신","빙신","병싄","병딱","지랄","지럴","지롤","미친","미튼","미틴","좆","좃","졷","존나","존니","졸라","죶","보지","봊이","자지","잦이","니미","니엄마","느금마","느금","꺼져","뒤져","뒈져","디져","디지","새끼","샊기","색기","섹기"],St=["청소년","유아","소년","소녀","미성년","성년","년도","년생","년간","년대","년차","신년","내년","금년","작년","매년","올년","전년","후년","연년","경년","회의","회의실","국제회의"],Ct=["fuck","fucking","fucked","fucker","fck","fuk","f*ck","f**k","shit","shitting","bullshit","sh1t","s**t","bitch","bitches","b1tch","b*tch","ass","asshole","assholes","a$$","a**","damn","dammit","goddamn","bastard","bastards","dick","d1ck","d*ck","dicks","cock","cocks","c0ck","pussy","pussies","p*ssy","cunt","cunts","c*nt","whore","whores","wh0re","slut","sluts","sl*t","nigger","nigga","n1gger","n*gger","n**ger","faggot","fag","fags","f*ggot","retard","retarded","penis","vagina","sex","sexy","porn","porno","pornography","dildo","vibrator","masturbate","masturbation","orgasm","orgasms","cum","cumming","cumshot","blowjob","handjob","anal","anus","boob","boobs","tits","titties","nude","naked","xxx","crap","piss","pissed","wtf","stfu","lmfao"],Be=d=>{if(!d)return!1;const Z=d.replace(/\s/g,"").toLowerCase();return St.some(v=>Z.includes(v))?!1:!!(vt.check(d)||kt.some(v=>Z.includes(v))||Ct.some(v=>Z.includes(v)))},Bt=()=>{const{t:d}=ht(),Z=pt(),[v,Pe]=ut(),He=c.useMemo(()=>{const t=v.get("topic"),s=v.get("type"),n=`/course${v.toString()?`?${v.toString()}`:""}`;if(s==="온라인교육")return{...Ee.courseList("온라인 교육"),url:n};if(t){const a=t.split(",").join("/");return{...Ee.courseList(a),url:n}}return{...Ee.courseList(),url:n}},[v]);Nt(He);const[S,ce]=c.useState("card"),[T,we]=c.useState(new Date),[E,We]=c.useState("yearly"),[ee,je]=c.useState(new Date().getFullYear()),[A,xe]=c.useState({isOpen:!1,day:0,courses:[],position:{x:0,y:0}}),Te=new Date().getFullYear(),[L,V]=c.useState(["always",Te]),[U,Ae]=c.useState([]),[qe,Oe]=c.useState(0),[O,b]=c.useState(1),[me,Ue]=c.useState(0),[Ie,ze]=c.useState(!1),[he,Je]=c.useState(!1),[te,z]=c.useState(""),[F,R]=c.useState(""),[W,I]=c.useState([]),[C,K]=c.useState([]),[D,J]=c.useState(""),[$,G]=c.useState([]),[B,ye]=c.useState("latest"),[se,pe]=c.useState([]),[ne,ue]=c.useState([]),[ae,fe]=c.useState([]),[re,ve]=c.useState(""),Qe=[{id:"온라인교육",name:"온라인교육"},{id:"오프라인교육",name:"오프라인교육"}],Ne=[{id:"월요일",name:"월요일"},{id:"화요일",name:"화요일"},{id:"수요일",name:"수요일"},{id:"목요일",name:"목요일"},{id:"금요일",name:"금요일"},{id:"토요일",name:"토요일"},{id:"일요일",name:"일요일"}],ke=[{id:"오전",name:"오전"},{id:"오후(12시~18시)",name:"오후(12시~18시)"},{id:"야간(18시 이후)",name:"야간(18시 이후)"}],Se=[{id:"무료",name:"무료"},{id:"유료",name:"유료"}],be=[{id:"북구",name:"북구"},{id:"남구",name:"남구"},{id:"서구",name:"서구"},{id:"동구",name:"동구"},{id:"광산구",name:"광산구"}],Ce=[{id:"시민학",name:"시민학"},{id:"인문학",name:"인문학"},{id:"광주학",name:"광주학"},{id:"공동체",name:"공동체"},{id:"미래학",name:"미래학"},{id:"MICE 인재",name:"MICE 인재"},{id:"지속가능 발전교육",name:"지속가능 발전교육"},{id:"언더라이터 CKLU",name:"언더라이터 CKLU"},{id:"장애인 평생교육",name:"장애인 평생교육"},{id:"주민자치",name:"주민자치"},{id:"자원봉사",name:"자원봉사"}
1,{id:"노인학",name:"노인학"},{id:"기타",name:"기타"}],De=[{id:"유아",name:"유아"},{id:"초등학생",name:"초등학생"},{id:"청소년",name:"청소년"},{id:"대학생",name:"대학생"},{id:"성인",name:"성인"},{id:"노인",name:"노인"},{id:"장애인",name:"장애인"},{id:"가족",name:"가족"}],Xe=[{id:"접수예정",name:"접수예정"},{id:"접수중",name:"접수중"},{id:"접수마감",name:"접수마감"},{id:"상시모집",name:"상시모집"}],Ze=[{id:"시간선택",label:"시간선택"},{id:"지역선택",label:"지역선택"},{id:"교육분야",label:"교육분야"},{id:"강의유형",label:"강의유형"}],[et,ge]=c.useState(!1),[H,Me]=c.useState(!1),[Q,tt]=c.useState("시간선택"),[P,ie]=c.useState([]),[_,le]=c.useState(""),[X,st]=c.useState({recent:[],frequent:[]}),[nt,at]=c.useState({keywords:[],updated_at:""}),[rt,de]=c.useState(!1),it=c.useRef(null),Ye=c.useRef(null),Le=c.useRef(null),Ve=c.useRef(!1),$e=c.useRef([]),[Fe,lt]=c.useState([]),[Re,dt]=c.useState([]),[q,ot]=c.useState([{id:"자격증",name:"자격증",count:0},{id:"취업",name:"취업",count:0},{id:"IT",name:"IT",count:0},{id:"외국어",name:"외국어",count:0},{id:"취미",name:"취미",count:0},{id:"예술",name:"예술",count:0},{id:"건강",name:"건강",count:0},{id:"교양",name:"교양",count:0},{id:"기초학력",name:"기초학력",count:0},{id:"기타",name:"기타",count:0}]),Ke=["평생교육이용권기관","구청","대학","기타공공기관"];c.useEffect(()=>{(async()=>{const[s,n]=await Promise.all([gt(),wt()]);lt(s);const a={};s.forEach(r=>{const x=r.type||"기타";a[x]||(a[x]={count:0,ids:[]}),a[x].count+=r.count,a[x].ids.push(r.id)});const h=Ke.filter(r=>a[r]).map(r=>({type:r,count:a[r].count,ids:a[r].ids}));Object.keys(a).forEach(r=>{Ke.includes(r)||h.push({type:r,count:a[r].count,ids:a[r].ids})}),dt(h),at(n)})()},[]),c.useEffect(()=>{$e.current=q},[q]);const[_e,ct]=c.useState([]);c.useEffect(()=>{yt().then(t=>{const s=t.find(r=>r.key==="general"),n=t.find(r=>r.key==="online"),a=(s?.items||[]).filter(r=>!r.is_default).map(r=>r.name),h=(n?.items||[]).filter(r=>!r.is_default).map(r=>r.name);if(a.length&&ot(r=>{const x=new Set(r.map(o=>o.id)),i=a.filter(o=>!x.has(o)).map(o=>({id:o,name:o,count:0}));return i.length?[...r,...i]:r}),h.length){const r=new Set(Ce.map(x=>x.id));ct(h.filter(x=>!r.has(x)).map(x=>({id:x,name:x})))}}).catch(()=>{})},[]);const xt=c.useMemo(()=>{const t=new Set,s=[];return[...q,...Ce.map(n=>({id:n.id,name:n.name,count:0})),..._e.map(n=>({id:n.id,name:n.name,count:0}))].forEach(n=>{t.has(n.id)||(t.add(n.id),s.push(n))}),s},[q,_e]);c.useEffect(()=>{const t=v.get("search")||"",s=v.get("org")?.split(",").filter(Boolean)||[],n=v.get("topic")?.split(",").filter(Boolean)||[],a=v.get("regions")?.split(",").filter(Boolean)||[],h=v.get("status")||"",r=v.get("targets")?.split(",").filter(Boolean)||[],x=v.get("sort")||"latest",i=parseInt(v.get("page")||"1",10),o=v.get("vtype")||"card",u=v.get("years"),p=v.get("type")||"";if(["card","list","calendar"].includes(o)&&ce(o),u){const g=u.split(",").map(w=>{if(w==="always")return"always";const m=parseInt(w,10);return!isNaN(m)&&m>=2020&&m<=2030?m:null}).filter(w=>w!==null);if(g.length>0){V(g);const w=g.filter(m=>typeof m=="number");w.length>0&&je(Math.max(...w))}}if(p&&["온라인교육","오프라인교육"].includes(p)?J(p):J(""),t&&Be(t)){z(""),R(""),de(!0),setTimeout(()=>de(!1),3e3);const g=new URLSearchParams(v);g.delete("search"),Pe(g)}else z(t),R(t);I(s),K(n),G(a),le(h),ie(r),ye(x),b(i),Je(!0)},[v]),c.useEffect(()=>{if(!he)return;(async()=>{ze(!0);try{const s={page:O,size:S==="calendar"&&E==="yearly"?100:20,published:!0,sort_by:B==="alphabetical"?"title":"created"};
1if(S==="calendar"&&E==="monthly"){const a=T.getFullYear(),h=L.includes("always");s.year_from=a,s.year_to=a,h&&(s.is_always_open=!0)}else{const a=L.includes("always"),h=L.filter(r=>typeof r=="number");if(L.length!==0){if(a&&h.length===0)s.is_always_open=!0;else if(!a&&h.length>0){const r=Math.min(...h),x=Math.max(...h);s.year_from=r,s.year_to=x,s.exclude_always_open=!0}else if(a&&h.length>0){const r=Math.min(...h),x=Math.max(...h);s.year_from=r,s.year_to=x,s.is_always_open=!0}}}if(F.trim().length>=2&&(s.search=F.trim()),W.length>0&&(s.institution_ids=W.join(","),console.log("[OpenCourse] API 호출 - institution_ids:",s.institution_ids)),C.length>0){const a=C.map(h=>{const r=$e.current.find(i=>i.id===h);if(r)return r.name;const x=$e.current.find(i=>i.name===h);return x?x.name:h}).filter(Boolean);a.length>0&&(s.topic=a.join("|"),console.log("[OpenCourse] API 호출 - topic:",s.topic))}D&&(s.cw_type=D,console.log("[OpenCourse] API 호출 - cw_type:",s.cw_type)),$.length>0&&(s.regions=$.join(","),console.log("[OpenCourse] API 호출 - regions:",s.regions)),_&&(s.status=_,console.log("[OpenCourse] API 호출 - status:",s.status)),P.length>0&&(s.targets=P.join(","),console.log("[OpenCourse] API 호출 - targets:",s.targets)),console.log("[OpenCourse] API 호출 파라미터:",s);const n=await jt(s);console.log("[OpenCourse] API 응답:",n.total,"개 강좌"),Ae(n.items),Oe(n.total),Ue(n.pages)}catch(s){console.error("강의 로드 실패:",s),Ae([]),Oe(0)}finally{ze(!1)}})()},[he,O,F,W,C,D,$,_,P,B,S,E,L,T]),c.useEffect(()=>{if(!he)return;const t=new URLSearchParams;F&&F.trim().length>=2&&t.set("search",F),W.length>0&&t.set("org",W.join(",")),C.length>0&&t.set("topic",C.join(",")),D&&t.set("type",D),$.length>0&&t.set("regions",$.join(",")),_&&t.set("status",_),P.length>0&&t.set("targets",P.join(",")),B!=="latest"&&t.set("sort",B),O>1&&t.set("page",O.toString()),S!=="card"&&t.set("vtype",S),L.length>0&&t.set("years",L.join(",")),Pe(t)},[he,F,W,C,D,$,_,P,B,O,S,L]),c.useEffect(()=>{if(!Ve.current){Ve.current=!0;return}H?requestAnimationFrame(()=>{if(Le.current){const t=Le.current.querySelector('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');t&&t.focus()}}):Ye.current?.focus()},[H]);const Y=t=>{const s=t.thumbnail_image_url?.match(/course\/([^/]+)\//);s?window.open(`https://www.kmooc.kr/view/course/detail/${s[1]}`,"_blank"):t.cw_uuid&&ft(Z,`/cws/${t.cw_uuid}`)},mt=t=>{if(t.preventDefault(),te.trim()&&Be(te)){de(!0),setTimeout(()=>de(!1),3e3);return}de(!1),R(te),b(1)},Ge=()=>C.length>0?C.map(t=>{const s=q.find(n=>n.id===t||n.name===t);return s?s.name:t}).join("/"):D||d("course.allCourses");return e.jsxs("div",{className:"flex flex-col items-start relative bg-white overflow-x-hidden w-full max-w-full",children:[e.jsx("header",{className:"flex flex-col items-center gap-5 py-[50px] max-md:py-6 relative self-stretch w-full max-w-full bg-[#e2dfff] overflow-hidden",children:e.jsxs("div",{className:"w-full max-w-[1000px] px-5 max-md:px-4 flex flex-col gap-4 max-md:gap-3",children:[e.jsxs("nav",{className:"flex w-full h-10 items-center justify-end relative max-md:hidden","aria-label":"Breadcrumb",children:[e.jsx("ol",{className:"inline-flex items-center gap-1",children:e.jsxs("li",{className:"inline-flex items-center gap-1",children:[e.jsx("img",{className:"w-3.5 h-3.5",src:"/images/icons/home-icon.svg",alt:""}),e.jsx("a",{href:"/",className:"font-medium text-[#111111] text-[15px] text-center whitespace-nowrap no-underline hover:text-[#3a2db3]",children:d("common.home")})]})}),e.jsx("img",{className:"w-5 h-5",src:"/images/icons/arrow-icon.svg",alt:""}),e.jsx("span",{className:"font-medium text-[#111111] text-[15px] text-center whitespace-nowrap",children:Ge()})]}),e.jsx("div",{className:"flex flex-col items-center gap-5 w-full",children:e.jsx("h1",{className:"font-bold text-[38px] max-md:text-2xl text-center whitespace-nowrap text-[#18204e]",style:{fontFamily:"'Pretendard', sans-serif"},children:Ge()})}),e.jsxs("div",{className:"flex items-center gap-2.5 w-full max-w-full",children:[e.jsxs("form",{onSubmit:mt,className:"flex h-[70px] max-md:h-[50px] items-center justify-between pl-0 pr-0 py-0 relative flex-1 bg-white rounded-[15p
1x] max-md:rounded-[25px] overflow-hidden box-border",children:[e.jsxs("div",{ref:it,className:"flex items-center justify-center gap-2.5 pl-[30px] pr-[15px] max-md:px-4 py-0 relative flex-1 self-stretch grow",children:[e.jsx("input",{type:"text",value:te,onChange:t=>z(t.target.value),onFocus:async()=>{const t=await bt();st(t),ge(!0)},onBlur:()=>{setTimeout(()=>ge(!1),200)},placeholder:d("course.search.placeholder"),"aria-label":"강좌 검색",className:"flex-1 font-medium text-[#666666] text-xl max-md:text-sm outline-none placeholder:text-[#666666]"}),te&&e.jsx("button",{type:"button",onClick:()=>{z(""),R(""),b(1)},className:"flex items-center justify-center w-8 h-8 max-md:w-7 max-md:h-7 rounded-full hover:bg-gray-100 transition-colors flex-shrink-0","aria-label":d("course.search.clearSearch"),children:e.jsx("svg",{className:"w-6 h-6 max-md:w-5 max-md:h-5 text-[#666666]",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2.5,d:"M6 18L18 6M6 6l12 12"})})}),et&&(X.recent.length>0||X.frequent.length>0)&&e.jsxs("div",{className:"absolute top-full left-0 right-0 mt-2 bg-white border border-gray-200 rounded-lg shadow-lg z-50 max-h-[400px] overflow-y-auto",children:[X.recent.length>0&&e.jsxs("div",{className:"p-4 border-b border-gray-100",children:[e.jsx("div",{className:"text-sm font-semibold text-gray-700 mb-2",children:d("course.search.recentSearches")}),e.jsx("div",{className:"flex flex-wrap gap-2",children:X.recent.map((t,s)=>e.jsx("button",{type:"button",onMouseDown:n=>{n.preventDefault(),z(t.keyword),R(t.keyword),ge(!1),b(1)},className:"px-3 py-1.5 bg-gray-100 hover:bg-gray-200 rounded-full text-sm text-gray-700 transition-colors",children:t.keyword},`recent-${s}`))})]}),X.frequent.length>0&&e.jsxs("div",{className:"p-4",children:[e.jsx("div",{className:"text-sm font-semibold text-gray-700 mb-2",children:d("course.search.frequentSearches")}),e.jsx("div",{className:"flex flex-wrap gap-2",children:X.frequent.map((t,s)=>e.jsxs("button",{type:"button",onMouseDown:n=>{n.preventDefault(),z(t.keyword),R(t.keyword),ge(!1),b(1)},className:"px-3 py-1.5 bg-[#3a2db3] hover:bg-[#2d2291] text-white rounded-full text-sm transition-colors flex items-center gap-1",children:[t.keyword,e.jsxs("span",{className:"text-xs opacity-80",children:["(",t.count,")"]})]},`frequent-${s}`))})]})]})]}),e.jsx("button",{type:"submit",className:"relative w-[70px] h-[70px] max-md:w-[42px] max-md:h-[42px] max-md:mr-1 cursor-pointer flex items-center justify-center bg-[#3a2db3] rounded-[12px] max-md:rounded-full flex-shrink-0",children:e.jsx("svg",{className:"w-8 h-8 max-md:w-5 max-md:h-5 text-white",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})})})]}),e.jsx("button",{ref:Ye,type:"button",onClick:()=>Me(!H),className:`relative w-[70px] h-[70px] max-md:w-[50px] max-md:h-[50px] cursor-pointer flex items-center justify-center rounded-[15px] max-md:rounded-[12px] flex-shrink-0 transition-all ${H?"bg-[#3a2db3]":"bg-white border-2 border-[#3a2db3]"}`,"aria-label":"상세 검색","aria-expanded":H,children:e.jsx("svg",{className:`w-7 h-7 max-md:w-5 max-md:h-5 ${H?"text-white":"text-[#3a2db3]"}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4"})})})]}),rt&&e.jsxs("div",{className:"flex items-center gap-2 px-4 py-3 bg-red-100 border border-red-300 rounded-lg text-red-700 animate-pulse",children:[e.jsx("svg",{className:"w-5 h-5 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"})}),e.jsx("span",{className:"font-medium",children:d("course.search.profanityWarning")})]}),H&&e.jsxs("div",{ref:Le,className:"flex flex-col items-start relative w-full mt-4 animate-in slide-in-from-top-2 duration-200",children:[e.jsx("div",{className:"flex flex-col items-start pt-6 pb-0 px-8 max-md:px-4 relative w-full bg-white rounded-t-[20px]",children:e.jsx("div",{className:"flex items-center relative w-full",role:"tablist",children:Ze.map(t=>e.jsx("button",{role:"tab","aria-selected":Q===t.id,onClick:()=>tt(t.id),className:`flex items-center justify-center gap-2.5 px-3 py-3 relative flex-1 border-b-2 transition-colors ${Q===t.id?"border-[#111111] text-[#111111]":"border-[#dddddd] text-[#969696]"}`,children:e.jsx("span",{className:"font-medium text-lg max-md:text-[0.9rem]",children:t.label})},t.id))})}),e.jsxs("div",{className:"flex flex-col items-start gap-6 pt-6 pb-8 px-8 max-md:px-4 bg-white rounded-b-[20px] w-full",children:[Q==="시간선택"&&e.jsxs("div",{className:"flex flex-col w-full gap-4",children:[e.jsx("p",{className:"text-[#333333] text-base",children:"원하는 접수상태를 선택해주세요."}),e.jsx("div",{className:"flex flex-wrap gap-2",children:Xe.map(t=>{const s=_===t.id;return e.jsx("button",{type:"button",onClick:()=>le(s?"":t.id),"aria-pressed":s,className:`flex items-center justify-center px-5 py-2.5 rounded-lg border transition-colors ${s?"border-[#3a2db3] bg-[#3a2db3] text-white":"border-[#dddddd] bg-white text-[#666666] hover:border-[#3a2db3]"}`,children:t.name},t.id)})}),e.jsxs("div",{className:"mt-4",children:[e.jsx("p",{className:"text-[#333333] text-base mb-3",children:"교육 운영 연도를 선택해주세요. (복수 선택 가능)"}),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsx("button",{type:"button",onClick:()=>{V(t=>t.includes("always")?t.filter(s=>s!=="always"):[...t,"always"])},className:`flex items-center justify-center px-5 py-2.5 rounded-lg border transition-colors ${L.includes("always")?"border-[#3a2db3] bg-[#3a2db3] text-white":"border-[#dddddd] bg-white text-[#666666] hover:border-[#3a2db3]"}`,children:"상시운영"}),[2026,2025,2024,2023,2022].map(t=>e.jsxs("button",{type:"button",onClick:()=>{V(s=>s.includes(t)?s.filter(n=>n!==t):[...s,t])},className:`flex items-center justify-center px-5 py-2.5 rounded-lg border transition-colors ${L.includes(t)?"border-[#3a2db3] bg-[#3a2db3] text-white":"border-[#dddddd] bg-white text-[#666666] hover:border-[#3a2db3]"}`,children:[t,"년"]},t))]})]}),e.jsxs("div",{className:"mt-4",children:[e.jsx("p",{className:"text-[#333333] text-base mb-3",children:"원하는 학습요일을 선택해주세요. (복수 선택 가능)"}),e.jsx("div",{className:"flex flex-wrap gap-2",children:Ne.map(t=>{const s=se.includes(t.id);return e.jsx("button",{type:"button",onClick:()=>{pe(n=>s?n.filter(a=>a!==t.id):[...n,t.id])},className:`flex items-center justify-center px-5 py-2.5 rounded-lg border transition-colors ${s?"border-[#3a2db3] bg-[#3a2db3] text-white":"border-[#dddddd] bg-white text-[#666666] hover:border-[#3a2db3]"}`,children:t.name},t.id)})})]}),e.jsxs("div",{className:"mt-4",children:[e.jsx("p",{className:"text-[#333333] text-base mb-3",children:"원하는 학습시간을 선택해주세요. (복수 선택 가능)"}),e.jsx("div",{className:"flex flex-wrap gap-2",children:ke.map(t=>{const s=ne.includes(t.id);return e.jsx("button",{type:"button",onClick:()=>{ue(n=>s?n.filter(a=>a!==t.id):[...n,t.id])},className:`flex items-center justify-center px-5 py-2.5 rounded-lg border transition-colors ${s?"border-[#3a2db3] bg-[#3a2db3] text-white":"border-[#dddddd] bg-white text-[#666666] hover:border-[#3a2db3]"}`,children:t.name},t.id)})})]})]}
1),Q==="지역선택"&&e.jsxs("div",{className:"flex flex-col w-full gap-4",children:[e.jsx("p",{className:"text-[#333333] text-base",children:"원하는 지역을 선택해주세요. (복수 선택 가능)"}),e.jsx("div",{className:"flex flex-wrap gap-2",children:be.map(t=>{const s=$.includes(t.id);return e.jsxs("button",{type:"button",onClick:()=>{G(n=>s?n.filter(a=>a!==t.id):[...n,t.id])},"aria-pressed":s,className:`flex items-center justify-center px-5 py-2.5 rounded-lg border transition-colors ${s?"border-[#3a2db3] bg-[#3a2db3] text-white":"border-[#dddddd] bg-white text-[#666666] hover:border-[#3a2db3]"}`,children:[t.name,t.count>0&&e.jsxs("span",{className:"ml-1 text-xs opacity-70",children:["(",t.count,")"]})]},t.id)})}),e.jsxs("div",{className:"mt-4",children:[e.jsx("p",{className:"text-[#333333] text-base mb-3",children:"원하는 학습기관을 선택해주세요."}),(()=>{const t=Re.find(n=>n.type==="평생교육이용권기관");if(!t)return null;const s=t.ids.every(n=>W.includes(n));return e.jsxs("button",{type:"button",onClick:()=>{I(s?n=>n.filter(a=>!t.ids.includes(a)):n=>[...new Set([...n,...t.ids])])},className:`mb-3 flex items-center justify-center px-5 py-2.5 rounded-lg border transition-colors ${s?"border-[#3a2db3] bg-[#3a2db3] text-white":"border-[#3a2db3] bg-white text-[#3a2db3] hover:bg-[#f0eeff]"}`,children:["평생교육이용권기관",t.count>0&&e.jsxs("span",{className:"ml-1 text-xs opacity-70",children:["(",t.count,")"]})]})})(),e.jsx("div",{className:"flex items-center gap-2",children:e.jsxs("div",{className:"relative flex-1",children:[e.jsx("input",{type:"text",value:re,onChange:t=>ve(t.target.value),placeholder:"기관명으로 검색하세요",className:"w-full px-4 py-2.5 rounded-lg border border-[#dddddd] bg-white text-[#666666] focus:border-[#3a2db3] focus:outline-none"}),re&&e.jsx("button",{type:"button",onClick:()=>ve(""),className:"absolute right-3 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600",children:e.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]})}),re&&e.jsxs("div",{className:"mt-2 max-h-40 overflow-y-auto border border-[#dddddd] rounded-lg bg-white",children:[Fe.filter(t=>t.name.toLowerCase().includes(re.toLowerCase())).slice(0,10).map(t=>{const s=W.includes(t.id);return e.jsxs("button",{type:"button",onClick:()=>{I(n=>s?n.filter(a=>a!==t.id):[...n,t.id])},className:`w-full text-left px-4 py-2 hover:bg-gray-50 ${s?"bg-[#e2dfff] text-[#3a2db3]":"text-[#666666]"}`,children:[t.name,t.count>0&&e.jsxs("span",{className:"ml-1 text-xs opacity-70",children:["(",t.count,")"]})]},t.id)}),Fe.filter(t=>t.name.toLowerCase().includes(re.toLowerCase())).length===0&&e.jsx("div",{className:"px-4 py-2 text-[#999999]",children:"검색 결과가 없습니다."})]})]})]}),Q==="교육분야"&&e.jsxs("div",{className:"flex flex-col w-full gap-4",children:[e.jsx("p",{className:"text-[#333333] text-base",children:"원하는 교육대상을 선택해주세요. (복수 선택 가능)"}),e.jsx("div",{className:"flex flex-wrap gap-2",children:De.map(t=>{const s=P.includes(t.id);return e.jsx("button",{type:"button",onClick:()=>{ie(n=>s?n.filter(a=>a!==t.id):[...n,t.id])},className:`flex items-center justify-center px-5 py-2.5 rounded-lg border transition-colors ${s?"border-[#3a2db3] bg-[#3a2db3] text-white":"border-[#dddddd] bg-white text-[#666666] hover:border-[#3a2db3]"}`,children:t.name},t.id)})}),e.jsxs("div",{className:"mt-4",children:[e.jsx("p",{className:"text-[#333333] text-base mb-3",children:"분야별 카테고리를 선택해주세요. (복수 선택 가능)"}),e.jsx("div",{className:"flex flex-wrap gap-2",children:xt.map(t=>{const s=C.includes(t.id);return e.jsx("button",{type:"button",onClick:()=>{K(n=>s?n.filter(a=>a!==t.id):[...n,t.id])},className:`flex items-center justify-center px-5 py-2.5 rounded-lg border transition-colors ${s?"border-[#3a2db3] bg-[#3a2db3] text-white":"border-[#dddddd] bg-white text-[#666666] hover:border-[#3a2db3]"}`,children:t.name},t.id)})})]})]}),Q==="강의유형"&&e.jsxs("div",{className:"flex flex-col w-full gap-4",children:[e.jsx("p",{className:"text-[#333333] text-base",children:"원하는 강좌 유형을 선택해주세요."}),e.jsx("div",{className:"flex flex-wrap gap-2",children:Qe.map(t=>{const s=D===t.id;return e.jsx("button",{type:"button",onClick:()=>J(s?"":t.id),className:`flex items-center justify-center px-5 py-2.5 rounded-lg border transition-colors ${s?"border-[#3a2db3] bg-[#3a2db3] text-white":"border-[#dddddd] bg-white text-[#666666] hover:border-[#3a2db3]"}`,children:t.name},t.id)})}),e.jsxs("div",{className:"mt-4",children:[e.jsx("p",{className:"text-[#333333] text-base mb-3",children:"원하는 수강료를 선택해주세요."}),e.jsx("div",{className:"flex flex-wrap gap-2",children:Se.map(t=>{const s=ae.includes(t.id);return e.jsx("button",{type:"button",onClick:()=>{fe(n=>s?n.filter(a=>a!==t.id):[...n,t.id])},className:`flex items-center justify-center px-5 py-2.5 rounded-lg border transition-colors ${s?"border-[#3a2db3] bg-[#3a2db3] text-white":"border-[#dddddd] bg-white text-[#666666] hover:border-[#3a2db3]"}`,children:t.name},t.id)})})]})]}),(_||L.length>0||$.length>0||P.length>0||D||C.length>0||se.length>0||ne.length>0||ae.length>0)&&e.jsxs("div",{className:"flex flex-wrap items-center gap-2 p-3 bg-[#f8f8f8] rounded-lg w-full",children:[_&&e.jsxs("div",{className:"inline-flex items-center gap-1 px-3 py-1.5 bg-white rounded-full border border-[#3a2db3] text-[#3a2db3] text-sm",children:[e.jsx("span",{children:_}),e.jsx("button",{type:"button",onClick:()=>le(""),className:"hover:text-red-500",children:e.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),L.map(t=>e.jsxs("div",{className:"inline-flex items-center gap-1 px-3 py-1.5 bg-white rounded-full border border-[#b45309] text-[#b45309] text-sm",children:[e.jsx("span",{children:t==="always"?"상시운영":`${t}년`}),e.jsx("button",{type:"button",onClick:()=>V(s=>s.filter(n=>n!==t)),className:"hover:text-red-500",children:e.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]},`detail-year-${t}`)),$.map(t=>{const s=be.find(n=>n.id===t);return s&&e.jsxs("div",{className:"inline-flex items-center gap-1 px-3 py-1.5 bg-white rounded-full border border-[#3a2db3] text-[#3a2db3] text-sm",children:[e.jsx("span",{children:s.name}),e.jsx("button",{type:"button",onClick:()=>G(n=>n.filter(a=>a!==t)),className:"hover:text-red-500",children:e.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]},`detail-region-${t}`)}),P.map(t=>{const s=De.find(n=>n.id===t);return s&&e.jsxs("div",{className:"inline-flex items-center gap-1 px-3 py-1.5 bg-white rounded-full border border-[#3a2db3] text-[#3a2db3] text-sm",children:[e.jsx("span",{children:s.name}),e.jsx("button",{type:"button",onClick:()=>ie(n=>n.filter(a=>a!==t)),className:"hover:text-red-500",children:e.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]},`detail-target-${t}`)}),D&&e.jsxs("div",{className:"inline-flex items-center gap-1 px-3 py-1.5 bg-white rounded-full border border-[#ef4222] text-[#ef4222] text-sm",children:[e.jsx("span",{children:D}),e.jsx("button",{type:"button",onClick:()=>J(""),className:"hover:text-red-700",children:e.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),C.map(t=>{const s=q.find(n=>n.id===t);return s&&e.jsxs("div",{className:"inline-flex items-center gap-1 px-3 py-1.5 bg-white rounded-full border border-[#3a2db3] text-[#3a2db3] text-sm",children:[e.jsx("span",{children:s.name}),e.jsx("button",{type:"button",onClick:()=>K(n=>n.filter(a=>a!==t)),className:"hover:text-red-500",children:e.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]},`detail-topic-${t}`)}),se.map(t=>{const s=Ne.find(n=>n.id===t);return s&&e.jsxs("div",{className:"inline-flex items-center gap-1 px-3 py-1.5 bg-white rounded-full border border-[#6d28d9] text-[#6d28d9] text-sm",children:[e.jsx("span",{children:s.name}),e.jsx("button",{type:"button",onClick:()=>pe(n=>n.filter(a=>a!==t)),className:"hover:text-red-500",children:e.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]},`detail-day-${t}`)}),ne.map(t=>{const s=ke.find(n=>n.id===t);return s&&e.jsxs("div",{className:"inline-flex items-center gap-1 px-3 py-1.5 bg-white rounded-full border border-[#0e7490] text-[#0e7490] text-sm",children:[e.jsx("span",{children:s.name}),e.jsx("button",{type:"button",onClick:()=>ue(n=>n.filter(a=>a!==t)),className:"hover:text-red-500",children:e.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]},`detail-slot-${t}`)}),ae.map(t=>{const s=Se.find(n=>n.id===t);return s&&e.jsxs("div",{className:"inline-flex items-center gap-1 px-3 py-1.5 bg-white rounded-full border border-[#166534] text-[#166534] text-sm",children:[e.jsx("span",{children:s.name}),e.jsx("button",{type:"button",onClick:()=>fe(n=>n.filter(a=>a!==t)),className:"hover:text-red-500",children:e.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]},`detail-fee-${t}`)})]}),e.jsxs("div",{className:"flex items-center justify-center gap-3 w-full mt-2",children:[e.jsx("button",{type:"button",onClick:()=>{b(1),Me(!1)},className:"flex-1 h-12 items-center justify-center bg-[#3a2db3] hover:bg-[#2d2291] text-white rounded-lg font-medium transition-colors",children:"바로검색"}),e.jsx("button",{type:"button",onClick:()=>{le(""),G([]),ie([]),J(""),K([]),I([]),pe([]),ue([]),fe([]),ve("")},className:"w-24 h-12 items-center justify-center bg-white border border-[#dddddd] text-[#666666] hover:border-[#3a2db3] hover:text-[#3a2db3] rounded-lg font-medium transition-colors",children:"초기화"}),e.jsx("button",{type:"button",onClick:()=>Me(!1),className:"w-24 h-12 items-center justify-center bg-white border border-[#dddddd] text-[#666666] hover:border-[#3a2db3] hover:text-[#3a2db3] rounded-lg font-medium transition-colors",children:"닫기"})]})]})]}),(W.length>0||C.length>0||D||$.length>0||_||P.length>0||se.length>0||ne.length>0||ae.length>0)&&e.jsxs("div",{className:"flex flex-wrap gap-2 mt-4",children:[_&&e.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-2 bg-white rounded-full border-2 border-[#047857] text-[#047857] font-medium text-sm",children:[e.jsx("span",{children:_}),e.jsx("button",{type:"button",onClick:()=>{le(""),b(1)},className:"hover:bg-[#047857] hover:text-white rounded-full p-0.5 transition-colors",children:e.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),P.map(t=>{const s=De.find(n=>n.id===t);return s?e.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-2 bg-white rounded-full border-2 border-[#b45309] text-[#b45309] font-medium text-sm",children:[e.jsx("span",{children:s.name}),e.jsx("button",{type:"button",onClick:()=>{ie(n=>n.filter(a=>a!==t)),b(1)},className:"hover:bg-[#b45309] hover:text-white rounded-full p-0.5 transition-colors",children:e.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]},`header-target-${t}`):null}),D&&e.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-2 bg-white rounded-full border-2 border-[#ef4222] text-[#ef4222] font-medium text-sm",children:[e.jsx("span",{children:D}),e.jsx("button",{type:"button",onClick:()=>{J(""),b(1)},className:"hover:bg-[#ef4222] hover:text-white rounded-full p-0.5 transition-colors",children:e.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),Re.filter(t=>t.ids.some(s=>W.includes(s))).map(t=>e.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-2 bg-white rounded-full border-2 border-[#3a2db3] text-[#3a2db3] font-medium text-sm",children:[e.jsx("span",{children:t.type}),e.jsx("button",{type:"button",onClick:()=>{I(s=>s.filter(n=>!t.ids.includes(n))),b(1)},className:"hover:bg-[#3a2db3] hover:text-white rounded-full p-0.5 transition-colors",children:e.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]},`type-${t.type}`)),C.map(t=>{const s=q.find(n=>n.id===t);return s?e.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-2 bg-white rounded-full border-2 border-[#3a2db3] text-[#3a2db3] font-medium text-sm",children:[e.jsx("span",{children:s.name}),e.jsx("button",{type:"button",onClick:()=>{K(n=>n.filter(a=>a!==t)),b(1)},className:"hover:bg-[#3a2db3] hover:text-white rounded-full p-0.5 transition-colors",children:e.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]},`topic-${t}`):null}),$.map(t=>{const s=be.find(n=>n.id===t);return s?e.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-2 bg-white rounded-full border-2 border-[#3a2db3] text-[#3a2db3] font-medium text-sm",children:[e.jsx("span",{children:s.name}),e.jsx("button",{type:"button",onClick:()=>{G(n=>n.filter(a=>a!==t)),b(1)},className:"hover:bg-[#3a2db3] hover:text-white rounded-full p-0.5 transition-colors",children:e.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]},`region-${t}`):null}),se.map(t=>{const s=Ne.find(n=>n.id===t);return s?e.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-2 bg-white rounded-full border-2 border-[#6d28d9] text-[#6d28d9] font-medium text-sm",children:[e.jsx("span",{children:s.name}),e.jsx("button",{type:"button",onClick:()=>{pe(n=>n.filter(a=>a!==t)),b(1)},className:"hover:bg-[#6d28d9] hover:text-white rounded-full p-0.5 transition-colors",children:e.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]},`header-day-${t}`):null}),ne.map(t=>{const s=ke.find(n=>n.id===t);return s?e.jsxs("div",{className:"inline-flex items-center gap-2 px-4 py-2 bg-white rounded-full border-2 border-[#0e7490] text-[#0e7490] font-medium text-sm",children:[e.jsx("span",{children:s.name}),e.jsx("button",{type:"button",onClick:()=>{ue(n=>n.filter(a=>a!==t)),b(1)},className:"hover:bg-[#0e7490] hover:text-white rounded-full p-0.5 transition-colors",children:e.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]},`header-slot-${t}`):null}),ae.map(t=>{const s=Se.find(n=>n.id===t);return s?e.jsxs("div",{className:"inline-flex
1 items-center gap-2 px-4 py-2 bg-white rounded-full border-2 border-[#166534] text-[#166534] font-medium text-sm",children:[e.jsx("span",{children:s.name}),e.jsx("button",{type:"button",onClick:()=>{fe(n=>n.filter(a=>a!==t)),b(1)},className:"hover:bg-[#166534] hover:text-white rounded-full p-0.5 transition-colors",children:e.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]},`header-fee-${t}`):null})]})]})}),e.jsx("section",{className:"flex flex-col items-center gap-5 max-md:gap-3 pt-[30px] max-md:pt-4 pb-10 max-md:pb-4 relative self-stretch w-full max-w-full bg-white overflow-x-hidden",children:e.jsxs("div",{className:"w-full max-w-[1200px] px-5 max-md:px-0 max-md:w-screen max-md:max-w-[100vw] overflow-x-hidden",children:[e.jsxs("div",{className:"flex flex-col w-full max-w-[740px] mx-auto gap-2.5 max-md:hidden",children:[e.jsxs("div",{className:"px-5 py-0 w-full rounded-md flex items-center justify-center",children:[e.jsxs("div",{className:"w-[95px] gap-0.5 flex items-center justify-center",children:[e.jsx("img",{className:"w-6 h-6 animate-bounce",alt:"실시간 인기",src:"/images/icons/popular-icon.svg"}),e.jsx("div",{className:"font-medium text-[#da3a15] text-[17px] whitespace-nowrap",children:d("course.search.realTimePopular")})]}),e.jsx("nav",{className:"h-8 gap-5 px-5 inline-flex items-center justify-center",children:nt.keywords.filter(t=>!Be(t.keyword)).map((t,s)=>e.jsx("button",{onClick:()=>{z(t.keyword),R(t.keyword),b(1)},className:"inline-flex items-center gap-2 bg-transparent border-none cursor-pointer p-0",children:e.jsxs("span",{className:`font-medium text-[17px] underline whitespace-nowrap ${s<3?"text-[#111111]":"text-[#333333]"}`,children:["#",t.keyword]})},`trending-${t.keyword}-${s}`))})]}),e.jsxs("div",{className:"px-5 py-0 w-full rounded-md flex items-center justify-center",children:[e.jsxs("div",{className:"flex w-[95px] items-center justify-center gap-[5px]",children:[e.jsx("img",{className:"w-6 h-6 animate-pulse",alt:"AI 추천",src:"/images/icons/ai-recommend-icon.svg"}),e.jsx("div",{className:"font-medium text-[#3a2db3] text-[17px] whitespace-nowrap",children:d("course.search.aiRecommended")})]}),e.jsx("nav",{className:"h-8 gap-5 px-5 inline-flex items-center justify-center",children:["#빅데이터","#클라우드","#머신러닝","#블록체인","#IoT","#사이버보안"].map((t,s)=>e.jsx("button",{onClick:()=>{const n=t.substring(1);z(n),b(1)},className:"inline-flex items-center gap-2 bg-transparent border-none cursor-pointer p-0",children:e.jsx("span",{className:`font-medium text-[17px] underline whitespace-nowrap ${s<3?"text-[#111111]":"text-[#333333]"}`,children:t})},t))})]})]}),D==="온라인교육"?e.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-2 md:gap-3 mt-3 md:mt-4",children:[e.jsx("span",{className:"text-[#666666] text-sm md:text-[17px] font-medium",children:"분야:"}),[...Ce,..._e].map(t=>e.jsx("button",{onClick:()=>{K(s=>s.includes(t.id)?s.filter(n=>n!==t.id):[...s,t.id]),b(1)},"aria-pressed":C.includes(t.id),className:`px-3 md:px-4 py-1.5 md:py-2 rounded-full text-sm md:text-[17px] font-medium transition-all ${C.includes(t.id)?"bg-[#3a2db3] text-white border border-[#3a2db3] md:border-2":"bg-white text-[#666666] border border-[#d9d9d9] md:border-2 hover:border-[#3a2db3] hover:text-[#3a2db3]"}`,children:t.name},t.id)),C.length>0&&e.jsx("button",{onClick:()=>{K([]),b(1)},className:"px-2 md:px-3 py-1.5 md:py-2 text-sm md:text-[17px] text-[#999999] hover:text-[#ef4222] transition-colors",children:"초기화"})]}):e.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-2 md:gap-3 mt-3 md:mt-4",children:[e.jsx("span",{className:"text-[#666666] text-sm md:text-[17px] font-medium",children:"지역:"}),be.map(t=>e.jsx("button",{onClick:()=>{G(s=>s.includes(t.id)?s.filter(n=>n!==t.id):[...s,t.id]),b(1)},"aria-pressed":$.includes(t.id),className:`px-3 md:px-4 py-1.5 md:py-2 rounded-full text-sm md:text-[17px] font-medium transition-all ${$.includes(t.id)?"bg-[#3a2db3] text-white border border-[#3a2db3] md:border-2":"bg-white text-[#666666] border border-[#d9d9d9] md:border-2 hover:border-[#3a2db3] hover:text-[#3a2db3]"}`,children:t.name},t.id)),$.length>0&&e.jsx("button",{onClick:()=>{G([]),b(1)},className:"px-2 md:px-3 py-1.5 md:py-2 text-sm md:text-[17px] text-[#999999] hover:text-[#ef4222] transition-colors",children:"초기화"})]})]})}),e.jsx("div",{className:"w-full max-w-full relative overflow-hidden",children:e.jsx("div",{className:"w-full flex justify-center py-10 max-md:py-6",children:e.jsxs("div",{className:"w-full max-w-[1475px] px-5 max-md:px-4",children:[e.jsxs("div",{className:`flex items-end justify-between pb-5 mb-3 max-md:flex-col max-md:items-start max-md:gap-3 max-md:pb-4 max-md:mb-3 ${S!=="calendar"?"border-b-2 border-[#666666]":""}`,children:[e.jsx("div",{className:"flex items-end gap-4 max-md:flex-col max-md:items-start max-md:gap-2 max-md:w-full",children:e.jsxs("p",{className:"inline-flex items-end gap-[7px] font-medium text-base leading-[14px] max-md:text-sm",children:[e.jsxs("span",{className:"text-[#666666]",children:[d("course.results.total")," "]}),e.jsx("span",{className:"text-[#ef4222]",children:qe.toLocaleStr
1ing()}),e.jsx("span",{className:"text-[#666666]",children:d("course.results.count")})]})}),e.jsxs("nav",{className:"flex items-center gap-2 max-md:w-full max-md:flex-wrap",children:[e.jsx("button",{onClick:()=>{ye("latest"),b(1)},"aria-pressed":B==="latest",className:`flex flex-1 max-md:min-w-0 h-[45px] max-md:h-9 items-center justify-center px-3 max-md:px-2 py-2 rounded-[5px] border border-solid transition-colors ${B==="latest"?"bg-[#3a2db3] border-[#3a2db3]":"bg-white border-[#dddddd] hover:border-[#3a2db3]"}`,children:e.jsx("span",{className:`font-medium text-[15px] max-md:text-xs text-center whitespace-nowrap ${B==="latest"?"text-white":"text-[#666666]"}`,children:d("course.filters.sortLatest")})}),e.jsx("button",{onClick:()=>{ye("alphabetical"),b(1)},"aria-pressed":B==="alphabetical",className:`flex flex-1 max-md:min-w-0 h-[45px] max-md:h-9 items-center justify-center px-3 max-md:px-2 py-2 rounded-[5px] border border-solid transition-colors ${B==="alphabetical"?"bg-[#3a2db3] border-[#3a2db3]":"bg-white border-[#dddddd] hover:border-[#3a2db3]"}`,children:e.jsx("span",{className:`font-medium text-[15px] max-md:text-xs text-center whitespace-nowrap ${B==="alphabetical"?"text-white":"text-[#666666]"}`,children:d("course.filters.sortAlphabetical")})}),e.jsxs("div",{className:"flex items-center h-[45px] max-md:h-9 rounded-[5px] border border-solid border-[#dddddd] overflow-hidden",children:[e.jsx("button",{onClick:()=>ce("card"),"aria-pressed":S==="card",className:`flex items-center justify-center px-3 max-md:px-2 h-full transition-colors ${S==="card"?"bg-[#3a2db3] text-white":"bg-white text-[#666666] hover:bg-gray-50"}`,title:d("course.filters.cardView"),children:e.jsx("svg",{className:"w-5 h-5 max-md:w-4 max-md:h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2V6zM14 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V6zM4 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2v-2zM14 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2z"})})}),e.jsx("button",{onClick:()=>ce("list"),"aria-pressed":S==="list",className:`flex items-center justify-center px-3 max-md:px-2 h-full border-l border-[#dddddd] transition-colors ${S==="list"?"bg-[#3a2db3] text-white":"bg-white text-[#666666] hover:bg-gray-50"}`,title:d("course.filters.listView"),children:e.jsx("svg",{className:"w-5 h-5 max-md:w-4 max-md:h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 6h16M4 12h16M4 18h16"})})}),e.jsx("button",{onClick:()=>ce("calendar"),"aria-pressed":S==="calendar",className:`flex items-center justify-center px-3 max-md:px-2 h-full border-l border-[#dddddd] transition-colors ${S==="calendar"?"bg-[#3a2db3] text-white":"bg-white text-[#666666] hover:bg-gray-50"}`,title:d("course.filters.calendarView"),children:e.jsx("svg",{className:"w-5 h-5 max-md:w-4 max-md:h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"})})})]})]})]}),Ie?e.jsx("div",{className:"flex justify-center items-center py-20",children:e.jsx("p",{className:"text-lg text-[#696969]",children:d("common.loading")})}
1):U.length===0&&S!=="calendar"?e.jsxs("div",{className:"flex flex-col justify-center items-center py-20",children:[e.jsx("svg",{className:"w-16 h-16 text-[#d9d9d9] mb-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M9.172 16.172a4 4 0 015.656 0M9 10h.01M15 10h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})}),e.jsx("p",{className:"text-lg text-[#696969] mb-2",children:d("course.results.noResults")}),L.length>0&&e.jsxs("p",{className:"text-sm text-[#999999] mb-4",children:["선택된 필터: ",L.map(t=>t==="always"?"상시운영":`${t}년`).join(", ")]}),e.jsxs("div",{className:"flex flex-col items-center gap-3 mt-4",children:[e.jsx("p",{className:"text-sm text-[#666666]",children:d("course.year.tryOtherYears")}),e.jsx("div",{className:"flex items-center gap-2 flex-wrap justify-center",children:e.jsx("button",{onClick:()=>{V([]),b(1)},className:"h-9 px-4 rounded-[5px] text-sm font-medium bg-[#3a2db3] text-white hover:bg-[#2f2490] transition-colors",children:d("course.year.viewAll")})})]})]}):e.jsxs(e.Fragment,{children:[S==="card"&&e.jsx("div",{className:"grid grid-cols-4 max-md:grid-cols-2 gap-5 max-md:gap-3",children:U.map(t=>{const s=new Date,n=t.cohorts?.[0],a=n?.application_start_at||t.application_startdate,h=n?.application_end_at||t.application_enddate,r=n?.learning_start_at||t.learning_startdate,x=n?.learning_end_at||t.learning_enddate,i=a?new Date(a):null,o=h?new Date(h):null;let u="마감",p="#666666";n?.is_always_learning===!0||!a&&!h?(u="상시모집",p="#059669"):o&&i&&(s>=i&&s<=o?(u="접수중",p="#ef4222"):s<i&&(u="접수예정",p="#3a2db3"));const m=l=>{if(!l)return"";try{const y=new Date(l),N=String(y.getFullYear()).slice(-2),M=String(y.getMonth()+1).padStart(2,"0"),k=String(y.getDate()).padStart(2,"0");return`${N}.${M}.${k}`}catch{return""}},j=i&&o?`${m(a)} ~ ${m(h)}`:"상시 모집",f=r&&x?`${m(r)} ~ ${m(x)}`:"상시";return e.jsx("div",{onClick:()=>Y(t),onKeyDown:l=>{(l.key==="Enter"||l.key===" ")&&(l.preventDefault(),Y(t))},tabIndex:0,role:"link",className:"relative h-[420px] max-md:h-[280px] cursor-pointer group",children:e.jsxs("div",{className:"relative w-full h-full transition-transform duration-500 ease-in-out",style:{transformStyle:"preserve-3d"},children:[e.jsxs("article",{className:"absolute inset-0 w-full h-full flex flex-col bg-white rounded-[20px] overflow-hidden border border-solid border-[#e9e9e9] shadow-sm group-hover:shadow-md transition-shadow",style:{backfaceVisibility:"hidden"},children:[e.jsx("img",{alt:t.title,className:"w-full h-[160px] md:h-[196px] object-cover flex-shrink-0",src:t.thumbnail_image_url||"/images/default_thumbnail.svg",onError:l=>{l.target.src="/images/default_thumbnail.svg"}}),e.jsxs("div",{className:"flex flex-col items-start gap-3 px-4 md:px-5 py-4 -mt-5 md:-mt-6 bg-white rounded-[20px_20px_0px_0px] flex-1",children:[e.jsxs("div",{className:"flex flex-col items-start gap-2 w-full",children:[e.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap",children:[e.jsx("span",{className:"inline-flex h-6 items-center justify-center px-2 py-0.5 rounded-md text-xs md:text-sm font-medium text-white",style:{backgroundColor:p},children:u}),t.topic&&e.jsx("span",{className:"inline-flex h-6 items-center justify-center px-2 py-0.5 rounded-md text-xs md:text-sm font-medium text-[#111111] bg-[#EDEDED]",children:t.topic}),e.jsx("span",{className:`inline-flex h-6 items-center justify-center px-2 py-0.5 rounded-md text-xs md:text-sm font-bold ${t.is_free===!1&&t.price?"bg-[#FEE2E2] text-[#ef4222]":"bg-[#D1FAE5] text-[#007062]"}`,children:t.is_free===!1&&t.price?`${t.price.toLocaleString()}원`:d("course.card.free")})]}),e.jsx("p",{className:"text-[#111111] text-[1.0625rem] max-md:text-xs font-medium leading-[150%] truncate w-full",children:t.ins_name})]}),e.jsx("h3",{className:"text-[#111111] text-[1.44rem] max-md:text-sm font-bold line-clamp-2 w-full pt-3 border-t border-[#e0e0e0]",children:t.title}),e.jsxs("dl",{className:"flex flex-col gap-1 w-full mt-auto max-md:hidden",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("dt",{className:"text-[#111111] text-[1.0625rem] font-medium leading-[150%] min-w-[60px] truncate",children:d("course.card.fee")}),e.jsx("svg",{width:"1",height:"18",viewBox:"0 0 1 18",fill:"none",children:e.jsx("path",{d:"M0.5 0V18",stroke:"#666666"})}),e.jsx("dd",{className:`flex-1 text-[1.0625rem] leading-[150%] truncate font-medium ${t.is_free===!1&&t.price?"text-[#ef4222]":"text-[#007062]"}
1`,children:t.is_free===!1&&t.price?`${t.price.toLocaleString()}원`:d("course.card.free")})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("dt",{className:"text-[#111111] text-[1.0625rem] font-medium leading-[150%] min-w-[60px] truncate",children:d("course.card.applicationPeriod")}),e.jsx("svg",{width:"1",height:"18",viewBox:"0 0 1 18",fill:"none",children:e.jsx("path",{d:"M0.5 0V18",stroke:"#666666"})}),e.jsx("dd",{className:"flex-1 text-[#333333] text-[1.0625rem] leading-[150%] truncate",children:j})]})]})]})]}),e.jsxs("article",{className:"absolute inset-0 w-full h-full flex flex-col rounded-[20px] overflow-hidden border border-solid border-[#e9e9e9] shadow-md opacity-0 group-hover:opacity-100 transition-opacity duration-300 max-md:hidden",style:{backfaceVisibility:"hidden"},children:[e.jsxs("div",{className:"flex flex-col flex-1 bg-[#FFE6B1] p-5 md:p-6",children:[e.jsx("div",{className:"mb-3",children:e.jsx("span",{className:"inline-flex h-7 items-center justify-center px-3 py-1 rounded-md text-sm font-medium text-white",style:{backgroundColor:p},children:u})}),t.topic&&e.jsx("p",{className:"text-[#111111] text-[1rem] font-medium leading-[150%] mb-2",children:t.topic}),e.jsx("h3",{className:"text-[#111111] text-[1.44rem] font-bold line-clamp-2 pb-3 mb-3 border-b border-white",children:t.title}),e.jsxs("dl",{className:"flex flex-col gap-2 text-sm md:text-base",children:[e.jsxs("div",{className:"flex items-center gap-2.5 self-stretch",children:[e.jsx("dt",{className:"text-[#111111] min-w-[55px] md:min-w-[65px]",children:d("course.card.applicationPeriod")}),e.jsx("svg",{width:"1",height:"18",viewBox:"0 0 1 18",fill:"none",children:e.jsx("path",{d:"M0.5 0V18",stroke:"#666666"})}),e.jsx("dd",{className:"flex-1 text-[#111111]",children:j})]}),e.jsxs("div",{className:"flex items-center gap-2.5 self-stretch",children:[e.jsx("dt",{className:"text-[#111111] min-w-[55px] md:min-w-[65px]",children:d("course.card.educationPeriod")}),e.jsx("svg",{width:"1",height:"18",viewBox:"0 0 1 18",fill:"none",children:e.jsx("path",{d:"M0.5 0V18",stroke:"#666666"})}),e.jsx("dd",{className:"flex-1 text-[#111111]",children:f})]}),e.jsxs("div",{className:"flex items-center gap-2.5 self-stretch",children:[e.jsx("dt",{className:"text-[#111111] min-w-[55px] md:min-w-[65px]",children:d("course.card.fee")}),e.jsx("svg",{width:"1",height:"18",viewBox:"0 0 1 18",fill:"none",children:e.jsx("path",{d:"M0.5 0V18",stroke:"#666666"})}),e.jsx("dd",{className:`flex-1 font-medium ${t.is_free===!1&&t.price?"text-[#ef4222]":"text-[#007062]"}`,children:t.is_free===!1&&t.price?`${t.price.toLocaleString()}원`:d("course.card.free")})]}),e.jsxs("div",{className:"flex items-start gap-2.5 self-stretch",children:[e.jsx("dt",{className:"text-[#111111] min-w-[55px] md:min-w-[65px]",children:d("course.card.institution")}),e.jsx("svg",{className:"mt-1",width:"1",height:"18",viewBox:"0 0 1 18",fill:"none",children:e.jsx("path",{d:"M0.5 0V18",stroke:"#666666"})}),e.jsx("dd",{className:"flex-1 text-[#111111] line-clamp-2",children:t.ins_name})]})]})]}),e.jsx("div",{className:"flex items-center justify-center bg-white px-5 md:px-6 py-4 md:py-5",children:e.jsxs("span",{className:"text-[#666666] text-sm md:text-base font-medium hover:text-[#ef4222] transition-colors",children:[d("course.card.viewDetails")," +"]})})]})]})},t.id)})}),S==="list"&&e.jsx("div",{className:"flex flex-col items-start relative self-stretch w-full",children:U.map(t=>{const s=new Date,n=t.cohorts?.[0],a=n?.application_start_at||t.application_startdate,h=n?.application_end_at||t.application_enddate,r=n?.learning_start_at||t.learning_startdate,x=n?.learning_end_at||t.learning_enddate,i=a?new Date(a):null,o=h?new Date(h):null;let u="마감",p="text-white bg-[#666666]";n?.is_always_learning===!0||!a&&!h?(u="상시모집",p="border border-solid border-[#059669] text-[#059669] bg-white"):o&&i&&(s>=i&&s<=o?(u="접수중",p="border border-solid border-[#ef4222] text-[#ef4222] bg-white"):s<i&&(u="접수예정",p="border border-solid border-[#3a2db3] text-[#3a2db3] bg-white"));const m=l=>{if(!l)return"";try{const y=new Date(l);if(isNaN(y.getTime()))return"";const N=y.getFullYear().toString().slice(2),M=(y.getMonth()+1).toString().padStart(2,"0"),k=y.getDate().toString().padStart(2,"0");return`${N}.${M}.${k}`}catch{return""}},j=`${m(a)} ~ ${m(h)}`,f=`${m(r)} ~ ${m(x)}`;return e.jsxs("article",{onClick:()=>Y(t),onKeyDown:l=>{(l.key==="Enter"||l.key===" ")&&(l.preventDefault(),Y(t))},tabIndex:0,role:"link",className:"flex flex-col md:flex-row gap-3 md:gap-5 p-4 md:px-[25px] md:py-5 self-stretch w-full bg-white border-b border-[#dddddd] md:items-center relative cursor-pointer hover:bg-[#fafafa] transition-colors",children:[e.jsxs("div",{className:"flex md:hidden flex-col gap-2 w-full",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"inline-flex items-center justify-center px-2 py-1 bg-[#ededed] rounded-md",children:e.jsx("span",{className:"text-[#111111] text-xs font-semibold",children:t.topic||"기타"})}),e.jsx("h2",{className:"flex-1 font-semibold text-[#111111] text-base truncate",children:t.title})]}),e.jsxs("div",{className:"flex flex-col gap-1 text-sm text-[#666666]",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-[#999999] min-w-[40px]",children:"신청"}),e.jsx("span",{children:j})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-[#999999] min-w-[40px]",children:"교육"}),e.jsx("span",{children:f})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-[#999999] min-w-[40px]",children:"기관"}),e.jsx("span",{children:t.ins_name||"-"})]})]}),e.jsxs("div",{className:"flex items-center justify-between mt-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:`text-sm font-medium ${t.is_free===!1&&t.price?"text-[#ef4222]":"text-[#007062]"}
1`,children:t.is_free===!1&&t.price?`${t.price.toLocaleString()}원`:d("course.card.free")}),e.jsx("span",{className:`inline-flex items-center justify-center px-2 py-0.5 rounded text-sm font-medium ${p}`,children:u})]}),e.jsxs("button",{className:"flex items-center justify-center px-3 py-1.5 bg-[#3a2db3] rounded-md",children:[e.jsx("span",{className:"text-white text-sm font-medium",children:"수강신청"}),e.jsx("img",{className:"w-4 h-4 ml-1",alt:"",src:"/images/icons/arrow-white.svg"})]})]})]}),e.jsxs("div",{className:"hidden md:flex md:flex-col md:items-start md:gap-3 relative flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2.5 w-full",children:[e.jsx("span",{className:"flex w-[150px] h-8 items-center justify-center px-1.5 py-1 flex-shrink-0 bg-[#ededed] rounded-md",children:e.jsx("span",{className:"text-[#111111] text-[15px] font-medium whitespace-nowrap overflow-hidden text-ellipsis",children:t.topic||"기타"})}),e.jsx("h2",{className:"flex-1 min-w-0 text-[#111111] text-[21px] font-semibold leading-[28px] whitespace-nowrap overflow-hidden text-ellipsis",children:t.title})]}),e.jsxs("dl",{className:"flex items-center gap-[30px] w-full",children:[e.jsxs("div",{className:"flex w-[220px] min-w-[220px] items-start gap-2.5",children:[e.jsx("dt",{className:"text-[#111111] text-[17px] font-medium whitespace-nowrap",children:"신청기간"}),e.jsx("dd",{className:"text-[#333333] text-[17px] whitespace-nowrap",children:j})]}),e.jsx("img",{className:"w-px h-5",alt:"",src:"/images/icons/divider.svg","aria-hidden":"true"}),e.jsxs("div",{className:"flex w-[220px] min-w-[220px] items-start gap-2.5",children:[e.jsx("dt",{className:"text-[#111111] text-[17px] font-medium whitespace-nowrap",children:"교육기간"}),e.jsx("dd",{className:"text-[#333333] text-[17px] whitespace-nowrap",children:f})]}),e.jsx("img",{className:"w-px h-5",alt:"",src:"/images/icons/divider.svg","aria-hidden":"true"}),e.jsxs("div",{className:"flex items-start gap-2.5",children:[e.jsx("dt",{className:"text-[#111111] text-[17px] font-medium whitespace-nowrap",children:"수강료"}),e.jsx("dd",{className:`text-[17px] whitespace-nowrap ${t.is_free===!1&&t.price?"text-[#ef4222]":"text-[#007062]"}`,children:t.is_free===!1&&t.price?`${t.price.toLocaleString()}원`:d("course.card.free")})]}),e.jsx("img",{className:"w-px h-5",alt:"",src:"/images/icons/divider.svg","aria-hidden":"true"}),e.jsxs("div",{className:"flex flex-1 min-w-0 items-start gap-2.5",children:[e.jsx("dt",{className:"text-[#111111] text-[17px] font-medium whitespace-nowrap",children:"교육기관"}),e.jsx("dd",{className:"text-[#333333] text-[17px] whitespace-nowrap overflow-hidden text-ellipsis",children:t.ins_name||"-"})]})]})]}),u==="접수중"||u==="접수예정"||u==="상시모집"?e.jsxs("button",{className:"hidden md:flex w-[120px] h-[45px] items-center justify-center pl-3 pr-1.5 py-1 bg-[#3a2db3] rounded-md hover:bg-[#2d2499] transition-colors flex-shrink-0",onClick:l=>{l.stopPropagation(),Y(t)},children:[e.jsx("span",{className:"text-white text-[18px] font-medium whitespace-nowrap",children:u==="상시모집"?"상시모집":"수강신청"}),e.jsx("img",{className:"w-[18px] h-[18px] ml-1",alt:"",src:"/images/icons/arrow-white.svg"})]}):e.jsx("div",{className:"hidden md:flex w-[120px] h-[45px] items-center justify-center px-3 py-1 bg-[#969696] rounded-md flex-shrink-0",children:e.jsx("span",{className:"text-white text-[18px] font-medium whitespace-nowrap",children:"접수마감"})})]},t.id)})}),S==="calendar"&&e.jsxs("div",{className:"flex flex-col items-center gap-5 w-full",children:[e.jsxs("div",{className:"flex w-full border-b border-[#dddddd]",children:[e.jsxs("button",{onClick:()=>We("yearly"),className:`flex-1 flex flex-col items-center justify-end py-4 border-b-[3px] transition-colors ${E==="yearly"?"border-[#ef4222]":"border-transparent hover:border-[#dddddd]"}`,children:[E==="yearly"&&e.jsx("div",{className:"w-1.5 h-1.5 bg-[#ef4222] rounded-full mb-2"}),e.jsx("span",{className:`font-semibold text-[28px] ${E==="yearly"?"text-[#ef4222]":"text-[#111111]"}`,children:d("course.calendar.yearly")})]}),e.jsxs("button",{onClick:()=>{we(new Date),We("monthly")},className:`flex-1 flex flex-col items-center justify-end py-4 border-b-[3px] transition-colors ${E==="monthly"?"border-[#ef4222]":"border-transparent hover:border-[#dddddd]"}`,children:[E==="monthly"&&e.jsx("div",{className:"w-1.5 h-1.5 bg-[#ef4222] rounded-full mb-2"}),e.jsx("span",{className:`font-semibold text-[28px] ${E==="monthly"?"text-[#ef4222]":"text-[#111111]"}`,children:d("course.calendar.monthly")})]})]}),E==="yearly"&&e.jsxs("div",{className:"flex flex-col items-center gap-4 w-full",children:[e.jsxs("div",{className:"flex items-center justify-center gap-4 py-4 w-full",children:[e.jsx("button",{onClick:()=>{const t=ee-1;je(t),V(s=>s.includes("always")?["always",t]:[t])},className:"w-10 h-10 flex items-center justify-center rounded-full hover:bg-gray-100 transition-colors","aria-label":d("course.calendar.prevYear"),children:e.jsx("svg",{className:"w-6 h-6 text-[#666666]",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})})}),e.jsxs("span",{className:"font-semibold text-[25px] text-[#111111]",children:[ee,"년"]}),e.jsx("button",{onClick:()=>{const t=ee+1;je(t),V(s=>s.includes("always")?["always",t]:[t])},className:"w-10 h-10 flex items-center justify-center rounded-full hover:bg-gray-100 transition-colors","aria-label":d("course.calendar.nextYear"),children:e.jsx("svg",{className:"w-6 h-6 text-[#666666]",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})})]}),e.jsx("div",{className:"w-full overflow-x-auto max-h-[calc(100vh-300px)] overflow-y-auto",children:e.jsxs("table",{className:"w-full min-w-[1400px] border-collapse",style:{borderSpacing:0}
1,children:[e.jsxs("thead",{className:"sticky -top-px z-[11] bg-[#f8f8f8]",children:[e.jsxs("tr",{className:"bg-[#f8f8f8]",children:[e.jsxs("th",{className:"bg-[#f8f8f8] border-t-2 border-[#666666] px-4 py-4 text-center w-[380px] min-w-[380px] max-md:sticky max-md:left-0 max-md:z-20 max-md:w-[160px] max-md:min-w-[160px] max-md:px-2 max-md:shadow-[2px_0_4px_rgba(0,0,0,0.1)]",rowSpan:2,children:[e.jsx("div",{className:"font-semibold text-[#111111]",children:d("course.calendar.courseName")}),e.jsx("div",{className:"text-sm text-[#666666] font-normal mt-1 max-md:hidden",children:d("course.calendar.courseNameHint")})]}),e.jsx("th",{className:"bg-[#f8f8f8] border-t-2 border-[#666666] px-2 py-4 text-center w-[150px] min-w-[150px]",rowSpan:2,children:e.jsx("div",{className:"font-semibold text-[#111111]",children:d("course.calendar.institution")})}),e.jsx("th",{className:"bg-[#f8f8f8] border-t-2 border-[#666666] px-2 py-4 text-center",colSpan:12,children:e.jsxs("div",{className:"font-semibold text-[#111111]",children:[d("course.calendar.schedule")," ",e.jsxs("span",{className:"text-[#ef4222]",children:["(",d("course.calendar.startDate"),")"]})]})})]}),e.jsx("tr",{className:"bg-[#f8f8f8]",children:[1,2,3,4,5,6,7,8,9,10,11,12].map(t=>{const s=new Date().getMonth()+1,n=t===s&&ee===Te,a=["jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"];return e.jsx("th",{className:`border-b border-[#e9e9e9] px-2 py-2 text-center w-[70px] min-w-[70px] font-semibold ${n?"bg-[#e2dfff] text-[#3a2db3]":"bg-[#f8f8f8] text-[#111111]"}`,children:d(`home.courseList.months.${a[t-1]}`)},t)})})]}),e.jsx("tbody",{children:U.length===0?e.jsx("tr",{children:e.jsx("td",{colSpan:14,className:"text-center py-10 text-[#666666]",children:d("course.calendar.noCoursesInYear")})}):U.map(t=>{const s=ee,a=(()=>{const x=[],i=t.cohorts||[];if(Array.isArray(i)&&i.length>0&&i.forEach(o=>{const u=o.learning_start_at,p=o.learning_end_at;if(u)try{const g=new Date(u),w=p?new Date(p):g,m=new Date(s,0,1),j=new Date(s,11,31);if(g<=j&&w>=m){const f=g<m?m:g,l=w>j?j:w;x.push({startMonth:f.getMonth()+1,startDay:f.getDate(),endMonth:l.getMonth()+1,endDay:l.getDate(),cohortName:o.name||`${o.cohort_number}기`})}}catch{}}),x.length===0){const o=t.learning_startdate,u=t.learning_enddate;if(o)try{const p=new Date(o),g=u?new Date(u):p,w=new Date(s,0,1),m=new Date(s,11,31);if(p<=m&&g>=w){const j=p<w?w:p,f=g>m?m:g;x.push({startMonth:j.getMonth()+1,startDay:j.getDate(),endMonth:f.getMonth()+1,endDay:f.getDate(),cohortName:""})}}catch{}}return x})(),h=new Date().getMonth()+1,r=x=>{for(const i of a){if(x===i.startMonth&&x===i.endMonth)return{isStart:!0,isEnd:!0,isMiddle:!1,startDay:i.startDay,endDay:i.endDay};if(x===i.startMonth)return{isStart:!0,isEnd:!1,isMiddle:!1,startDay:i.startDay};if(x===i.endMonth)return{isStart:!1,isEnd:!0,isMiddle:!1,endDay:i.endDay};if(x>i.startMonth&&x<i.endMonth)return{isStart:!1,isEnd:!1,isMiddle:!0}}return{isStart:!1,isEnd:!1,isMiddle:!1}};return e.jsxs("tr",{className:"hover:bg-[#f8f8f8] cursor-pointer transition-colors",onClick:()=>Y(t),children:[e.jsx("td",{className:"border-b border-[#e9e9e9] px-4 py-3 bg-white max-md:sticky max-md:left-0 max-md:z-10 max-md:w-[160px] max-md:min-w-[160px] max-md:max-w-[160px] max-md:px-2 max-md:shadow-[2px_0_4px_rgba(0,0,0,0.1)]",children:e.jsxs("div",{className:"font-medium text-[#111111] line-clamp-2 max-md:text-sm",children:[t.title,t.is_free===!1&&t.price&&e.jsxs("span",{className:"text-[#ef4222]",children:["(",t.price.toLocaleString(),"원)"]})]})}),e.jsx("td",{className:"border-b border-[#e9e9e9] px-2 py-3 text-center",children:e.jsx("div",{className:"text-sm text-[#666666] line-clamp-1",children:t.ins_name||"-"})}),[1,2,3,4,5,6,7,8,9,10,11,12].map(x=>{const i=r(x),o=x===h&&s===new Date().getFullYear(),u=i.isStart||i.isEnd||i.isMiddle;return e.jsx("td",{className:`border-b border-[#e9e9e9] px-0 py-2 text-center align-middle h-[48px] ${o?"bg-[#f5f4ff]":""}`,children:u?e.jsxs("div",{className:"relative h-6 flex items-center",children:[e.jsx("div",{className:`absolute top-1/2 -translate-y-1/2 h-5 bg-[#ef4222] ${i.isStart&&i.isEnd?"left-1 right-1 rounded-full":i.isStart?"left-1 right-0 rounded-l-full":i.isEnd?"left-0 right-1 rounded-r-full":"left-0 right-0"}`}),e.jsx("div",{className:"relative z-10 w-full flex justify-center",children:i.isStart&&i.isEnd?e.jsxs("span",{className:"text-[10px] font-medium text-white whitespace-nowrap",children:[String(i.startDay).padStart(2,"0"),"~",String(i.endDay).padStart(2,"0")]}):i.isStart?e.jsx("span",{className:"text-[10px] font-medium text-white",children:String(i.startDay).padStart(2,"0")}):i.isEnd?e.jsx("span",{className:"text-[10px] font-medium text-white",children:String(i.endDay).padStart(2,"0")}):null})]}):e.jsx("span",{className:"text-[#e9e9e9]",children:"-"})},x)})]},t.id)})})]})})]}),E==="monthly"&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex items-center justify-center gap-4 py-4 w-full",children:[e.jsx("button",{onClick:()=>{const t=new Date(T);t.setMonth(t.getMonth()-1),we(t)},className:"w-10 h-10 flex items-center justify-center rounded-full hover:bg-gray-100 transition-colors","aria-label":d("course.calendar.prevMonth"),children:e.jsx("svg",{className:"w-6 h-6 text-[#666666]",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})})}),e.jsx("span",{className:"font-semibold text-[25px] text-[#111111]",children:(()=>{const t=["jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"];return`${T.getFullYear()}년 ${d(`home.courseList.months.${t[T.getMonth()]}`)}`})()}),e.jsx("button",{onClick:()=>{const t=new Date(T);t.setMonth(t.getMonth()+1),we(t)},className:"w-10 h-10 flex items-center justify-center rounded-full hover:bg-gray-100 transition-colors","aria-label":d("course.calendar.nextMonth"),children:e.jsx("svg",{className:"w-6 h-6 text-[#666666]",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})})]}),e.jsxs("div",{className:"w-full border border-[#e9e9e9] rounded-lg overflow-hidden relative",children:[e.jsx("div",{className:"grid grid-cols-7 bg-[#f8f8f8]",children:["sun","mon","tue","wed","thu","fri","sat"].map((t,s)=>e.jsx("div",{className:`h-12 flex items-center justify-center font-medium ${s===0?"text-[#ef4222]":s===6?"text-[#3a2db3]":"text-[#111111]"}`,children:d(`course.calendar.weekdays.${t}`)},t))}),(()=>{const t=T.getFullYear(),s=T.getMonth(),n=new Date(t,s,1).getDay(),a=new Date(t,s+1,0).getDate(),h=[];let r=[];for(let o=0;o<n;o++)r.push(null);for(let o=1;o<=a;o++)r.push(o),r.length===7&&(h.push(r),r=[]);for(;r.length>0&&r.length<7;)r.push(null);r.length>0&&h.push(r);const x=o=>{const u=o.map(p=>({day:p||0,events:[]}));
1return U.forEach(p=>{const g=p.cohorts||[];let w=[];if(Array.isArray(g)&&g.length>0)g.forEach(m=>{const j=m.learning_start_at,f=m.learning_end_at;if(j)try{const l=new Date(j),y=f?new Date(f):l,N=new Date(t,s,1),M=new Date(t,s,a);if(l<=M&&y>=N){const k=l<N?1:l.getDate(),oe=y>M?a:y.getDate();w.push({startDay:k,endDay:oe})}}catch{}});else{const m=p.learning_startdate,j=p.learning_enddate;if(m)try{const f=new Date(m),l=j?new Date(j):f,y=new Date(t,s,1),N=new Date(t,s,a);if(f<=N&&l>=y){const M=f<y?1:f.getDate(),k=l>N?a:l.getDate();w.push({startDay:M,endDay:k})}}catch{}}w.forEach(m=>{const j=o[0]||1,f=o[6]||a;if(m.startDay<=f&&m.endDay>=j){const l=Math.max(m.startDay,j),y=Math.min(m.endDay,f),N=o.findIndex(k=>k===l);if(N===-1)return;let M=0;for(let k=N;k<7;k++){const oe=o[k];if(oe!==null&&oe>=l&&oe<=y)M++;else break}M>0&&u[N].events.push({course:p,startDay:m.startDay,endDay:m.endDay,isStart:l===m.startDay,isEnd:y===m.endDay,spanDays:M})}})}),u},i=(o,u,p)=>{o.stopPropagation();const g=o.target.getBoundingClientRect();xe({isOpen:!0,day:u,courses:p,position:{x:g.left,y:g.bottom+5}})};return h.map((o,u)=>{const p=x(o);return e.jsxs("div",{className:"grid grid-cols-7 relative",children:[o.map((g,w)=>e.jsx("div",{className:`min-h-[120px] max-md:min-h-[80px] border-t border-r border-[#e9e9e9] last:border-r-0 p-1 ${g===null?"bg-gray-50":"bg-white"}`,children:g!==null&&e.jsx("div",{className:`text-right text-sm font-medium mb-1 px-1 ${w===0?"text-[#ef4222]":w===6?"text-[#3a2db3]":"text-[#111111]"}`,children:g})},w)),e.jsx("div",{className:"absolute top-7 left-0 right-0 flex flex-col gap-0.5 pointer-events-none",children:(()=>{const w=Array.from({length:3},()=>Array(7).fill(null)),m=Array(7).fill(0);return p.forEach((j,f)=>{j.events.forEach(l=>{let y=!1;for(let N=0;N<3;N++){let M=!0;for(let k=0;k<l.spanDays;k++)if(w[N][f+k]!==null){M=!1;break}if(M){for(let k=0;k<l.spanDays;k++)w[N][f+k]=k===0?l:{...l,spanDays:0};y=!0;break}}if(!y)for(let N=0;N<l.spanDays;N++)m[f+N]++})}),e.jsxs(e.Fragment,{children:[w.map((j,f)=>e.jsx("div",{className:"grid grid-cols-7 h-5",children:j.map((l,y)=>!l||l.spanDays===0?e.jsx("div",{},y):e.jsx("div",{className:"pointer-events-auto cursor-pointer",style:{gridColumn:`span ${l.spanDays}`},onClick:()=>Y(l.course),children:e.jsx("div",{className:`h-full bg-[#ef4222] text-white text-[13px] px-1 truncate flex items-center ${l.isStart?"rounded-l ml-0.5":""} ${l.isEnd?"rounded-r mr-0.5":""}`,title:`${l.course.title} (${l.startDay}~${l.endDay}일)`,children:l.course.title})},y))},f)),e.jsx("div",{className:"grid grid-cols-7 h-4",children:m.map((j,f)=>e.jsx("div",{className:"flex justify-center",children:j>0&&o[f]!==null&&e.jsxs("button",{className:"pointer-events-auto text-[10px] text-[#3a2db3] font-medium hover:underline",onClick:l=>{const y=p[f].events.map(N=>N.course);i(l,o[f],y)},children:["+",j,"개"]})},f))})]})})()})]},u)})})(),A.isOpen&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"fixed inset-0 z-40",onClick:()=>xe({...A,isOpen:!1})}),e.jsxs("div",{className:"fixed z-50 bg-white rounded-lg shadow-xl border border-[#e9e9e9] p-4 max-w-sm w-full max-h-[400px] overflow-y-auto",style:{left:Math.min(A.position.x,window.innerWidth-350),top:Math.min(A.position.y,window.innerHeight-420)},children:[e.jsxs("div",{className:"flex justify-between items-center mb-3",children:[e.jsxs("h3",{className:"font-semibold text-[#111111]",children:[T.getMonth()+1,"월 ",A.day,"일 강좌 (",A.courses.length,"개)"]}),e.jsx("button",{onClick:()=>xe({...A,isOpen:!1}),className:"text-[#666666] hover:text-[#111111]",children:e.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),e.jsx("div",{className:"flex flex-col gap-2",children:A.courses.map((t,s)=>e.jsxs("div",{onClick:()=>{xe({...A,isOpen:!1}),Y(t)},className:"p-3 bg-[#f8f8f8] rounded-lg cursor-pointer hover:bg-[#e9e9e9] transition-colors",children:[e.jsx("div",{className:"font-medium text-sm text-[#111111] line-clamp-2",children:t.title}),e.jsx("div",{className:"text-xs text-[#666666] mt-1",children:t.ins_name||"-"})]},s))})]})]})]})]})]}),me>1&&(()=>{const n=Math.floor((O-1)/6)*6+1,a=Math.min(n+6-1,me),h=Array.from({length:a-n+1},(i,o)=>n+o),r=n>1,x=a<me;return e.jsxs("nav",{className:"flex items-center justify-center gap-2.5 mt-10 max-md:mt-6","aria-label":"페이지네이션",children:[e.jsx("button",{onClick:()=>b(1),disabled:!r,className:"w-10 h-10 max-md:w-8 max-md:h-8 flex items-center justify-center rounded-[5px] border border-[#dddddd] disabled:opacity-50 disabled:cursor-not-allowed hover:bg-gray-50","aria-label":"첫 페이지로 이동",children:e.jsx("svg",{className:"w-5 h-5 max-md:w-4 max-md:h-4 text-[#969696]",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M11 19l-7-7 7-7m8 14l-7-7 7-7"})})}),e.jsx("button",{onClick:()=>b(n-1),disabled:!r,className:"w-10 h-10 max-md:w-8 max-md:h-8 flex items-center justify-center rounded-[5px] border border-[#dddddd] disabled:opacity-50 disabled:cursor-not-allowed hover:bg-gray-50","aria-label":"이전 페이지 그룹으로 이동",children:e.jsx("svg",{className:"w-5 h-5 max-md:w-4 max-md:h-4 text-[#969696]",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})})}),h.map(i=>e.jsx("button",{onClick:()=>b(i),className:`flex flex-col w-10 h-10 max-md:w-8 max-md:h-8 items-center justify-center gap-2.5 px-[7
1px] py-[3px] rounded-[5px] ${O===i?"bg-[#18204e]":"border border-solid border-[#dddddd] hover:bg-gray-50"}`,"aria-label":`페이지 ${i}`,"aria-current":O===i?"page":void 0,children:e.jsx("span",{className:`font-medium text-base max-md:text-sm ${O===i?"text-white":"text-[#969696]"}`,children:i})},i)),e.jsx("button",{onClick:()=>b(a+1),disabled:!x,className:"w-10 h-10 max-md:w-8 max-md:h-8 flex items-center justify-center rounded-[5px] border border-[#dddddd] disabled:opacity-50 disabled:cursor-not-allowed hover:bg-gray-50","aria-label":"다음 페이지 그룹으로 이동",children:e.jsx("svg",{className:"w-5 h-5 max-md:w-4 max-md:h-4 text-[#969696]",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})}),e.jsx("button",{onClick:()=>b(me),disabled:!x,className:"w-10 h-10 max-md:w-8 max-md:h-8 flex items-center justify-center rounded-[5px] border border-[#dddddd] disabled:opacity-50 disabled:cursor-not-allowed hover:bg-gray-50","aria-label":"마지막 페이지로 이동",children:e.jsx("svg",{className:"w-5 h-5 max-md:w-4 max-md:h-4 text-[#969696]",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 5l7 7-7 7M5 5l7 7-7 7"})})})]})})()]})]})})})]})};export{Bt as default};

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.