import{Y as p,k as O}from"./entry.c9f82b57.js";const x=()=>{const o=O(),m=e=>{const n=e[0].split("-");let s=parseInt(n[0]),r=parseInt(n[1]);return e.forEach(t=>{const i=t.split("-");parseInt(i[0])<s&&(s=parseInt(i[0])),parseInt(i[1])>r&&(r=parseInt(i[1]))}),{min:s,max:r}},f=(e,n)=>{const s=e.split("-"),r=n.split("-"),t=parseInt(s[0]),i=parseInt(r[0]);return t-i},g=e=>{if(e!==null&&e.enable){const n=[{name:"All",checked:!0,id:"all"}];return e.ages.sort(f).forEach((r,t)=>{n.push({name:r,checked:!1,id:t})}),{filterName:e.name,id:"ages",options:n,sortOrder:e.sortOrder}}return null},h=async()=>{const e="/api/genres";return o.public.nuxtEnvironment==="production"?await p(e,{method:"GET",baseURL:o.public.nuxtAPIUrl,transform:n=>n.data.map(r=>({id:r.id,...r.attributes}))},"$5lp8KtMBSn"):await p(e,{method:"GET",transform:n=>n.data.map(r=>({id:r.id,...r.attributes}))},"$74blLquHig")},l=[{typeID:295e3,typeString:"Coding",sortOrder:1},{typeID:295002,typeString:"Game Dev",sortOrder:2},{typeID:295001,typeString:"Robotics",sortOrder:3},{typeID:295003,typeString:"Creative",sortOrder:4},{typeID:295006,typeString:"Math",sortOrder:5},{typeID:295008,typeString:"Business",sortOrder:8}],c=e=>l.find(n=>n.typeID==e),d=(e,n)=>n.filter(r=>e.find(t=>c(t).typeString==r)),u=(e,n)=>n.filter(r=>e.find(t=>t==r)),A=e=>{if(e!==null&&e.enable){const n=new Map(l.map(t=>[t.typeID,t.sortOrder])),s=[{name:"All",checked:!0,id:"all"}];return e.interests=e.interests.map(t=>Number(t)),e.interests.sort((t,i)=>n.get(t)-n.get(i)),e.interests.forEach(t=>{const i=l.find(a=>a.typeID==t).typeString;s.push({name:i,checked:!1,id:t})}),{filterName:e.name,id:"interests",options:s,sortOrder:e.sortOrder}}return null},I=[{id:22,name:"iD Teen Academies"},{id:25,name:"iD Tech Camps"},{id:41,name:"Private Lessons"},{id:42,name:"Virtual Camps"},{id:44,name:"Teen Academies"}];return{ageRange:m,buildAgeFilter:g,getGenres:h,buildInterestFilter:A,buildProgramsFilter:e=>{if(e!==null&&e.enable){const n=[{name:"All",checked:!0,id:"all"}],s=e.programs.slice();return s.sort((t,i)=>t==="25"&&i==="22"?-1:t==="22"&&i==="25"?1:0),s.forEach(t=>{const i=I.find(a=>a.id==t).name;n.push({name:i,checked:!1,id:t})}),{filterName:e.name,id:"programs",options:n,sortOrder:e.sortOrder}}return null},buildSkillLevelFilter:e=>{const n=[{id:51,name:"Beginner"},{id:52,name:"Intermediate"},{id:53,name:"Advanced"}];if(e!==null&&e.enable){const s=[{name:"All",checked:!0,id:"all"}];return e.skillLevels.forEach(t=>{const i=n.find(a=>a.id==t).name;s.push({name:i,checked:!1,id:t})}),{filterName:e.name,id:"skillLevel",options:s,sortOrder:5}}return null},buildOnlineProgramsFilter:e=>{const n=[{id:41,name:"Private Lessons"},{id:42,name:"Virtual Camps"},{id:44,name:"Teen Academies"}];if(e!==null&&e.enable){const s=[{name:"All",checked:!0,id:"all"}];return e.programs.forEach(t=>{const i=n.find(a=>a.id==t).name;s.push({name:i,checked:!1,id:t})}),{filterName:e.name,id:"programs",options:s,sortOrder:e.sortOrder}}return null},validateInterestSelection:d,validateAgeSelection:u,validateSelection:(e,n,s,r)=>{const t={courseType:s,location:s==="on-campus"?r.location:"",ages:["All"],interests:["All"],programs:[],skillLevel:["All"]};if(e){if(e.interestsFilter!==null&&(t.interests=d(e.interestsFilter.interests,n.interests)),e.ageFilter!==null&&(t.ages=u(e.ageFilter.ages,n.ages)),n.interests.includes("All"))t.interests=["All"];else{const i=t.interests.includes("All")?n.interests:n.interests.filter(a=>t.interests.includes(a));t.interests=i}if(n.ages.includes("All"))t.ages=["All"];else{const i=t.ages.includes("All")?n.ages:n.ages.filter(a=>t.ages.includes(a));t.ages=i}if(r.programs.length>1||r.programs.length==1&&r.programs[0]!=="All"){const i=r.programs.filter(a=>!t.programs.includes(a));i.length>0?t.programs=i:t.programs=["All"]}}return t.ages.length==0&&(t.ages=["All"]),t.interests.length==0&&(t.interests=["All"]),t.programs.length==0&&(t.programs=["All"]),t},extractGenres:e=>{const n=e.split(","),s=[];return n.forEach(r=>{const t=parseInt(r);if(t>0){const i=c(t).typeString;s.push(i)}}),s},extractPrograms:e=>{const n=e.split(","),s=[];return n.forEach(r=>{r==="twoWeek"?s.push("Teen Academies"):r==="weekLong"?s.push("Tech Camps"):r==="private"&&s.push("Private Lessons")}),s.length==0&&s.push("All"),s},extractLearningStyles:e=>{const n=e.split(","),s=[];return n.length>1?s.push("All"):n.forEach(r=>{parseInt(r)===405e3?s.push("On-Campus"):(parseInt(r)===405001||parseInt(r)===405003)&&s.push("Online")}),s}}};export{x as u};
