1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8974],{2312:(e,a,t)=>{"use strict";t.d(a,{TestimonialSection:()=>l});var i=t(5155),n=t(5239),s=t(2115);let r=[{id:1,name:"Kaylen Dubray",rating:5,avatar:"https://i.pravatar.cc/96?img=12",quote:"Marnics was insanely fast and efficient. Keep up the excellent work."},{id:2,name:"Akhil Chandran",rating:5,avatar:"https://i.pravatar.cc/96?img=11",quote:"Wonderful experience from Marnics. My iPad was not working after shutdown and the team diagnosed and solved it quickly."},{id:3,name:"Candice Repay",rating:5,avatar:"https://i.pravatar.cc/96?img=23",quote:"I had the best service at Marnics Thunder Bay location. The service was quick, friendly and they fixed my phone right away."},{id:4,name:"Amandeep Gill",rating:5,avatar:"https://i.pravatar.cc/96?img=29",quote:"They helped me choose a certified used iPhone and transferred all of my data. Smooth process and great service."},{id:5,name:"Ruth Henderson",rating:5,avatar:"https://i.pravatar.cc/96?img=16",quote:"Battery replacement was completed same day and the phone feels brand new again. Professional and transparent pricing."},{id:6,name:"Luca Moretti",rating:5,avatar:"https://i.pravatar.cc/96?img=55",quote:"I ordered accessories online and picked them up in-store. Everything was ready on time and staff was very helpful."}];function l(){var e;
1let[a,t]=(0,s.useState)(3),[l,o]=(0,s.useState)(0),[c,d]=(0,s.useState)(!1);(0,s.useEffect)(()=>{let e=()=>window.innerWidth<700?void t(1):window.innerWidth<1024?void t(2):void t(3);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);let u=(0,s.useMemo)(()=>{let e=[];for(let t=0;t<r.length;t+=a)e.push(r.slice(t,t+a));return e},[a]),h=u.length,m=h>0?l%h:0;(0,s.useEffect)(()=>{if(c||h<=1)return;let e=window.setInterval(()=>{o(e=>(e+1)%h)},4500);return()=>window.clearInterval(e)},[c,h]);let p=null!=(e=u[m])?e:[];return(0,i.jsxs)("section",{className:"container section-block testimonial-section","aria-labelledby":"testimonial-heading",onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),onFocusCapture:()=>d(!0),onBlurCapture:()=>d(!1),children:[(0,i.jsxs)("div",{className:"section-head testimonial-section-head",children:[(0,i.jsx)("h2",{id:"testimonial-heading",children:"What our customers are saying"}),(0,i.jsx)("p",{children:"Trusted by local shoppers for repairs and certified devices."})]}),(0,i.jsxs)("div",{className:"testimonial-carousel",children:[(0,i.jsx)("button",{type:"button",className:"testimonial-arrow",onClick:()=>{h<=1||o(e=>(e-1+h)%h)},"aria-label":"Previous testimonials",children:"â¹"}),(0,i.jsx)("div",{className:"testimonial-grid",children:p.map(e=>(0,i.jsxs)("article",{className:"testimonial-card",children:[(0,i.jsxs)("div",{className:"testimonial-top",children:[(0,i.jsx)(n.default,{className:"avatar-badge",src:e.avatar,alt:e.name,width:96,height:96}),(0,i.jsxs)("div",{children:[(0,i.jsx)("h3",{children:e.name}),(0,i.jsx)("p",{className:"testimonial-stars",children:"â
".repeat(e.rating)})]})]}),(0,i.jsx)("p",{children:e.quote}),(0,i.jsx)("button",{type:"button",className:"text-button",children:"Read more"})]},e.id))},m),(0,i.jsx)("button",{type:"button",className:"testimonial-arrow",onClick:()=>{h<=1||o(e=>(e+1)%h)},"aria-label":"Next testimonials",children:"âº"})]}),h>1?(0,i.jsx)("div",{className:"testimonial-dots","aria-label":"Testimonial pages",children:u.map((e,a)=>(0,i.jsx)("button",{type:"button",className:a===m?"active":"","aria-label":"Go to testimonials page ".concat(a+1),"aria-current":a===m?"true":void 0,onClick:()=>o(a)},a))}):null]})}},5160:(e,a,t)=>{"use strict";t.d(a,{HeroCarousel:()=>l});var i=t(5155),n=t(5239),s=t(2115);let r=[{image:"/carousel1.webp",alt:"Marnics Mobile promotional banner 1"},{image:"/carousel2.webp",alt:"Marnics Mobile promotional banner 2"},{image:"/carousel3.webp",alt:"Marnics Mobile promotional banner 3"}];
1function l(){let[e,a]=(0,s.useState)(0),[t,l]=(0,s.useState)(!1);return(0,s.useEffect)(()=>{if(t)return;let e=window.setInterval(()=>{a(e=>(e+1)%r.length)},6e3);return()=>window.clearInterval(e)},[t]),(0,i.jsxs)("section",{className:"hero-carousel container","aria-label":"Featured promotions",onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),onFocusCapture:()=>l(!0),onBlurCapture:()=>l(!1),children:[(0,i.jsx)("div",{className:"hero-slides",children:r.map((a,t)=>(0,i.jsx)("article",{className:"hero-slide".concat(t===e?" active":""),"aria-hidden":t!==e,children:(0,i.jsx)(n.default,{src:a.image,alt:a.alt,fill:!0,sizes:"100vw",priority:0===t,className:"hero-slide-image"})},a.image))}),(0,i.jsxs)("div",{className:"hero-controls",children:[(0,i.jsx)("button",{type:"button",className:"hero-arrow",onClick:()=>a(e=>(e-1+r.length)%r.length),"aria-label":"Previous slide",children:"â¹"}),(0,i.jsx)("button",{type:"button",className:"hero-arrow",onClick:()=>a(e=>(e+1)%r.length),"aria-label":"Next slide",children:"âº"})]}),(0,i.jsx)("div",{className:"hero-dots","aria-label":"Carousel pagination",children:r.map((t,n)=>(0,i.jsx)("button",{type:"button",className:n===e?"active":"","aria-label":"Go to slide ".concat(n+1),"aria-current":n===e?"true":void 0,onClick:()=>a(n)},t.image))})]})}},8965:(e,a,t)=>{Promise.resolve().then(t.bind(t,5160)),Promise.resolve().then(t.bind(t,2312)),Promise.resolve().then(t.bind(t,937)),Promise.resolve().then(t.t.bind(t,2619,23))}},e=>{e.O(0,[2619,1356,937,8441,1255,7358],()=>e(e.s=8965)),_N_E=e.O()}]);
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.