1import{i as ue,a as ee,_ as me,u as te,b as pe}from"./CY0Of_68.js";import{l as ie,d as P,m as c,q as ne,A as oe,P as ve,N as o,Q as e,X as v,a1 as ge,u as t,O as F,W as se,J as i,U as k,v as le,a8 as ae,o as he,I as U,V as r,G as B,R as I,M as W,L}from"./CtHp9nH7.js";import{u as _e,c as fe,_ as be,a as ke}from"#entry";import{u as ye}from"./UGPP7vkP.js";import{u as we}from"./ND0Ytbch.js";import{u as xe}from"./BKtpDKlz.js";const $e={class:"case-parallax-wrap"},Ce=["aria-label"],Se={key:0,class:"case-site-toggle",role:"group","aria-label":"Välj skärmbild"},Me=["aria-pressed"],Be=["aria-pressed"],Ie=ie({__name:"CaseParallax",props:{title:{},image:{},mobileImage:{default:""}},setup(K){const d=K,u=P("desktop"),y=c(()=>!!(d.image&&d.mobileImage)),H=c(()=>u.value==="mobile"&&d.mobileImage?d.mobileImage:d.image),R=c(()=>{const m=H.value;return ue(m)?{"--bg-webp":`url(${ee(m,2400,"webp")})`,"--bg-avif":`url(${ee(m,2400,"avif")})`}:{"--bg-webp":`url(${m})`,"--bg-avif":`url(${m})`}}),T=c(()=>u.value==="mobile"?`Mobilvy från ${d.title}`:`Skärmbild från ${d.title}`),_=P(null);let C=!1;const V=()=>typeof window<"u"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches,S=()=>u.value==="mobile"?.4:.3,s=()=>{C=!1;const m=_.value;if(!m||V()){m?.style.setProperty("--parallax","0px");return}const g=window.innerHeight||0,h=m.getBoundingClientRect();if(h.bottom<-g||h.top>g*2)return;const A=h.top+h.height/2-g/2;m.style.setProperty("--parallax",`${Math.round(-A*S())}px`)},w=()=>{C||(C=!0,window.requestAnimationFrame(s))};return ne(u,async()=>{await le(),_.value?.style.setProperty("--parallax","0px"),s()}),oe(()=>{!_.value||V()||(s(),window.addEventListener("scroll",w,{passive:!0}),window.addEventListener("resize",w))}),ve(()=>{window.removeEventListener("scroll",w),window.removeEventListener("resize",w)}),(m,g)=>(i(),o("div",$e,[e("div",{ref_key:"panel",ref:_,class:F(["case-parallax",t(u)==="mobile"?"is-mobile":"is-desktop"]),role:"img","aria-label":t(T),style:ge(t(R))},null,14,Ce),t(y)?(i(),o("div",Se,[e("button",{type:"button",class:F({"is-active":t(u)==="desktop"}),"aria-pressed":t(u)==="desktop",onClick:g[0]||(g[0]=h=>u.value="desktop")},[se(m.$slots,"desktop",{},()=>[g[2]||(g[2]=k("Desktop",-1))])],10,Me),e("button",{type:"button",class:F({"is-active":t(u)==="mobile"}),"aria-pressed":t(u)==="mobile",onClick:g[1]||(g[1]=h=>u.value="mobile")},[se(m.$slots,"mobile",{},()=>[g[3]||(g[3]=k("Mobil",-1))])],10,Be)])):v("",!0)]))}}),Le={key:0,class:"studio"},Pe={class:"case-cover"},Ve={class:"case-cover-media"},Ae={class:"case-cover-copy"},Ne={class:"container"},Ee={class:"case-cover-copy-inner"},ze={class:"case-cover-h1"},Fe={key:0,class:"case-cover-lead"},He={key:1,class:"case-cover-chips"},Re=["href"],Te={class:"section"},qe={class:"container article-grid"},De=["innerHTML"],je={key:0,class:"statement"},Oe={class:"container"},Ue={key:0},We={class:"checks"},Ke={key:1,class:"section"},Ge={class:"container"},Je={class:"sys-timeline"},Qe={key:2,class:"section site-view"},Xe={class:"container site-view-head"},Ye=["href"],Ze={key:3,class:"section"},et={class:"container"},tt={class:"feature"},st={class:"sheet"},at={class:"quiet-card rows"},it={id:"nasta",class:"section"},nt={class:"container offer-close"},ot={class:"offer-lead"},lt={key:4,class:"section case-more","aria-label":"Fler case"},rt={class:"container case-more-head"},ct={class:"case-more-tools"},dt={class:"case-rail-btns"},ut=["disabled"],mt=["disabled"],pt={class:"case-rail-copy"},vt={key:0},yt=ie({__name:"[id]",async setup(K){let d,u;const y=_e(),{fetchCase:H,fetchCases:R,caseHeroImage:T,caseSiteImage:_,caseSiteMobileImage:C}=pe(),{excerptFrom:V,asList:S}=we(),{data:s}=([d,u]=ae(()=>te(()=>`case-${y.params.id}`,()=>H(String(y.params.id)),{watch:[()=>y.params.id]})),d=await d,u(),d);if(!s.value)throw fe({statusCode:404,statusMessage:"Case hittades inte",fatal:!0});const{data:w}=([d,u]=ae(()=>te("cases-more",()=>R(1,50))),d=await d,u(),d),m=["hantverksparken","torvalla-bil","batagent","pirtec","bilkompaniet","forenade-bil","yamaha-center","klara-consulting","assistansporten"],g=c(()=>S(s.value?.technologies)),h=c(()=>S(s.value?.results)),x=c(()=>({heading:s.value?.recognition?.heading||"När verksamheten växer ur sina verktyg.",text:s.value?.recognition?.text||"",items:S(s.value?.recognition?.items)})),A=c(()=>({heading:s.value?.cta?.heading||"Har ni delar som borde hänga ihop?",text:s.value?.cta?.text||"Vi tittar på era flöden och visar vilka delar som är värda att samla, förenkla eller automatisera."})),N=c(()=>{const l=s.value?.parts;return Array.isArray(l)?l.filter(a=>a?.title&&a?.text):[]}),G=c(()=>({desktop:s.value?.views?.desktop||"Desktop",mobile:s.value?.views?.mobile||"Mobil"})),E=c(()=>T(s.value?.images)),q=c(()=>_(s.value?.images)),re=c(()=>C(s.value?.images)),J=c(()=>
1[ce.value,...g.value.slice(0,3)].filter(Boolean)),ce=c(()=>{if(s.value?.since)return s.value.since;const l=(s.value?.date||"").slice(0,4);return l?`I drift sedan ${l}`:""}),D=c(()=>{const l=w.value?.data,a=Array.isArray(l)?l:[],M=String(s.value?.id),$=p=>{const b=m.indexOf(p);return b===-1?m.length:b};return a.filter(p=>String(p.id)!==M).map(p=>({id:String(p.id),title:p.client||p.title,excerpt:p.excerpt||"",image:_(p.images)})).sort((p,b)=>$(p.id)-$(b.id))}),f=P(null),Q=P(!1),X=P(!1);let j=null;const z=()=>{const l=f.value;l&&(Q.value=l.scrollLeft>4,X.value=l.scrollLeft+l.clientWidth<l.scrollWidth-4)},Y=l=>{const a=f.value;if(!a)return;const $=(a.querySelector(".case-rail-card")?.offsetWidth||340)+16,p=window.matchMedia("(prefers-reduced-motion: reduce)").matches;a.scrollBy({left:l*$,behavior:p?"auto":"smooth"})};oe(()=>{z(),f.value&&(j=new ResizeObserver(z),j.observe(f.value))}),he(()=>j?.disconnect()),ne(D,()=>le(()=>{f.value&&(f.value.scrollLeft=0),z()}));const de=c(()=>s.value?.excerpt||V(s.value?.content||"",155)),Z=`/case/${s.value.id||y.params.id}`;return ye({title:s.value.title,description:de.value,path:Z,kind:"article",image:E.value||void 0,datePublished:s.value.date||void 0,crumbs:[{name:"Hem",path:"/"},{name:"Case",path:"/case"},{name:s.value.title,path:Z}]}),xe(),(l,a)=>{const M=me,$=Ie,p=be,b=ke;return t(s)?(i(),o("div",Le,[e("section",Pe,[e("div",Ve,[t(E)?(i(),U(M,{key:0,src:t(E),alt:`Bild från ${t(s).title}`,sizes:"(min-width: 1024px) 50vw, 100vw",max:1600,loading:"eager",fetchpriority:"high"},null,8,["src","alt"])):v("",!0)]),e("div",Ae,[e("div",Ne,[e("div",Ee,[a[2]||(a[2]=e("span",{class:"label-dark"},"Case",-1)),e("h1",ze,r(t(s).title),1),t(s).excerpt?(i(),o("p",Fe,r(t(s).excerpt),1)):v("",!0),t(J).length?(i(),o("div",He,[(i(!0),o(B,null,I(t(J),n=>(i(),o("span",{key:n,class:"case-cover-chip"},r(n),1))),128))])):v("",!0),t(s).url?(i(),o("a",{key:2,href:t(s).url,class:"btn-on-dark",rel:"noopener noreferrer"},"Besök sajten",8,Re)):v("",!0)])])])]),e("section",Te,[e("div",qe,[a[4]||(a[4]=e("p",{class:"num","aria-hidden":"true"},"01",-1)),e("div",null,[a[3]||(a[3]=e("h2",{class:"article-label"},"Uppdraget",-1)),e("div",{class:"article",innerHTML:t(s).content},null,8,De)])])]),t(x).items.length?(i(),o("section",je,[e("div",Oe,[e("div",null,[e("h2",null,[a[5]||(a[5]=k("Känner ni igen er?",-1)),e("span",null,r(t(x).heading),1)]),t(x).text?(i(),o("p",Ue,r(t(x).text),1)):v("",!0)]),e("ul",We,[(i(!0),o(B,null,I(t(x).items,n=>(i(),o("li",{key:n},r(n),1))),128))])])])):v("",!0),t(N).length?(i(),o("section",Ke,[e("div",Ge,[a[7]||(a[7]=e("div",{class:"intro"},[e("h2",null,"Det som används idag.")],-1)),e("div",Je,[(i(!0),o(B,null,I(t(N),(n,O)=>(i(),o("div",{key:n.title,class:F(["sys-phase",{"is-active":O===t(N).length-1}])},[a[6]||(a[6]=e("div",{class:"sys-phase-dot"},null,-1)),e("h3",null,r(n.title),1),e("p",null,r(n.text),1)],2))),128))])])])):v("",!0),t(q)&&t(q)!==t(E)?(i(),o("section",Qe,[e("div",Xe,[a[8]||(a[8]=e("h2",null,"Så ser det ut när det är i bruk.",-1)),t(s).url?(i(),o("a",{key:0,href:t(s).url,rel:"noopener noreferrer",class:"quiet"},"Besök sajten",8,Ye)):v("",!0)]),W($,{title:t(s).title,image:t(q),"mobile-image":t(re)},{desktop:L(()=>[k(r(t(G).desktop),1)]),mobile:L(()=>[k(r(t(G).mobile),1)]),_:1},8,["title","image","mobile-image"])])):v("",!0),!t(N).length&&t(h).length?(i(),o("section",Ze,[e("div",et,[e("article",tt,[e("div",null,[e("h3",null,r(t(s).client?`Vad det gav ${t(s).client}.`:"Vad det gav."),1)]),e("div",st,[e("div",at,[(i(!0),o(B,null,I(t(h),(n,O)=>(i(),o("div",{key:n},[e("span",null,r(String(O+1).padStart(2,"0")),1),e("b",null,r(n),1)]))),128))])])])])])):v("",!0),e("section",it,[e("div",nt,[e("div",null,[e("h2",null,r(t(A).heading),1),e("p",ot,r(t(A).text)+" Vi återkommer inom 48 timmar.",1)]),W(p,null,{default:L(()=>[...a[9]||(a[9]=[k("Kontakta oss",-1)])]),_:1})])]),t(D).length?(i(),o("section",lt,[e("div",rt,[a[13]||(a[13]=e("h2",null,"De andra uppdragen.",-1)),e("div",ct,[e("div",dt,[e("button",{type:"button",class:"case-rail-btn",disabled:!t(Q),"aria-label":"Föregående uppdrag",onClick:a[0]||(a[0]=n=>Y(-1))},[...a[10]||(a[10]=[e("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},[e("path",{d:"M15 6l-6 6 6 6",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],8,ut),e("button",{type:"button",class:"case-rail-btn",disabled:!t(X),"aria-label":"Nästa uppdrag",onClick:a[1]||(a[1]=n=>Y(1))},[...a[11]||(a[11]=[e("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none","aria-hidden":"true"},[e("path",{d:"M9 6l6 6-6 6",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],8,mt)]),W(b,{to:"/case",class:"quiet"},{default:L(()=>
1[...a[12]||(a[12]=[k("Alla case",-1)])]),_:1})])]),e("div",{ref_key:"railEl",ref:f,class:"case-rail",onScroll:z},[(i(!0),o(B,null,I(t(D),n=>(i(),U(b,{key:n.id,to:`/case/${n.id}`,class:"case-rail-card"},{default:L(()=>[n.image?(i(),U(M,{key:0,src:n.image,alt:`${n.title} på en laptop`,sizes:"(min-width: 1024px) 340px, 78vw",max:800},null,8,["src","alt"])):v("",!0),e("span",pt,[e("b",null,r(n.title),1),n.excerpt?(i(),o("span",vt,r(n.excerpt),1)):v("",!0)])]),_:2},1032,["to"]))),128))],544)])):v("",!0)])):v("",!0)}}});export{yt 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.