1import{r as n}from"./index-928ed2fb.js";import{u as F}from"./salary-calculator-7dd26990.js";import _ from"./salary-calculator-select.component-79e9db8c.js";import{I as k}from"./Icons-bdcb99f3.js";import{j as t,a as e,F as o}from"./react-component-loader-04e4e7ad.js";import"./_commonjsHelpers-725317a4.js";import"./entry-client-7e4bd37e.js";const P=({sectors:d,seniorityGroups:u,resources:l})=>{var v,b;const i=F(),[a,L]=n.useState({salary:null,sectorSelected:d.length>0?Number(d[2].value):null,seniorityGroupSelected:u.length>0?u[0].value:null}),[c,m]=n.useState(null),[g,y]=n.useState(null),[f,h]=n.useState(!1),S=n.useMemo(()=>a.sectorSelected!==null&&a.seniorityGroupSelected!==null,[a.sectorSelected,a.seniorityGroupSelected]),p=n.useCallback((r,s)=>{L(C=>({...C,[r]:s}))},[]),N=n.useCallback(async()=>{if(!(a.sectorSelected===null||a.seniorityGroupSelected===null)){h(!0);try{const r=await fetch("/api/salary/getaveragesalary",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sectorSelected:a.sectorSelected,selectedSeniorityGroup:a.seniorityGroupSelected})});if(r.ok){const s=await r.json();m(s.value??null),y(s.memberCount??null)}else throw new Error("Failed to fetch average salary")}catch(r){console.error("Error fetching average salary:",r),m(null),y(null)}finally{h(!1)}}},[a.sectorSelected,a.seniorityGroupSelected]);return n.useEffect(()=>{S?N():(m(null),y(null),h(!1))},[S,N]),t("div",{className:"salary-calculator salary-calculator--simple",children:[t("div",{className:"salary-calculator__main",children:[t("div",{className:"salary-calculator__top",children:[e("h2",{className:"salary-calculator__heading",children:l.heading}),e("p",{className:"ingress ingress--small",children:l.intro})]}),t("form",{className:"salary-calculator__form",autoComplete:"off",children:[t("div",{className:"salary-calculator__field",children:[e("label",{htmlFor:"salary",children:l.salaryLabel}),e("input",{id:"salary",type:"number",value:a.salary??"",placeholder:l.salaryPlaceholder,onChange:r=>{const s=r.target.value;p("salary",s===""?null:Number(s))},required:!0,min:0})]}),t("div",{className:"salary-calculator__field",children:[e("label",{htmlFor:"sectorSelected",children:l.agreementAreaLabel}),e(_,{id:"sectorSelected",value:((v=a.sectorSelected)==null?void 0:v.toString())??"",onChange:r=>p("sectorSelected",r?Number(r):null),options:d,required:!0})]}),t("div",{className:"salary-calculator__field",children:[e("label",{htmlFor:"seniorityGroupSelected",children:l.yearsOfPracticeLabel}),e(_,{id:"seniorityGroupSelected",value:((b=a.seniorityGroupSelected)==null?void 0:b.toString())??"",onChange:r=>p("seniorityGroupSelected",r?String(r):null),options:u,required:!0})]})]})]}),e("div",{className:"salary-calculator__summary",children:t("div",{className:"salary-calculator__summary-main","aria-live":"polite",children:[e("img",{"aria-hidden":"true",src:"/Snippets/lonnskalkulator.png",alt:"",className:"salary-calculator__summary-illustration"}),S?t(o,{children:[e("h3",{className:"sr-only",children:l.resultHeading}),t("dl",{className:"salary-calculator__details",children:[e("dt",{children:l.yourSalaryLabel}),e("dd",{children:a.salary?`${Number(a.salary).toLocaleString(i)} kr`:"-"}),e("dt",{className:"hyphenate",children:l.averageLabel}),e("dd",{children:f?e(k,{type:"Dots"}):t(o,{children:[c?`${Number(c).toLocaleString(i)} kr`:"-",g!==null&&e("small",{children:l.basedOnPeople.replace("{0}",Number(g).toLocaleString(i))})]})})]}),e("div",{className:"salary-calculator__summary-text",children:!f&&a.salary&&c!==null&&t(o,{children:[Number(a.salary)===c&&e("p",{children:l.salaryEqualAverage}),Number(a.salary)>c&&e("p",{children:l.salaryAboveAverage.replace("{0}",(Number(a.salary)-c).toLocaleString(i))}),Number(a.salary)<c&&e("p",{children:l.salaryBelowAverage.replace("{0}",(c-Number(a.salary)).toLocaleString(i))})]})})]}):t(o,{children:[t("dl",{className:"salary-calculator__details",children:[e("dt",{children:l.yourSalaryLabel}),e("dd",{children:"0 kr"}),e("dt",{className:"hyphenate",children:l.averageLabel}),e("dd",{children:"0 kr"})]}),e("div",{className:"salary-calculator__summary-text",children:e("p",{children:l.fillFormToSeeResult})})]})]})})]})};export{P 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.