PageSourceSearch

https://naemo.ai/_next/static/chunks/2840-863c04f9ebeb764a.js

js naemo.ai collected 2026-09-24 14:30:20 UTC 24,014 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2840],{22840:function(e,t,a){a.r(t),a.d(t,{StudentGradeTab:function(){return C},default:function(){return F}});var s=a(57437),l=a(2265),r=a(92609),n=a(1406),c=a(36421),i=a(9412),d=a.n(i);let o=["국어","영어","과학","사회","수학"];function x(e){var t,a;let{grades:i,scale:x}=e,u=(0,l.useMemo)(()=>(0,r._)({student:{name:""},grades:i,mockExams:[],naesinScale:x}),[i,x]),h=u.summary.naesin,p=u.naesin,v=(null!==(t=null==p?void 0:p.columns.length)&&void 0!==t?t:0)-1,b=null==p?void 0:p.columns[v],j=(0,l.useMemo)(()=>(0,n.r7)(i),[i]),g=(0,l.useMemo)(()=>{var e,t;return null!==(t=null===(e=u.radar.naesin)||void 0===e?void 0:e.map(e=>({...e,primary:(0,n.M$)(j.filter(t=>(0,n.zl)(t.subject_type)===e.label&&(0,n.J4)(t.grade_level)).map(e=>e.grade_level))})).sort((e,t)=>o.indexOf(e.label)-o.indexOf(t.label)))&&void 0!==t?t:null},[u.radar.naesin,j]),f=j.filter(e=>"".concat(e.year,"-").concat(e.semester)===(null==b?void 0:b.key));return(0,s.jsx)("div",{className:d().workspace,children:(0,s.jsxs)("section",{className:d().summary,"aria-label":"내신 요약",children:[(0,s.jsxs)("div",{className:d().summaryContent,children:[(0,s.jsxs)("div",{className:d().summaryTitle,children:[(0,s.jsx)("h3",{children:"내신 종합 평균"}),(0,s.jsxs)("span",{className:d().meta,children:[h?"".concat(h.semesterCount,"개 학기 \xb7 "):"",x,"등급제"]})]}),(0,s.jsxs)("div",{className:d().value,children:[(0,s.jsx)("strong",{children:m(null==h?void 0:h.overall)}),(0,s.jsx)("span",{children:h?"등급":"평균 산출 불가"})]}),h&&(0,s.jsxs)("div",{className:d().latest,children:[(0,s.jsx)("span",{children:"최근 학기"}),(0,s.jsxs)("strong",{children:[h.latestValue.toFixed(1),"등급"]}),(0,s.jsx)("span",{className:d().meta,children:null==b?void 0:b.label})]})]}),(0,s.jsx)(c.L,{records:f.filter(e=>(0,n.zl)(e.subject_type)).map(e=>({subject:e.subject,gradeLevel:e.grade_level})),period:null==b?void 0:b.label,scale:x},null!==(a=null==b?void 0:b.key)&&void 0!==a?a:"empty"),(0,s.jsx)(c.Q,{axes:g,scale:x,primary:"교과별 종합 평균",secondary:"최근 학기"})]})})}let m=e=>null==e?"—":e.toFixed(1);var u=a(57617),h=a.n(u),p=a(14296),v=a(81385),b=a(56940),j=a(97059),g=a(62994),f=a(77719),k=a(26948),y=a(33245),N=a(32489),z=a(70525),w=a(3085),_=a(93448),M=a(85328);let S=e=>(0,n.ng)((0,n.yD)(e)),C=e=>{var t,a,r,c;let{grades:i,mobileView:d=!1,gradingSystem:o,chartConfig:m,studentGrade:u}=e,[C,F]=(0,l.useState)(null),[L,D]=(0,l.useState)(!1),G=C?(e=>{let t=e.total_students,a=(0,M.wK)({year:e.year,studentsCount:t,gradeRank:e.rank,achievement:e.achievement,gradeLevel:e.grade_level,rawScore:e.score,subjectAverage:e.subject_average,standardDeviation:e.standard_deviation,distA:e.distA,distB:e.distB,distC:e.distC,distD:e.distD,distE:e.distE});return t&&a?{...a,bestRank:Math.max(1,Math.floor(t*a.interMin/100)+1),worstRank:Math.min(t,Math.ceil(t*a.interMax/100)),totalStudents:t}:null})(C):null,P=(null==C?void 0:C.exam_type)==="midterm"?(0,n.FS)(C):null,R=(0,l.useMemo)(()=>(0,n.r7)(i),[i]),W=(0,l.useMemo)(()=>{let e=R.reduce((e,t)=>{var a;let s="".concat(t.year,"-").concat(t.semester);e[s]||(e[s]={total:0,count:0});let l=t.subject_type||t.subjectCategory||t.subject_category||t.category||"기타",r=null!==(a=(0,n.zl)(l))&&void 0!==a?a:"기타",c="number"==typeof t.grade_level?t.grade_level:null;return"기타"!==r&&null!==c&&c>=1&&c<=9&&(e[s].total+=c,e[s].count+=1),e},{});return["1-1","1-2","2-1","2-2","3-1"].map(t=>{let[a,s]=t.split("-"),l=e[t],r=l&&l.count>0?(l.total/l.count).toFixed(1):null;return{name:t,label:"".concat(a,"학년 ").concat(s,"학기"),shortLabel:t,average:r,isProjected:!1}})},[R]);(0,l.useMemo)(()=>Object.values(R.reduce((e,t)=>{let a=t.subject_type||"기타";e[a]||(e[a]={subject:a,total:0,count:0});let s="number"==typeof t.grade_level?t.grade_level:null;return null!==s&&s>=1&&s<=9&&(e[a].total+=s,e[a].count+=1),e},{})).map(e=>({subject:e.subject,A:e.count>0?Number((e.total/e.count).toFixed(2)):0,fullMark:9})),[R]);let B=(0,l.useMemo)(()=>{let e=R.reduce((e,t)=>{var a;let s=t.subject_type||t.subjectCategory||t.subject_category||t.category||"기타",l=null!==(a=(0,n.zl)(s))&&void 0!==a?a:"기타";e[l]||(e[l]={total:0,count:0});let r="number"==typeof t.grade_level?t.grade_level:null;return null!==r&&r>=1&&r<=9&&(e[l].total+=r,e[l].count+=1),e},{});return["국어","수학","영어","사회","과학"].map(t=>{let a=e[t];return{name:t,average:a&&a.count>0?(a.total/a.count).toFixed(1):null}})},[R]),[E,K]=(0,l.useState)("국어"),T=(0,l.useMemo)(()=>{let e=R.reduce((e,t)=>
1{var a;let s=t.subject_type||t.subjectCategory||t.subject_category||t.category||"기타";if((null!==(a=(0,n.zl)(s))&&void 0!==a?a:"기타")!==E)return e;let l="".concat(t.year,"-").concat(t.semester);e[l]||(e[l]={total:0,count:0,subjects:[]});let r="number"==typeof t.grade_level?t.grade_level:null;return null!==r&&r>=1&&r<=9&&(e[l].total+=r,e[l].count+=1,t.subject&&e[l].subjects.push(t.subject)),e},{});return["1-1","1-2","2-1","2-2","3-1"].map(t=>{let[a,s]=t.split("-"),l=e[t],r=l&&l.count>0?(l.total/l.count).toFixed(1):null,n=l&&l.subjects.length>0?Array.from(new Set(l.subjects)).join(", "):"";return{name:t,label:"".concat(a,"학년 ").concat(s,"학기"),average:r,subjects:n}})},[R,E]),A=(0,l.useMemo)(()=>{let e=i.reduce((e,t)=>{let a=t.exam_type||"final",s="".concat(t.year,"-").concat(t.semester,"-").concat(a);return e[s]||(e[s]=[]),e[s].push(t),e},{});for(let t of Object.keys(e)){if(!t.endsWith("-midterm"))continue;let a=t.replace("-midterm",""),s=e["".concat(a,"-final")];if(!s)continue;let l=new Set(s.map(e=>e.subject)),r=e[t].filter(e=>!l.has(e.subject));0===r.length?delete e[t]:e[t]=r}let t=e=>[...e].sort((e,t)=>{let a=null!==e.grade_level&&"number"==typeof e.grade_level,s=null!==t.grade_level&&"number"==typeof t.grade_level;if(a!==s)return s?1:-1;let l=e=>(0,n.vP)(e),r=l(e.subject_type||e.subjectCategory||e.subject_category||e.category),c=l(t.subject_type||t.subjectCategory||t.subject_category||t.category);if(r!==c)return r-c;let i="P"===e.achievement||"F"===e.achievement;return i!==("P"===t.achievement||"F"===t.achievement)?i?1:-1:(e.subject||"").localeCompare(t.subject||"")}),a={midterm:0,final:1};return Object.entries(e).map(e=>{let[a,s]=e;return[a,t(s)]}).sort((e,t)=>{var s,l;let[r]=e,[n]=t,[c,i,d]=r.split("-"),[o,x,m]=n.split("-"),u=Number(o)-Number(c);if(0!==u)return u;let h=Number(x)-Number(i);return 0!==h?h:(null!==(s=a[d])&&void 0!==s?s:2)-(null!==(l=a[m])&&void 0!==l?l:2)})},[i]),H=null===(t=W.filter(e=>null!==e.average).slice(-1)[0])||void 0===t?void 0:t.name;return(0,s.jsxs)("div",{className:h().surface,children:[(0,s.jsx)(x,{grades:i,scale:"5-GRADE"===o?5:9}),(0,s.jsxs)("div",{className:h().section,children:[(0,s.jsxs)("div",{className:h().sectionHeader,children:[(0,s.jsx)("h3",{className:h().heading,children:"학기별 성적 추이"}),(0,s.jsxs)("div",{className:"relative group",children:[(0,s.jsx)("button",{type:"button","aria-label":"평균 등급 계산 방법 안내",onClick:()=>D(e=>!e),className:"p-0.5 text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-300 transition-colors",children:(0,s.jsx)(y.Z,{size:14})}),L&&(0,s.jsx)("div",{className:"fixed inset-0 z-10",onClick:()=>D(!1)}),(0,s.jsx)("div",{role:"tooltip",className:(0,_.cn)("absolute top-full right-0 mt-2 w-56 z-20 rounded-lg px-3 py-2.5 text-[11px] leading-relaxed shadow-lg transition-opacity duration-150 pointer-events-none bg-white dark:bg-zinc-800 border border-zinc-200 dark:border-zinc-700 text-zinc-700 dark:text-zinc-200",L?"opacity-100 visible":"opacity-0 invisible group-hover:opacity-100 group-hover:visible group-focus-within:opacity-100 group-focus-within:visible"),children:"국어\xb7수학\xb7영어\xb7사회\xb7과학 등급의 평균이에요."})]})]}),(0,s.jsx)("div",{className:h().chartBody,children:(0,s.jsxs)("div",{className:h().chartLayout,children:[(0,s.jsx)("div",{className:h().metricList,children:W.map(e=>(0,s.jsxs)("div",{className:h().metric,"data-empty":!e.average,"data-latest":e.name===H,children:[(0,s.jsxs)("div",{className:"flex flex-col min-w-0",children:[(0,s.jsxs)("span",{className:h().desktopLabel,children:[e.label,e.name===H&&(0,s.jsx)("span",{className:h().latestTag,children:"최근"})]}),(0,s.jsx)("span",{className:h().mobileLabel,children:e.shortLabel})]}),(0,s.jsx)("span",{className:h().metricValue,children:e.average||"-"})]},e.name))}),(0,s.jsx)("div",{className:h().chart,children:(0,s.jsx)(p.h,{width:"100%",height:"100%",children:(0,s.jsxs)(v.w,{data:W,margin:{top:10,right:30,left:20,bottom:5},children:[(0,s.jsx)(b.q,{stroke:d?"var(--chart-grid)":"var(--grade-soft-rule)",strokeDasharray:d?"3 3":void 0,vertical:!1}),(0,s.jsx)(j.K,{dataKey:"name",stroke:d?"#52525b":"var(--grade-muted)",tick:{fill:d?"#71717a":"var(--grade-muted)",fontSize:12}
1,tickLine:!1,axisLine:{stroke:d?"#52525b":"var(--grade-soft-rule)",strokeWidth:1},dy:6,padding:{left:30,right:30}}),(0,s.jsx)(g.B,{domain:m.domain,reversed:!0,ticks:m.ticks,tickSize:4,stroke:d?"#52525b":"var(--grade-muted)",tick:{fill:d?"#71717a":"var(--grade-muted)",fontSize:12},tickLine:!1,axisLine:{stroke:d?"#52525b":"var(--grade-soft-rule)",strokeWidth:1},width:30}),(0,s.jsx)(f.u,{contentStyle:{backgroundColor:d?"var(--chart-tooltip-bg)":"var(--grade-paper)",border:d?"1px solid var(--chart-tooltip-border)":"1px solid var(--grade-rule)",borderRadius:"8px",fontSize:"12px"},labelStyle:{color:d?"var(--chart-tooltip-text)":"var(--grade-ink)"},itemStyle:{color:d?"var(--semester-card-rank)":"var(--grade-accent)"},formatter:e=>[e,"평균 등급"]}),(0,s.jsx)(k.x1,{type:"monotone",dataKey:"average",stroke:d?"#3b82f6":"var(--grade-accent)",strokeWidth:d?4:2,connectNulls:!0,animationDuration:500,dot:{fill:d?"var(--chart-dot-fill)":"var(--grade-paper)",stroke:d?"#3b82f6":"var(--grade-accent)",strokeWidth:2,r:d?5:4},activeDot:{r:d?7:5,fill:d?"#3b82f6":"var(--grade-accent)"}})]})})})]})})]}),(0,s.jsxs)("div",{className:h().section,children:[(0,s.jsx)("div",{className:h().sectionHeader,children:(0,s.jsxs)("div",{children:[(0,s.jsx)("h3",{className:h().heading,children:"교과별 성적 분석"}),(0,s.jsx)("p",{className:h().selectionHint,children:"교과를 선택하면 성적 추이가 바뀝니다."})]})}),(0,s.jsx)("div",{className:h().chartBody,children:(0,s.jsxs)("div",{className:h().chartLayout,children:[(0,s.jsx)("div",{className:h().metricList,role:"group","aria-label":"추이를 볼 교과 선택",children:B.map(e=>(0,s.jsxs)("button",{type:"button","aria-pressed":E===e.name,onClick:()=>K(e.name),className:h().subjectChoice,"data-empty":!e.average,children:[(0,s.jsx)("span",{className:h().subjectLabel,children:e.name}),(0,s.jsx)("span",{className:h().metricValue,children:e.average||"-"})]},e.name))}),(0,s.jsx)("div",{className:h().chart,children:(0,s.jsx)(p.h,{width:"100%",height:"100%",children:(0,s.jsxs)(v.w,{data:T,margin:{top:10,right:30,left:20,bottom:5},children:[(0,s.jsx)(b.q,{stroke:d?"var(--chart-grid)":"var(--grade-soft-rule)",strokeDasharray:d?"3 3":void 0,vertical:!1}),(0,s.jsx)(j.K,{dataKey:"name",stroke:d?"#52525b":"var(--grade-muted)",tick:{fill:d?"#71717a":"var(--grade-muted)",fontSize:12},tickLine:!1,axisLine:{stroke:d?"#52525b":"var(--grade-soft-rule)",strokeWidth:1},dy:6,padding:{left:30,right:30}}),(0,s.jsx)(g.B,{domain:m.domain,reversed:!0,ticks:m.ticks,tickSize:4,stroke:d?"#52525b":"var(--grade-muted)",tick:{fill:d?"#71717a":"var(--grade-muted)",fontSize:12},tickLine:!1,axisLine:{stroke:d?"#52525b":"var(--grade-soft-rule)",strokeWidth:1},width:30}),(0,s.jsx)(f.u,{contentStyle:{backgroundColor:d?"var(--chart-tooltip-bg)":"var(--grade-paper)",border:d?"1px solid var(--chart-tooltip-border)":"1px solid var(--grade-rule)",borderRadius:"8px",fontSize:"12px"},labelStyle:{color:d?"var(--chart-tooltip-text)":"var(--grade-ink)"},itemStyle:{color:d?"var(--semester-card-rank)":"var(--grade-accent)"},formatter:(e,t,a)=>["".concat(e,"등급"),"".concat(a.payload.subjects||E," 등급")]}),(0,s.jsx)(k.x1,{type:"monotone",dataKey:"average",stroke:d?"#3b82f6":"var(--grade-accent)",strokeWidth:d?4:2,connectNulls:!0,animationDuration:500,dot:{fill:d?"var(--chart-dot-fill)":"var(--grade-paper)",stroke:d?"#3b82f6":"var(--grade-accent)",strokeWidth:2,r:d?5:4},activeDot:{r:d?7:5,fill:d?"#3b82f6":"var(--grade-accent)"}})]},E)})})]})})]}),(0,s.jsxs)("div",{className:h().section,children:[(0,s.jsx)("div",{className:h().sectionHeader,children:(0,s.jsx)("h3",{className:h().heading,children:"학기별 상세 성적"})}),(0,s.jsx)("table",{className:h().table,children:A.map((e,t)=>{let[a,l]=e,r=a.split("-"),n=r[0],c=r[1],i=r[2]||"final",d=3!==u||"midterm"===i;return(0,s.jsxs)("tbody",{children:[(0,s.jsx)("tr",{className:h().semesterHeading,children:(0,s.jsx)("td",{colSpan:6,className:"py-2.5 md:py-3 px-3 md:px-5",children:(0,s.jsxs)("span",{children:[n,"학년 ",c,"학기","midterm"===i?" (중간고사)":""]})})}),(0,s.jsxs)("tr",{className:h().columnHeadings,children:[(0,s.jsx)("th",{scope:"col",className:"py-2 px-1.5 md:py-2.5 md:px-4 font-medium text-center",children:"과목"}),"midterm"===i?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("th",{scope:"col",className:"py-2 px-1.5 md:py-2.5 md:px-4 font-medium text-center",children:"전교 석차"}),(0,s.jsx)("th",{scope:"col",className:"py-2 px-1.5 md:py-2.5 md:px-4 font-medium text-center",children:"등급"}),(0,s.jsx)("th",{scope:"col",className:"py-2 px-1.5 md:py-2.5 md:px-4 font-medium text-center",children:"백분위(%)"})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("th",{scope:"col",className:"py-2 px-1.5 md:py-2.5 md:px-4 font-medium text-center",children:"학점"}),(0,s.jsx)("th",{scope:"col",className:"py-2 px-1.5 md:py-2.5 md:px-4 font-medium text-center",children:"등급"}),(0,s.jsx)("th",{scope:"col",className:"py-2 px-1.5 md:py-2.5 md:px-4 font-medium text-center",children:"수강자수"})]}),(0,s.jsx)("th",{scope:"col",className:"py-2 px-1.5 md:py-2.5 md:px-4 font-medium text-center",children:"원점수"}),(0,s.jsx)("th",{scope:"col",className:"py-2 px-1.5 md:py-2.5 md:px-4 font-medium text-center",children:"성취도"})]}),l.map((e,t)=>{var a,l,r,n,c,o;return(0,s.jsxs)("tr",{onClick:()=>d&&F(e),className:h().gradeRow,"data-interactive":d,children:[(0,s.jsx)("td",{className:h().subjectCell,children:e.subject}),"midterm"===i?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("td",{children:e.rank&&e.total_students?"".concat(e.rank,"/").concat(e.total_students):"-"}),(0,s.jsx)("td",{children:null!==(a=e.grade_level)&&void 0!==a?a:"-"}),(0,s.jsx)("td",{children:S(e)})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("td",{children:null!==(l=e.credits)&&void 0!==l?l:"-"}),(0,s.jsx)("td",{children:null!==(r=e.grade_level)&&void 0!==r?r:"-"}),(0,s.jsx)("td",{children:null!==(n=e.total_students)&&void 0!==n?n:"-"})]}),(0,s.jsx)("td",{children:null!==e.grade_level&&"number"==typeof e.grade_level&&"number"==typeof e.score?Number(e.score).toFixed(1):null!==(c=e.score)&&void 0!==c?c:"-"}),(0,s.jsx)("td",{children:"midterm"===i?"":null!==(o=e.achievement)&&void 0!==o?o:"-"})]},e.id)}),t<A.length-1&&(0,s.jsx)("tr",{children:(0,s.jsx)("td",{colSpan:6,className:"h-3 md:h-4"})})]},a)})})]}),C&&(0,s.jsxs)("div",{className:"fixed inset-0 z-[120] flex items-center justify-center p-4",children:[(0,s.jsx)("div",{className:"absolute inset-0 bg-zinc-950/20 backdrop-blur-[4px]",onClick:()=>F(null)}),(0,s.jsxs)("div",{className:"relative w-full max-w-[400px] bg-white/95 dar
1k:bg-zinc-900/95 backdrop-blur-xl border border-white/20 dark:border-zinc-800/50 rounded-3xl shadow-2xl overflow-hidden",children:[(0,s.jsx)("button",{"aria-label":"닫기",onClick:()=>F(null),className:"absolute top-5 right-5 p-1.5 text-zinc-300 hover:text-zinc-600 dark:hover:text-zinc-100 transition-colors z-10",children:(0,s.jsx)(N.Z,{size:20,strokeWidth:1.5})}),(0,s.jsxs)("div",{className:"p-8 pt-9 space-y-6",children:[(0,s.jsxs)("div",{className:"text-center space-y-1.5",children:[(0,s.jsx)("h3",{className:"text-lg font-black text-zinc-900 dark:text-zinc-50 tracking-tight",children:C.subject}),(0,s.jsxs)("p",{className:"text-xs font-semibold text-zinc-400 tracking-wide",children:[C.year,"학년 ",C.semester,"학기","midterm"===C.exam_type?" 중간고사":""," \xb7 ",C.credits,"학점"]})]}),"midterm"===C.exam_type&&P?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"grid grid-cols-3 gap-2.5",children:[{label:"등급",value:null!==(a=C.grade_level)&&void 0!==a?a:"-"},{label:"전교 석차",value:C.rank&&C.total_students?"".concat(C.rank,"/").concat(C.total_students):"-"},{label:"원점수",value:null!=C.score?Number(C.score).toFixed(1):"-"}].map(e=>(0,s.jsxs)("div",{className:"bg-zinc-100/80 dark:bg-zinc-800/60 rounded-xl py-3 px-3 text-center",children:[(0,s.jsx)("div",{className:"text-[11px] font-bold text-zinc-400 mb-0.5",children:e.label}),(0,s.jsx)("div",{className:"text-base font-black text-zinc-800 dark:text-zinc-200",children:e.value})]},e.label))}),(0,s.jsxs)("div",{className:"bg-zinc-100/80 dark:bg-zinc-800/60 rounded-2xl px-5 pt-4 pb-2.5",children:[(0,s.jsx)("div",{className:"relative h-5 mb-3",children:P.segments.map(e=>(0,s.jsx)("div",{className:"absolute top-0 text-center",style:{left:"".concat(e.startPct,"%"),width:"".concat(e.endPct-e.startPct,"%")},children:(0,s.jsxs)("span",{className:(0,_.cn)("text-[11px] font-bold",e.grade===P.currentGrade?"text-[#3182f6]":"text-zinc-400 dark:text-zinc-500"),children:[e.grade,"등급"]})},e.grade))}),(0,s.jsxs)("div",{className:"relative h-3.5 flex rounded-full overflow-hidden",children:[P.segments.map((e,t)=>(0,s.jsx)("div",{className:(0,_.cn)("h-full transition-all duration-500",e.grade===P.currentGrade?"bg-[#3182f6]/25 dark:bg-[#3182f6]/30":t%2==0?"bg-zinc-200 dark:bg-zinc-700/60":"bg-zinc-300/80 dark:bg-zinc-600/40"),style:{width:"".concat(e.endPct-e.startPct,"%")}},e.grade)),(0,s.jsx)("div",{className:"absolute top-0 bottom-0 -translate-x-1/2 z-10 transition-all duration-700",style:{left:"".concat(100*P.studentPosition,"%")},children:(0,s.jsx)("div",{className:"w-[3px] h-full bg-[#3182f6] rounded-full shadow-sm"})})]}),(0,s.jsx)("div",{className:"relative mt-2",style:{height:"28px"},children:P.segments.filter(e=>e.grade===P.currentGrade).map(e=>(0,s.jsxs)("div",{className:"absolute top-0 text-center flex flex-col leading-tight",style:{left:"".concat(e.startPct,"%"),width:"".concat(e.endPct-e.startPct,"%")},children:[(0,s.jsxs)("span",{className:"text-[11px] text-zinc-500 dark:text-zinc-400",children:[e.rankStart,"등~",e.rankEnd,"등"]}),(0,s.jsxs)("span",{className:"text-[11px] text-zinc-400 dark:text-zinc-500",children:["(",e.count,"명)"]})]},"rank-".concat(e.grade)))})]}),(0,s.jsxs)("div",{className:"space-y-2.5 pt-1",children:[null!==P.ranksToUp&&null!==P.upGrade&&(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(z.Z,{className:"w-4 h-4 text-blue-500 shrink-0"}),(0,s.jsxs)("p",{className:"text-[13px] text-zinc-600 dark:text-zinc-400 leading-relaxed",children:[(0,s.jsxs)("span",{className:"font-bold text-zinc-800 dark:text-zinc-200",children:[Math.max(P.ranksToUp,1),"등"]}),"을 올리면 ",(0,s.jsxs)("span",{className:"font-bold text-blue-600 dark:text-blue-400",children:[P.upGrade,"등급"]}),"이 됩니다."]})]}),null!==P.ranksToDown&&null!==P.downGrade&&(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(w.Z,{className:"w-4 h-4 text-red-500 shrink-0"}),(0,s.jsxs)("p",{className:"text-[13px] text-zinc-600 dark:text-zinc-400 leading-relaxed",children:[(0,s.jsxs)("span",{className:"font-bold text-zinc-800 dark:text-zinc-200",children:[Math.max(P.ranksToDown,1),"등"]}),"이 떨어지면 ",(0,s.jsxs)("span",{className:"font-bold text-red-500 dark:text-red-400",children:[P.downGrade,"등급"]}),"이 됩니다."]})]})]})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"grid grid-cols-3 gap-2.5",children:[{label:"등급",value:null!==(r=C.grade_level)&&void 0!==r?r:"-"},{label:"성취도",value:null!==(c=C.achievement)&&void 0!==c?c:"-"},{label:"수강자수",value:C.total_students?"".concat(C.total_students,"명"):"-"}].map(e=>(0,s.jsxs)("div",{className:"bg-zinc-100/80 dark:bg-zinc-800/60 rounded-xl py-3 px-3 text-center",children:[(0,s.jsx)("div",{className:"text-[11px] font-bold text-zinc-400 mb-0.5",children:e.label}),(0,s.jsx)("div",{className:"text-base font-black text-zinc-800 dark:text-zinc-200",children:e.value})]},e.label))}),G&&(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsxs)("div",{className:"space-y-3.5 bg-zinc-100/80 dark:bg-zinc-800/60 rounded-2xl p-5",children:[G.hasGradeLevel&&(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("span",{className:"text-[12px] font-medium text-zinc-500 dark:text-zinc-400",children:[C.grade_level,"등급"]}),(0,s.jsxs)("span",{className:"text-[12px] font-medium text-zinc-500 dark:text-zinc-400",children:["상위 ",G.gradeMin,"~",G.gradeMax,"%"]})]}),(0,s.jsxs)("div",{className:"relative h-2.5 bg-zinc-200 dark:bg-zinc-700/60 rounded-full overflow-hidden",children:[G.gradeBoundaries.filter(e=>e<G.gradeMin-.5||e>G.gradeMax+.5).map(e=>(0,s.jsx)("div",{className:"absolute h-full w-[1px] bg-white/60 dark:bg-zinc-800/40 z-10",style:{left:"".concat(e,"%")}},"grade-tick-".concat(e))),(0,s.jsx)("div",{className:"absolute h-full rounded-full transition-all duration-700",style:{left:"".concat(G.gradeMin,"%"),width:"".concat(G.gradeMax-G.gradeMin,"%"),backgroundColor:"#3182f6"}})]})]}),G.hasDistribution&&(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("span",{className:"text-[12px] font-medium text-zinc-500 dark:text-zinc-400",children:["성취도 ",C.achievement]}),(0,s.jsxs)("span",{className:"text-[12px] font-medium text-zinc-500 dark:text-zinc-400",children:["상위 ",G.achMin.toFixed(1),"~",G.achMax.toFixed(1),"%"]})]}),(0,s.jsxs)("div",{className:"relative h-2.5 bg-zinc-200 dark:bg-zinc-700/60 rounded-full overflow-hidden",children:[G.achBoundaries.filter(e=>e<G.achMin-.5||e>G.achMax+.5).map(e=>(0,s.jsx)("div",{className:"absolute h-full w-[1px] bg-white/60 dark:bg-zinc-800/40 z-10",style:{left:"".concat(e,"%")}},"ach-tick-".concat(e))),(0,s.jsx)("div",{className:"absolute h-full rounded-full transition-all duration-700",style:{left:"".concat(G.achMin,"%"),width:"".concat(Math.max(G.achMax-G.achMin,.5),"%"),backgroundColor:"#3182f6"}})]})]}),G.hasGradeLevel&&G.hasDistribution&&(0,s.jsx)(s.Fragment,{children:(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)("span",{className:"text-[12px] font-black text-zinc-900 dark:text-zinc-100",children:"상세 백분위"}),(0,s.jsxs)("span",{className:"text-[12px] font-black text-zinc-900 dark:text-zinc-100",children:["상위 ",G.interMin.toFixed(1),"~",G.interMax.toFixed(1),"%"]})]}),(0,s.jsx)("div",{className:"relative h-2.5 bg-zinc-200 dark:bg-zinc-700/60 rounded-full overflow-hidden",children:(0,s.jsx)("div",{className:"absolute h-full rounded-full transition-all duration-700",style:{left:"".concat(G.interMin,"%"),width:"".concat(Math.max(G.interMax-G.interMin,.5),"%"),backgroundColor:"#3182f6"}})})]})})]}),(0,s.jsx)("div",{className:"space-y-2.5 pt-1",children:[{label:"추정 학교 석차 범위",value:G.bestRank===G.worstRank?"".concat(G.bestRank,"등"):"".concat(G.bestRank,"~").concat(G.worstRank,"등")},{label:"추정 상세 등급",value:"".concat(G.estimatedGrade5.toFixed(1),"등급")},{label:"추정 상세 등급(9등급 환산)",value:"".concat(G.estimatedGrade9.toFixed(1),"등급")}].map(e=>(0,s.jsxs)("div",{className:"flex items-center justify-between py-0.5",children:[(0,s.jsx)("span",{className:"text-[12px] font-medium text-zinc-400",children:e.label}),(0,s.jsx)("span",{className:"text-[13px] font-black text-zinc-900 dark:text-zinc-100",children:e.value})]},e.label))})]})]})]})]})]})]})};var F=C}}]);

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.