1import U from"./BOSFYBuH.js";import{d as Q,u as W,K as Z,s as ee,a as se,k as te,J as L,c,b as t,t as l,g as a,e as r,w as u,C as ae,G as h,F as V,p as j,j as d,L as oe,m as N,o as i,M as ne,T as le,N as re,y as ie,O as ce,i as ue,h as q}from"./CDYWEbfH.js";import{_ as de}from"./DlAt2M3f.js";import{_ as me}from"./DyFIsc0t.js";import{u as pe}from"./xdm_AurU.js";import{u as fe}from"./Qv-BcDsG.js";import{u as he}from"./C2UBTd9a.js";import"./DlAUqK2U.js";const _e={class:"border-gray-200 px-4 py-5 sm:px-6 flex-1"},ye={class:"mb-6 flex items-center justify-between gap-4"},xe={class:"flex items-center gap-2"},ge={class:"relative"},ve={class:"col-start-1 row-start-1 truncate pr-6"},be={class:"flex items-center gap-1"},we={class:"mt-8 border-t border-gray-900/10 pt-12"},Se={key:0,class:"min-h-[360px]"},ke={key:1,class:"py-10 text-center text-[20pt] font-myblee-grammatika font-bold text-myblee-system-blue"},Ye={key:2,role:"list",class:"divide-y divide-gray-100 overflow-hidden bg-white shadow-sm ring-1 ring-gray-900/5 sm:rounded-xl"},$e={class:"min-w-0 flex-auto"},Le={class:"text-sm font-semibold leading-6 text-gray-900"},Ne={class:"mt-1 flex text-xs leading-5 text-gray-500"},Ae={class:"relative truncate"},Fe={class:"mt-1 flex text-xs leading-5 text-gray-500"},Ge={class:"relative truncate"},Ie={class:"flex shrink-0 items-center gap-x-2 text-sm font-medium text-gray-600"},Me=Q({__name:"index",setup(Ee){const{t:v,te:A}=W(),_=Z(),b=ee(),z=pe(),w=fe();se({title:"Classes"});const{schoolYears:F,selectedSchoolYear:o}=he({stateKey:"admins-school-classes-filters"}),S=N(!0),y=N(!1),f=N([]),x=d(()=>String(_.params.schoolId??g.value??"")),G=d(()=>_.path.includes(`/admins/school/${x.value}/classes/comparison`)),B=d(()=>!G.value),K=d(()=>b({path:`/admins/school/${x.value}/classes`,query:{schoolYear:String(o.value)}})),k=d(()=>{if(_.query.schoolYear===void 0)return null;const e=Number(_.query.schoolYear);return F.value.includes(e)?e:null}),M=d(()=>b({path:`/admins/school/${x.value}/classes/comparison`,query:{schoolYear:String(o.value)}})),g=d(()=>{const e=w.admin;return e?e.school?e.school.id:e.accessType==="school_group"&&w.selectedAdminSchool?w.selectedAdminSchool.id:null:null}),R=d(()=>A("pages.admins.class.classYearFilter")?v("pages.admins.class.classYearFilter"):v("pages.admins.school.schoolYearFilter")),I=e=>e||"-",C=(e,s)=>{if(!e)return"-";if(!s)return I(e);const p=`types.schoolPrograms.${s.toLowerCase()}.schoolGrades.${e}.name`;return A(p)?v(p):I(e)},E=e=>{if(!e||e==="-")return Number.MAX_SAFE_INTEGER;if(e==="kindergarten")return 0;if(e==="multi_grades")return 1;if(e==="ulis")return 2;const s=e.match(/^grade_(\d+)$/);return s?3+Number(s[1]):Number.MAX_SAFE_INTEGER},D=e=>{const s=e??o.value;return`${s}-${String((s+1)%100).padStart(2,"0")}`},Y=async()=>{if(!g.value){f.value=[],y.value=!0;return}S.value=!0,y.value=!1;try{const e=await z.useAuth$Fetch(`/schools/${g.value}/classes?school_year=${o.value}`);f.value=e.map(s=>({id:s.id,name:s.name,rawGrade:s.schoolGrade,grade:C(s.schoolGrade,s.schoolProgram),schoolYear:D(s.schoolYear)})).sort((s,m)=>{const p=E(s.rawGrade)-E(m.rawGrade);return p!==0?p:s.name.localeCompare(m.name)})}catch(e){console.error("[admins/school/classes] Failed to fetch classes:",e),f.value=[]}finally{S.value=!1,y.value=!0}};return te(()=>{k.value!==null&&(o.value=k.value),Y()}),L(o,()=>{Y()}),L(k,e=>{e!==null&&e!==o.value&&(o.value=e)}),L(g,()=>{Y()}),(e,s)=>{const m=U,p=ne,O=ce,P=re,X=oe,$=de,J=me;return i(),c("div",_e,[t("div",ye,[t("div",xe,[t("span",null,l(a(R)),1),t("div",null,[r(X,{modelValue:a(o),"onUpdate:modelValue":s[0]||(s[0]=n=>ae(o)?o.value=n:null),as:"div"},{default:u(()=>[t("div",ge,[r(p,{class:"grid w-full cursor-default grid-cols-1 min-w-[150px] rounded-md bg-white py-1.5 pl-3 pr-2 text-left text-gray-900 outline outline-1 -outline-offset-1 outline-gray-300 focus:outline focus:outline-2 focus:-outline-offset-2 focus:outline-myblee-blue sm:text-sm/6"},{default:u(()=>[t("span",ve,l(a(o))+"-"+l(String((a(o)+1)%100).padStart(2,"0")),1),r(m,{name:"heroicons:chevron-up-down",class:"col-start-1 row-start-1 size-5 self-center justify-self-end text-gray-500 sm:size-4","aria-hidden":"true"})]),_:1}),r(le,{"leave-active-class":"transition ease-in duration-100","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:u(()=>[r(P,{class:"absolute z-10 mt-1 max-h-40 w-full overflow-auto rounded-md bg-white py-1 text-base shadow-lg ring-1 ring-black/5 focus:outline-none sm:text-sm"},{default:u(()=>
1[(i(!0),c(V,null,j(a(F),n=>(i(),ie(O,{key:n,value:n,as:"template"},{default:u(({active:H,selected:T})=>[t("li",{class:h([H?"bg-myblee-system-blue text-white outline-none":"text-gray-900","relative cursor-default select-none py-2 pl-3 pr-9"])},[t("span",{class:h([T?"font-semibold":"font-normal","block truncate"])},l(n)+"-"+l(String((n+1)%100).padStart(2,"0")),3),T?(i(),c("span",{key:0,class:h([H?"text-white":"text-myblee-blue","absolute inset-y-0 right-0 flex items-center pr-4"])},[r(m,{name:"heroicons:check",class:"size-5","aria-hidden":"true"})],2)):ue("",!0)],2)]),_:2},1032,["value"]))),128))]),_:1})]),_:1})])]),_:1},8,["modelValue"])])]),t("div",be,[r($,{to:a(K),class:h(["text-sm/6 rounded-md px-3 py-2 hover:bg-slate-100",a(B)?"font-bold text-myblee-system-blue":"font-normal text-gray-600 hover:text-myblee-system-blue"])},{default:u(()=>[q(l(e.$t("pages.admins.class.classesList")),1)]),_:1},8,["to","class"]),r($,{to:a(M),class:h(["text-sm/6 rounded-md px-3 py-2 hover:bg-slate-100",a(G)?"font-bold text-myblee-system-blue":"font-normal text-gray-600 hover:text-myblee-system-blue"])},{default:u(()=>[q(l(e.$t("pages.admins.class.classesComparison")),1)]),_:1},8,["to","class"])])]),t("div",we,[a(S)||!a(y)?(i(),c("div",Se,[r(J,{class:"my-16 flex items-center justify-center"})])):a(f).length===0?(i(),c("div",ke,l(e.$t("pages.admins.school.noMyBleeData")),1)):(i(),c("ul",Ye,[(i(!0),c(V,null,j(a(f),n=>(i(),c("li",{key:n.id,class:"relative flex justify-between gap-x-6 px-4 py-5 hover:bg-gray-50 sm:px-6"},[r($,{to:a(b)({path:`/admins/school/${a(x)}/classes/${n.id}`,query:{schoolYear:String(a(o)),className:n.name}}),class:"flex min-w-0 w-full text-left"},{default:u(()=>[s[1]||(s[1]=t("span",{class:"absolute inset-x-0 -top-px bottom-0"},null,-1)),t("div",$e,[t("p",Le,l(n.name),1),t("p",Ne,[t("span",Ae,l(n.grade),1)]),t("p",Fe,[t("span",Ge,l(n.schoolYear),1)])])]),_:2},1032,["to"]),t("div",Ie,[t("span",null,l(e.$t("pages.admins.view")),1),r(m,{name:"heroicons:chevron-right",class:"h-5 w-5 flex-none text-gray-400","aria-hidden":"true"})])]))),128))]))])])}}});export{Me 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.