PageSourceSearch

https://www.az-handyman.ca/_next/static/immutable/chunks/3j_psupaxf7-z.js

js az-handyman.ca collected 2026-10-07 04:47:30 UTC 38,061 bytes, 1 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,23826,e=>{"use strict";var t=e.i(5270);let r={name:"external-link",size:24,node:[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]};r.node;let n=(0,t.default)(r);e.s(["ExternalLink",0,n],23826)},86047,e=>{"use strict";var t=e.i(5270);let r={name:"map-pin",size:24,node:[["path",{d:"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",key:"1r0f0z"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}]]};r.node;let n=(0,t.default)(r);e.s(["MapPin",0,n],86047)},91622,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={HTTPAccessErrorStatus:function(){return i},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return o},getAccessFallbackErrorTypeByStatus:function(){return d},getAccessFallbackHTTPStatus:function(){return u},isHTTPAccessFallbackError:function(){return l}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},s=new Set(Object.values(i)),o="NEXT_HTTP_ERROR_FALLBACK";function l(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let[t,r]=e.digest.split(";");return t===o&&s.has(Number(r))}function u(e){return Number(e.digest.split(";")[1])}function d(e){switch(e){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},68934,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isNextRouterError",{enumerable:!0,get:function(){return i}});let n=e.r(91622),a=e.r(1939);function i(e){return(0,a.isRedirectError)(e)||(0,n.isHTTPAccessFallbackError)(e)}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},8514,(e,t,r)=>{"use strict";let n,a;Object.defineProperty(r,"__esModule",{value:!0});var i={useDynamicRouteParams:function(){return n},useDynamicSearchParams:function(){return a}};for(var s in i)Object.defineProperty(r,s,{enumerable:!0,get:i[s]});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},63933,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={ServerInsertedHTMLContext:function(){return s},useServerInsertedHTML:function(){return o}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e.r(52456)._(e.r(91788)),s=i.default.createContext(null);function o(e){let t=(0,i.useContext)(s);t&&t(e)}},12098,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={UnrecognizedActionError:function(){return i},unstable_isUnrecognizedActionError:function(){return s}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});class i extends Error{constructor(...e){super(...e),this.name="UnrecognizedActionError"}}function s(e){return!!(e&&"object"==typeof e&&e instanceof i)}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},32075,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"notFound",{enumerable:!0,get:function(){return i}});let n=e.r(91622),a=`${n.HTTP_ERROR_FALLBACK_ERROR_CODE};404`;function i(){let e=Object.defineProperty(Error(a),"__NEXT_ERROR_CODE",{value:"E1041",enumerable:!1,configurable:!0});throw e.digest=a,e}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esMo
1dule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},69790,(e,t,r)=>{"use strict";function n(){throw Object.defineProperty(Error("`forbidden()` is experimental and only allowed to be enabled when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E488",enumerable:!1,configurable:!0})}e.i(50461),Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"forbidden",{enumerable:!0,get:function(){return n}}),e.r(91622).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},4047,(e,t,r)=>{"use strict";function n(){throw Object.defineProperty(Error("`unauthorized()` is experimental and only allowed to be used when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E411",enumerable:!1,configurable:!0})}e.i(50461),Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unauthorized",{enumerable:!0,get:function(){return n}}),e.r(91622).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},31430,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ReadonlyURLSearchParams",{enumerable:!0,get:function(){return a}});class n extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams"),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1174",enumerable:!1,configurable:!0})}}class a extends URLSearchParams{append(){throw new n}delete(){throw new n}set(){throw new n}sort(){throw new n}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},1939,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={REDIRECT_ERROR_CODE:function(){return s},isRedirectError:function(){return o}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e.r(40184),s="NEXT_REDIRECT";function o(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let t=e.digest.split(";"),[r,n]=t,a=t.slice(2,-2).join(";"),o=Number(t.at(-2));return r===s&&("replace"===n||"push"===n)&&"string"==typeof a&&!isNaN(o)&&o in i.RedirectStatusCode}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},40184,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RedirectStatusCode",{enumerable:!0,get:function(){return a}});var n,a=((n={})[n.SeeOther=303]="SeeOther",n[n.TemporaryRedirect=307]="TemporaryRedirect",n[n.PermanentRedirect=308]="PermanentRedirect",n);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},89490,(e,t,r)=>{"use strict";let n,a,i;Object.defineProperty(r,"__esModule",{value:!0});var s={actionAsyncStorage:function(){return n},workAsyncStorage:function(){return a},workUnitAsyncStorage:function(){return i}};for(var o in s)Object.defineProperty(r,o,{enumerable:!0,get:s[o]});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},53656,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={getRedirectError:function(){return l},getRedirectStatusCodeFromError:function(){return p},getRedirectTypeFromError:function(){return f},getURLFromRedirectError:function(){return c},permanentRedirect:function(){return d},redirect:function(){return u}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e.r(40184),s=e.r(1939),o=e.r(89490);function l(e,t,r=i.RedirectStatusCode.TemporaryRedirect){let n=Object.defineProperty(Error(s.REDIRECT_ERROR_CODE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,
1configurable:!0});return n.digest=`${s.REDIRECT_ERROR_CODE};${t};${e};${r};`,n}function u(e,t){throw l(e,t??=o.actionAsyncStorage?.getStore()?.isAction?"push":"replace",i.RedirectStatusCode.TemporaryRedirect)}function d(e,t="replace"){throw l(e,t,i.RedirectStatusCode.PermanentRedirect)}function c(e){return(0,s.isRedirectError)(e)?e.digest.split(";").slice(2,-2).join(";"):null}function f(e){if(!(0,s.isRedirectError)(e))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return e.digest.split(";",2)[1]}function p(e){if(!(0,s.isRedirectError)(e))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return Number(e.digest.split(";").at(-2))}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},96132,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unstable_rethrow",{enumerable:!0,get:function(){return function e(t){if((0,a.isNextRouterError)(t)||(0,n.isBailoutToCSRError)(t))throw t;t instanceof Error&&"cause"in t&&e(t.cause)}}});let n=e.r(14760),a=e.r(68934);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},83531,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={ReadonlyURLSearchParams:function(){return i.ReadonlyURLSearchParams},RedirectType:function(){return f},forbidden:function(){return l.forbidden},notFound:function(){return o.notFound},permanentRedirect:function(){return s.permanentRedirect},redirect:function(){return s.redirect},unauthorized:function(){return u.unauthorized},unstable_isUnrecognizedActionError:function(){return c},unstable_rethrow:function(){return d.unstable_rethrow}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e.r(31430),s=e.r(53656),o=e.r(32075),l=e.r(69790),u=e.r(4047),d=e.r(96132);function c(){throw Object.defineProperty(Error("`unstable_isUnrecognizedActionError` can only be used on the client."),"__NEXT_ERROR_CODE",{value:"E776",enumerable:!1,configurable:!0})}let f={push:"push",replace:"replace"};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},29844,(e,t,r)=>{"use strict";e.i(50461),Object.defineProperty(r,"__esModule",{value:!0});var n={ReadonlyURLSearchParams:function(){return o.ReadonlyURLSearchParams},RedirectType:function(){return f.RedirectType},ServerInsertedHTMLContext:function(){return d.ServerInsertedHTMLContext},forbidden:function(){return f.forbidden},notFound:function(){return f.notFound},permanentRedirect:function(){return f.permanentRedirect},redirect:function(){return f.redirect},unauthorized:function(){return f.unauthorized},unstable_isUnrecognizedActionError:function(){return c.unstable_isUnrecognizedActionError},unstable_rethrow:function(){return f.unstable_rethrow},useParams:function(){return v},usePathname:function(){return g},useRouter:function(){return y},useSearchParams:function(){return b},useSelectedLayoutSegment:function(){return _},useSelectedLayoutSegments:function(){return x},useServerInsertedHTML:function(){return d.useServerInsertedHTML}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e.r(52456)._(e.r(91788)),s=e.r(1085),o=e.r(70008),l=e.r(77915),u=e.r(8514),d=e.r(63933),c=e.r(12098),f=e.r(83531),{instrumentParamsForClientValidation:p,instrumentSearchParamsForClientValidation:m,expectCompleteParamsInClientValidation:h}={};function b(){u.useDynamicSearchParams?.("useSearchParams()");let e=(0,i.useContext)(o.SearchParamsContext);return(0,i.useMemo)(()=>e?new o.ReadonlyURLSearchParams(e):null,[e])}
1function g(){return u.useDynamicRouteParams?.("usePathname()"),(0,i.useContext)(o.PathnameContext)}function y(){let e=(0,i.useContext)(s.AppRouterContext);if(null===e)throw Object.defineProperty(Error("invariant expected app router to be mounted"),"__NEXT_ERROR_CODE",{value:"E238",enumerable:!1,configurable:!0});let t=(0,i.useContext)(s.LayoutRouterContext),r=t?.parentCacheNode.bfcacheId??0;return(0,i.useMemo)(()=>({back:e.back,forward:e.forward,refresh:e.refresh,hmrRefresh:e.hmrRefresh,push:e.push,replace:e.replace,prefetch:e.prefetch,experimental_gesturePush:e.experimental_gesturePush,bfcacheId:"_b_"+r+"_"}),[e,r])}function v(){return u.useDynamicRouteParams?.("useParams()"),(0,i.useContext)(o.PathParamsContext)}function x(e="children"){u.useDynamicRouteParams?.("useSelectedLayoutSegments()");let t=(0,i.useContext)(s.LayoutRouterContext);return t?(0,l.getSelectedLayoutSegmentPath)(t.parentTree,e):null}function _(e="children"){u.useDynamicRouteParams?.("useSelectedLayoutSegment()"),(0,i.useContext)(o.NavigationPromisesContext);let t=x(e);return(0,l.computeSelectedLayoutSegment)(t,e)}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},17837,(e,t,r)=>{t.exports=e.r(29844)},1085,(e,t,r)=>{"use strict";e.i(50461),Object.defineProperty(r,"__esModule",{value:!0});var n={AppRouterContext:function(){return s},GlobalLayoutRouterContext:function(){return l},LayoutRouterContext:function(){return o},MissingSlotContext:function(){return d},TemplateContext:function(){return u}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e.r(41705)._(e.r(91788)),s=i.default.createContext(null),o=i.default.createContext(null),l=i.default.createContext(null),u=i.default.createContext(null),d=i.default.createContext(new Set)},70008,(e,t,r)=>{"use strict";e.i(50461),Object.defineProperty(r,"__esModule",{value:!0});var n={NavigationPromisesContext:function(){return d},PathParamsContext:function(){return u},PathnameContext:function(){return l},ReadonlyURLSearchParams:function(){return s.ReadonlyURLSearchParams},SearchParamsContext:function(){return o},createDevToolsInstrumentedPromise:function(){return c}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e.r(91788),s=e.r(31430),o=(0,i.createContext)(null),l=(0,i.createContext)(null),u=(0,i.createContext)(null),d=(0,i.createContext)(null);function c(e,t){let r=Promise.resolve(t);return r.status="fulfilled",r.value=t,r.displayName=`${e} (SSR)`,r}},14760,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={BailoutToCSRError:function(){return s},isBailoutToCSRError:function(){return o}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i="BAILOUT_TO_CLIENT_SIDE_RENDERING";class s extends Error{constructor(e){super(`Bail out to client-side rendering: ${e}`),this.reason=e,this.digest=i}}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===i}},16027,e=>{"use strict";var t=e.i(91398),r=e.i(26019);function n({inverse:e=!1,stacked:a=!1}){return(0,t.jsxs)("span",{className:`az-brand${e?" az-brand-inverse":""}${a?" az-brand-stacked":""}`,children:[(0,t.jsx)("span",{className:"az-brand-mark-frame","aria-hidden":"true",children:(0,t.jsx)(r.default,{src:e?"/brand/az-shield-ivory.svg":"/brand/az-shield-crimson.svg",width:136,height:136,alt:"",className:"az-brand-mark",priority:!e})}),(0,t.jsxs)("span",{className:"az-brand-wordmark",children:[(0,t.jsx)("strong",{children:"A–Z"}),(0,t.jsx)("span",{className:"az-brand-name",children:"HANDYMAN"}),(0,t.jsx)("span",{className:"az-brand-location",children:"VANCOUVER"})]})]})}var a=e.i(41158),i=e.i(83378),s=e.i(9155),o=e.i(86047),l=e.i(23826),u=e.i(43250),d=e.i(60076);function c({size:e=20}){return(0,t.jsx)("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",children:(0,t.jsx)("path",{d:"M14 13.5h2.5l1-4H14v-2c0-1.03 0-2 2-2h1.5V2.14c-.326-.043-1.557-.14-2.857-.14C11.928 2 10 3.657 10 6.7v2.8H7v4h3V22h4z"})})}function f({size:e=20}){return(0,t.jsxs)("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,t.jsx)("rect",{x:"2",y:"2",width:"20",height:"20",rx:"5",ry:"5"}),(0,t.jsx)("path",{d:"M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"}),(0,t.jsx)("line",{x1:"17.5",y1:"6.5",x2:"17.51",y2:"6.5"})]})}let p=()=>{let e=(0,d.generateOrganizationSchema)();return(0,t.jsxs)("div",{className:"footer-wrap relative",children:[(0,t.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(e)}}),(0,t.jsxs)("footer",{className:"bg-black text-white py-12 px-6","aria-label":"Site Footer",children:[(0,t.jsxs)("div",{className:"max-w-7xl mx-auto grid grid-cols-1 md:grid-cols-4 gap-8",children:[(0,t.jsxs)("div",{className:"md:col-span-2",children:[(0,t.jsx)(a.default,{href:"/",className:"footer-brand","aria-label":"A-Z Handyman home",children:(0,t.jsx)(n,{inverse:!0,stacked:!0})}),(0,t.jsx)("h3",{className:"text-xl font-semibold mb-4",children:"AZ Handyman Service"}),(0,t.jsx)("div",{className:"h-1 w-16 bg-[#8d0d0c] mb-6"}),(0,t.jsx)("p",{className:"text-gray-300 mb-6 leading-relaxed",children:"Licensed and insured home repair across Greater Vancouver. Drywall, flood repair, HVAC, furniture refinishing, demolition, and general handyman — no task too big or small."}),(0,t.jsxs)("div",{className:"text-gray-400 space-y-2.5",children:[(0,t.jsx)("p",{className:"text-[11px] uppercase tracking-[0.22em]",children:"A proud brand of"}),(0,t.jsxs)("a",{href:u.business.parentOrg.url,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 text-lg font-semibold text-white hover:text-[#8d0d0c] transition-colors duration-300",children:[u.business.legalName," ",(0,t.jsx)(l.ExternalLink,{size:14})]}),(0,t.jsx)("p",{className:"text-gray-300",children:"Open 24 hours a day, 7 days a week"})]}),(0,t.jsxs)("ul",{className:"mt-6 flex flex-wrap gap-x-5 gap-y-2 text-sm text-gray-300",children:[(0,t.jsx)("li",{children:(0,t.jsx)(a.default,{href:"/service-areas",className:"hover:text-white transition-colors",children:"Service Areas"})}),(0,t.jsx)("li",{children:(0,t.jsx)(a.default,{href:"/guides",className:"hover:text-white transition-colors",children:"Repair Guides"})}),(0,t.jsx)("li",{children:(0,t.jsx)(a.default,{href:"/why-chose-us",className:"hover:text-white transition-colors",children:"About Us"})}),(0,t.jsx)("li",{children:(0,t.jsx)(a.default,{href:"/contact",className:"hover:text-white transition-colors",children:"Contact"})})]})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("h3",{className:"text-xl font-semibold mb-4",children:["OUR ",(0,t.jsx)("span",{className:"text-[#8d0d0c]",children:"SERVICES"})]}),(0,t.jsx)("div",{className:"h-1 w-16 bg-[#8d0d0c] mb-6"}),(0,t.jsx)("ul",{className:"space-y-3 text-gray-300",children:[{label:"Drywall Repair",href:"/drywall"},{label:"Burnaby Drywall",href:"/burnaby-drywall"},{label:"Flood Repair",href:"/flood-repair"},{label:"HVAC",href:"/hvac"},{label:"General Handyman",href:"/general-handyman"},{label:"Furniture Refinishing",href:"/furniture-refinishing"},{label:"Demolition",href:"/demolition"}].map(e=>(0,t.jsx)("li",{children:(0,t.jsx)(a.default,{href:e.href,className:"hover:text-white transition-colors duration-300",children:e.label})},e.href))})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("h3",{className:"text-xl font-semibold mb-4",children:["GET IN ",(0,t.jsx)("span",{className:"text-[#8d0d0c]",children:"TOUCH"})]}),(0,t.jsx)("div",{className:"h-1 w-16 bg-[#8d0d0c] mb-6"}),(0,t.jsxs)("div",{className:"text-gray-300 space-y-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"font-semibold mb-2",children:"Available:"}),(0,t.jsx)("p",{className:"text-white font-semibold",children:"24 Hours a Day"}),(0,t.jsx)("p",{className:"text-white font-semibold",children:"7 Days a Week"}),(0,t.jsx)("p",{className:"mt-2 text-[#8d0d0c] font-semibold",children:"Same-day & next-d
1ay when capacity allows"})]}),(0,t.jsxs)("div",{className:"pt-4 border-t border-gray-800",children:[(0,t.jsxs)("a",{href:`tel:${u.business.phone.tel}`,className:"flex items-center gap-2 hover:text-[#8d0d0c] transition-colors duration-300 mb-3",children:[(0,t.jsx)(i.Phone,{size:16}),(0,t.jsx)("p",{children:u.business.phone.display})]}),(0,t.jsxs)("a",{href:`mailto:${u.business.email}`,className:"flex items-center gap-2 hover:text-[#8d0d0c] transition-colors duration-300 mb-3",children:[(0,t.jsx)(s.Mail,{size:16}),(0,t.jsx)("p",{children:u.business.email})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(o.MapPin,{size:16}),(0,t.jsx)("p",{children:u.business.address.full})]})]}),(0,t.jsxs)("div",{className:"flex space-x-4 pt-4",children:[u.business.social?.facebook?(0,t.jsx)("a",{href:u.business.social.facebook,target:"_blank",rel:"noopener noreferrer",className:"p-2 bg-gray-800 hover:bg-[#8d0d0c] hover:text-black transition-all duration-300 rounded-lg","aria-label":"Facebook",children:(0,t.jsx)(c,{size:20})}):null,u.business.social?.instagram?(0,t.jsx)("a",{href:u.business.social.instagram,target:"_blank",rel:"noopener noreferrer",className:"p-2 bg-gray-800 hover:bg-[#8d0d0c] hover:text-black transition-all duration-300 rounded-lg","aria-label":"Instagram",children:(0,t.jsx)(f,{size:20})}):null]})]})]})]}),(0,t.jsx)("div",{className:"max-w-7xl mx-auto mt-12 pt-8 border-t border-gray-800",children:(0,t.jsxs)("div",{className:"flex flex-col md:flex-row justify-between items-center gap-4 text-gray-400 text-sm",children:[(0,t.jsxs)("p",{className:"text-center md:text-left",children:["© ",new Date().getFullYear()," ",u.business.brandName,". ALL RIGHTS RESERVED"]}),(0,t.jsx)("a",{href:u.business.parentOrg.url,target:"_blank",rel:"noopener noreferrer",className:"text-white/80 hover:text-[#8d0d0c] transition-colors tracking-wide font-medium",children:"Felicita Group Company"}),(0,t.jsxs)("div",{className:"flex flex-wrap justify-center md:justify-end gap-x-8 gap-y-2",children:[(0,t.jsx)(a.default,{href:"/privacy-policy",className:"hover:text-white transition-colors duration-300",children:"PRIVACY POLICY"}),(0,t.jsx)(a.default,{href:"/terms",className:"hover:text-white transition-colors duration-300",children:"TERMS & CONDITIONS"})]})]})})]})]})};var m=e.i(91788),h=e.i(3828);function b(){let{asPath:e}=(0,h.useRouter)(),t=e.split("#")[0];return(0,m.useEffect)(()=>{let e,t,r=document.querySelector(".az-site");if(!r||!window.IntersectionObserver||!Element.prototype.animate)return;let n=window.matchMedia("(prefers-reduced-motion: reduce)"),a=new Map,i=0,s=new Set,o=Array.from(r.querySelectorAll(".home-hero-image > img, .service-hero .hero-media > div:first-child > img, .editorial-banner > div.absolute img")),l=()=>{i=0,s.size&&s.forEach(e=>{let t=e.parentElement;if(!t)return;let r=t.getBoundingClientRect(),n=r.top+r.height/2,a=Math.round(14*Math.max(-1,Math.min(1,(window.innerHeight/2-n)/window.innerHeight)));e.style.transform=`translate3d(0, ${a}px, 0)`})},u=()=>{!i&&s.size&&(i=requestAnimationFrame(l))},d=()=>{e?.disconnect(),t?.disconnect(),a.forEach(e=>e.cancel()),a.clear(),i&&cancelAnimationFrame(i),i=0,s.clear(),o.forEach(e=>{e.style.removeProperty("transform"),e.style.removeProperty("will-change")}),window.removeEventListener("scroll",u),window.removeEventListener("resize",u)},c=()=>{if(d(),n.matches)return;let i=Array.from(r.querySelectorAll('.home-hero-top > *,.hero-copy > *,.directory-hero > *,.editorial-banner > div.relative > *,.section-heading,.metrics-heading,.repair-process-heading,.repair-process-phase-heading,.reviews-heading,.faq-intro,.planning-intro,.editorial-service-image,.editorial-service-copy,.directory-card,.repair-process-card,.planning-item,.trust-assurance-item,.guide-card,.metric,.faq-list > details,.review-card,.reviews-bottom,.service-section .grid > div[class*="rounded"],.service-form > .max-w-3xl > div[class*="rounded"],.contact-page-form form,.contact-band-inner > *,.service-final > div,[data-motion-heading]')).filter(e=>!e.closest("[role='dialog'], .site-header, .sticky-contact")),l=i.filter(e=>!i.some(t=>t!==e&&t.contains(e))),c=new Map;
1l.forEach(e=>{let t=l.filter(t=>t.parentElement===e.parentElement);c.set(e,Math.min(45*t.indexOf(e),135))});let f=[];l.forEach(e=>{let t;(t=e.getBoundingClientRect()).top<.92*window.innerHeight&&t.bottom>0||f.push(e)}),e=new IntersectionObserver(t=>{t.forEach(t=>{if(!t.isIntersecting)return;let r=t.target;e?.unobserve(r),r.contains(document.activeElement)||((e,t=0)=>{if(a.has(e))return;let r=e.classList.contains("editorial-service-image"),n=e.animate(r?[{opacity:.45,clipPath:"inset(8% 0 0 0 round 28px)",transform:"translateY(22px)"},{opacity:1,clipPath:"inset(0% 0 0 0 round 28px)",transform:"translateY(0)"}]:[{opacity:.35,transform:"translateY(18px)"},{opacity:1,transform:"translateY(0)"}],{duration:r?720:520,delay:t,easing:"cubic-bezier(0.22, 1, 0.36, 1)",fill:"none"});a.set(e,n),n.onfinish=()=>a.delete(e),n.oncancel=()=>a.delete(e)})(r,c.get(r)??0)})},{threshold:.12,rootMargin:"0px 0px -8% 0px"}),f.forEach(t=>e.observe(t)),o.forEach(e=>{e.style.willChange="transform",e.style.transform="translate3d(0, 0, 0)"}),t=new IntersectionObserver(e=>{e.forEach(e=>{let t=e.target;e.isIntersecting?s.add(t):s.delete(t)}),u()},{rootMargin:"10% 0px"}),o.forEach(e=>t.observe(e)),window.addEventListener("scroll",u,{passive:!0}),window.addEventListener("resize",u,{passive:!0})},f=e=>{a.forEach((t,r)=>{r.contains(e.target)&&(t.cancel(),a.delete(r))})},p=requestAnimationFrame(()=>c());return n.addEventListener("change",c),r.addEventListener("focusin",f),()=>{cancelAnimationFrame(p),d(),n.removeEventListener("change",c),r.removeEventListener("focusin",f)}},[t]),null}var g=e.i(50461),y=e.i(17837);function v(){return"u">typeof window}function x(){return"production"}function _(){return"development"===((v()?window.vam:x())||"production")}function R(e){return RegExp(`/${e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?=[/?#]|$)`)}function E(e){return e.startsWith("http://")||e.startsWith("https://")||e.startsWith("/")?e:`/${e}`}function j(e){return(0,m.useEffect)(()=>{var t;e.beforeSend&&(null==(t=window.va)||t.call(window,"beforeSend",e.beforeSend))},[e.beforeSend]),(0,m.useEffect)(()=>{!function(e={debug:!0},t){var r;if(!v())return;let{beforeSend:n,src:a,dataset:i}=function(e,t){var r,n;let a=e;if(t)try{a={...null==(r=JSON.parse(t))?void 0:r.analytics,...e}}catch{}!function(e="auto"){if("auto"===e){window.vam=x();return}window.vam=e}(a.mode);let i={sdkn:"@vercel/analytics"+(a.framework?`/${a.framework}`:""),sdkv:"2.0.1"};return a.disableAutoTrack&&(i.disableAutoTrack="1"),a.viewEndpoint&&(i.viewEndpoint=E(a.viewEndpoint)),a.eventEndpoint&&(i.eventEndpoint=E(a.eventEndpoint)),a.sessionEndpoint&&(i.sessionEndpoint=E(a.sessionEndpoint)),_()&&!1===a.debug&&(i.debug="false"),a.dsn&&(i.dsn=a.dsn),a.endpoint?i.endpoint=a.endpoint:a.basePath&&(i.endpoint=E(`${a.basePath}/insights`)),{beforeSend:a.beforeSend,src:(n=a).scriptSrc?E(n.scriptSrc):_()?"https://va.vercel-scripts.com/v1/script.debug.js":n.basePath?E(`${n.basePath}/insights/script.js`):"/_vercel/insights/script.js",dataset:i}}(e,t);if(window.va||(window.va=function(...e){window.vaq||(window.vaq=[]),window.vaq.push(e)}),n&&(null==(r=window.va)||r.call(window,"beforeSend",n)),document.head.querySelector(`script[src*="${a}"]`))return;let s=document.createElement("script");for(let[e,t]of(s.src=a,Object.entries(i)))s.dataset[e]=t;s.defer=!0,s.onerror=()=>{let e=_()?"Please check if any ad blockers are enabled and try again.":"Be sure to enable Web Analytics for your project and deploy again. See https://vercel.com/docs/analytics/quickstart for more information.";console.log(`[Vercel Web Analytics] Failed to load script from ${a}. ${e}`)},document.head.appendChild(s)}({framework:e.framework||"react",basePath:e.basePath??function(){if(void 0!==g.default&&void 0!==g.default.env)return g.default.env.REACT_APP_VERCEL_OBSERVABILITY_BASEPATH}(),...void 0!==e.route&&{disableAutoTrack:!0},...e},e.configString??function(){if(void 0!==g.default&&void 0!==g.default.env)return g.default.env.REACT_APP_VERCEL_OBSERVABILITY_CLIENT_CONFIG}())},[]),(0,m.useEffect)(()=>{e.route&&e.path&&function({route:e,path:t}){var r;null==(r=window.va)||r.call(window,"pageview",{route:e,path:t})}({route:e.route,path:e.path})},[e.route,e.path]),null}function w(e){let t,r,n,{route:a,path:i}=(t=(0,y.useParams)(),r=(0,y.useSearchParams)(),n=(0,y.usePathname)(),t?{route:function(e,t){if(!e||!t)return e;let r=e;try{let e=Object.entries(t);for(let[t,n]of e)if(!Array.isArray(n)){let e=R(n);e.test(r)&&(r=r.replace(e,`/[${t}]`))}for(let[t,n]of e)if(Array.isArray(n)){let e=R(n.join("/"));e.test(r)&&(r=r.replace(e,`/[...${t}]`))}return r}catch{return e}}(n,Object.keys(t).length?t:Object.fromEntries(r.entries())),path:n}:{route:null,path:n});return m.default.createElement(j,{path:i,route:a,...e,basePath:function(){if(void 0!==g.default&&void 0!==g.default.env)return g.default.env.NEXT_PUBLIC_VERCEL_OBSERVABILITY_BASEPATH}
1(),configString:function(){if(void 0!==g.default&&void 0!==g.default.env)return'{"analytics":{"scriptSrc":"36d3a599f42860c7/script.js","viewEndpoint":"36d3a599f42860c7/view","eventEndpoint":"36d3a599f42860c7/event","sessionEndpoint":"36d3a599f42860c7/session"},"speedInsights":{"scriptSrc":"be8160fedf9022e0/script.js","endpoint":"be8160fedf9022e0/vitals"}}'}(),framework:"next"})}function O(e){return m.default.createElement(m.Suspense,{fallback:null},m.default.createElement(w,{...e}))}var P=e.i(38035),C=e.i(14338);!g.default.env.NEXT_PUBLIC_POSTHOG_KEY||C.default.__loaded||C.default.init(g.default.env.NEXT_PUBLIC_POSTHOG_KEY,{api_host:g.default.env.NEXT_PUBLIC_POSTHOG_HOST||"https://us.i.posthog.com",capture_pageview:!1,persistence:"localStorage+cookie",loaded:e=>{}}),e.s(["default",0,function({Component:e,pageProps:r}){let n=(0,h.useRouter)();return(0,m.useEffect)(()=>{let e=()=>C.default.capture("$pageview");return n.events.on("routeChangeComplete",e),()=>n.events.off("routeChangeComplete",e)},[n.events]),(0,t.jsxs)(P.PostHogProvider,{client:C.default,children:[(0,t.jsx)(b,{}),(0,t.jsxs)("div",{className:n.pathname.startsWith("/invoice")||"/test-redirect"===n.pathname?"utility-site":"az-site",children:[(0,t.jsx)("a",{className:"skip-link",href:"#main-content",children:"Skip to content"}),(0,t.jsxs)("div",{children:[("/invoice/[id]"===n.pathname||"/test-redirect"===n.pathname||"/404"===n.pathname)&&(0,t.jsx)("div",{id:"main-content",tabIndex:-1}),(0,t.jsx)(e,{...r})]}),(0,t.jsx)(p,{})]}),(0,t.jsx)(O,{})]})}],16027)},94757,(e,t,r)=>{let n="/_app";(window.__NEXT_P=window.__NEXT_P||[]).push([n,()=>e.r(16027)]),t.hot&&t.hot.dispose(function(){window.__NEXT_P.push([n])})},60076,24925,e=>{"use strict";let t={drywall:{businessName:"AZ DRYWALL PATCH & REPAIR",gmbUrl:"https://maps.app.goo.gl/YdJ6LyPD4VcgX88b6",placeId:"ChIJ0WJSFY5zhlQRqrpxltwDJyI",serviceType:"Drywall Repair",location:"Vancouver",keyword:"Vancouver Drywall Repair",rating:5,reviewCount:127},"burnaby-drywall":{businessName:"ROCKEWELL DRYWALL REPAIR - BURNABY",gmbUrl:"https://share.google/LHu5AA51661fRJrvW",placeId:"ChIJgZMgK8V3hlQRqGCtLRDcZ3k",serviceType:"Drywall Repair",location:"Burnaby",keyword:"Drywall Repair near Burnaby BC",rating:5,reviewCount:89},"flood-repair":{businessName:"VANCOUVER FLOOD RESTORATION AND EMERGENCY REPAIRS BY FELICITA",gmbUrl:"https://maps.app.goo.gl/MQKYo9rB2LQxmShu5",placeId:"ChIJ9cumL9xxhlQRyz6sK20H1Gs",serviceType:"Flood Restoration",location:"Vancouver",keyword:"Flood Restoration near Vancouver",rating:5,reviewCount:203},hvac:{businessName:"AZ AIR CONDITIONING AND HEATING",gmbUrl:"https://g.page/r/CZhLQFnJD-aZEAE/",placeId:"ChIJe39j5rFxhlQRmEtAWckP5pk",serviceType:"HVAC Services",location:"Vancouver",keyword:"Air Conditioning near Vancouver",rating:4.9,reviewCount:156},demolition:{businessName:"ROCKWELL PRIME DEMOLITION & ABATEMENT - VANCOUVER",gmbUrl:"https://share.google/xliIwZpZ3GHeX8b02",placeId:"ChIJ3frAVsFxhlQRyLtuZJ6VMOo",serviceType:"Demolition Services",location:"Vancouver",keyword:"Demolition company near Vancouver",rating:5,reviewCount:94},"furniture-refinishing":{businessName:"AZ CLASSIC FURNITURE REFINISHING",gmbUrl:"https://g.co/kgs/uRguxjN",placeId:"ChIJtX09QpdxhlQRWowMrc2yY_c",serviceType:"Furniture Refinishing",location:"Vancouver",keyword:"Furniture Refinishing near Vancouver",rating:5,reviewCount:78},"general-handyman":{businessName:"A-Z Handyman Vancouver",gmbUrl:"https://maps.app.goo.gl/MQKYo9rB2LQxmShu5",placeId:"ChIJ9cumL9xxhlQRyz6sK20H1Gs",serviceType:"General Handyman Services",location:"Vancouver",keyword:"handyman vancouver",rating:4.8,reviewCount:1e3}};e.s(["getGMBProfile",0,e=>t[e]||null,"gmbProfiles",0,t],24925);var r=e.i(43250);let n=()=>({"@type":"Organization","@id":`${r.business.siteUrl}/#organization`,name:r.business.brandName,legalName:r.business.legalName,url:r.business.siteUrl,logo:`${r.business.siteUrl}/brand/az-shield-crimson.png`,parentOrganization:{"@type":"Organization",name:r.business.parentOrg.name,url:r.business.parentOrg.url},address:{"@type":"PostalAddress",streetAddress:r.business.address.street,addressLocality:r.business.address.locality,addressRegion:r.business.address.region,postalCode:r.business.address.postalCode,addressCountry:r.business.address.country},contactPoint:{"@type":"ContactPoint",telephone:r.business.phone.tel,contactType:"customer service",email:r.business.email,availableLanguage:["English"]},sameAs:[r.business.social.facebook,r.business.social.instagram,r.business.parentOrg.url,...Array.from(new Set(Object.values(t).map(e=>e.gmbUrl)))]}),a=()=>({"@type":"WebSite","@id":`${r.business.siteUrl}/#website`,name:r.business.brandName,url:r.business.siteUrl,publisher:{"@id":`${r.business.siteUrl}/#organization`},inLanguage:"en-CA"}),i=e=>({"@type":"BreadcrumbList",itemListElement:e.map((e,t)=>({"@type":"ListItem",position:t+1,name:e.name,item:e.url}))}),s=(e,t)=>({"@type":"FAQPage",mainEntity:e.map(e=>
1({"@type":"Question",name:e.question,acceptedAnswer:{"@type":"Answer",text:e.answer}})),url:t}),o=(e,t,n,a,i)=>({"@type":"WebPage",name:e,url:t,description:n,datePublished:a||new Date().toISOString().split("T")[0],dateModified:i||new Date().toISOString().split("T")[0],inLanguage:"en-CA",isPartOf:{"@id":`${r.business.siteUrl}/#website`}}),l=(e,t,r)=>({"@type":"HowTo",name:e,description:t,step:r.map((e,t)=>({"@type":"HowToStep",position:t+1,name:e.name,text:e.text}))});e.s(["buildServicePageSchemaGraph",0,({pageKey:e,pageName:t,pageUrl:u,description:d,gmbProfile:c,serviceName:f,serviceArea:p,faqs:m,howToSteps:h})=>{let b,g,y=[n(),a(),(b=({drywall:"/drywall","burnaby-drywall":"/burnaby-drywall","flood-repair":"/flood-repair",hvac:"/hvac",demolition:"/demolition","furniture-refinishing":"/furniture-refinishing","general-handyman":"/general-handyman"})[e]||`/${e}`,(g={"@type":"LocalBusiness","@id":`${r.business.siteUrl}${b}#localbusiness`,name:c.businessName,image:r.business.defaultOgImage,url:`${r.business.siteUrl}${b}`,telephone:c.phone||r.business.phone.tel,address:{"@type":"PostalAddress",streetAddress:r.business.address.street,addressLocality:c.location,addressRegion:r.business.address.region,postalCode:r.business.address.postalCode,addressCountry:r.business.address.country},aggregateRating:c.rating?{"@type":"AggregateRating",ratingValue:c.rating.toString(),reviewCount:c.reviewCount?.toString()||"0",bestRating:"5",worstRating:"1"}:void 0,priceRange:"$$",areaServed:r.business.serviceAreaCities.map(e=>({"@type":"City",name:e})),serviceArea:{"@type":"GeoCircle",geoMidpoint:{"@type":"GeoCoordinates",latitude:r.business.geo.latitude,longitude:r.business.geo.longitude},geoRadius:{"@type":"Distance",value:"50",unitCode:"KM"}},openingHoursSpecification:[{"@type":"OpeningHoursSpecification",dayOfWeek:["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],opens:"00:00",closes:"23:59"}],sameAs:[c.gmbUrl]}).aggregateRating||delete g.aggregateRating,g),o(t,u,d),i([{name:"Home",url:r.business.siteUrl},{name:f,url:u}]),{"@type":"Service",name:f,serviceType:f,description:d,url:u,areaServed:{"@type":"City",name:p},provider:{"@id":`${r.business.siteUrl}/#organization`}},s(m,u)];return h?.length&&y.push(l(`How our ${f} process works`,`Our step-by-step ${f.toLowerCase()} process in ${p}.`,h)),y},"generateArticleSchema",0,(e,t,n,a,i)=>({"@type":"Article",headline:e,description:t,url:n,datePublished:a,dateModified:i,inLanguage:"en-CA",author:{"@type":"Organization",name:r.business.legalName,url:r.business.parentOrg.url},publisher:{"@id":`${r.business.siteUrl}/#organization`},isPartOf:{"@id":`${r.business.siteUrl}/#website`}}),"generateBreadcrumbSchema",0,i,"generateFAQPageSchema",0,s,"generateHowToSchema",0,l,"generateMetaTags",0,e=>{let{title:t,description:n,keywords:a,canonicalUrl:i,ogImage:s=r.business.defaultOgImage,type:o="website"}=e;return{title:t,description:n,keywords:a,canonicalUrl:i,ogImage:s,type:o}},"generateOrganizationSchema",0,n,"generateWebPageSchema",0,o,"generateWebSiteSchema",0,a],60076)}]);

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.