PageSourceSearch

https://www.raexteriorcleaning.co.uk/assets/areas._region.index-C3i6791n.js

js raexteriorcleaning.co.uk collected 2026-10-09 22:04:17 UTC 4,378 bytes, 1 lines download raw bytes

1import{i as l,j as e,L as a,b as m}from"./main-NYW2pZL1.js";import{P as c}from"./PageShell-CdiMW9MJ.js";import{Q as x}from"./QuoteDialog-BgbR3BpK.js";import{M as d}from"./map-pin-BDRlT0oM.js";import{A as r}from"./arrow-right-DQhXD4Px.js";function w(){const{region:s}=l.useLoaderData(),i={"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:"https://raexteriorcleaning.co.uk/"},{"@type":"ListItem",position:2,name:"Areas",item:"https://raexteriorcleaning.co.uk/areas"},{"@type":"ListItem",position:3,name:s.name,item:`https://raexteriorcleaning.co.uk/areas/${s.slug}`}]},n={"@context":"https://schema.org","@type":"ItemList",name:`Towns covered in ${s.name}`,itemListElement:s.towns.map((t,o)=>({"@type":"ListItem",position:o+1,name:t,url:`https://raexteriorcleaning.co.uk/areas/${s.slug}/${t.toLowerCase().replace(/\s+/g,"-")}`}))};return e.jsxs(c,{children:[e.jsx("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(i)}}),e.jsx("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(n)}}),e.jsx("section",{className:"pt-32 pb-10 px-5 md:px-8",children:e.jsxs("div",{className:"mx-auto max-w-7xl",children:[e.jsx(a,{to:"/areas",className:"text-xs uppercase tracking-widest text-foreground/50 hover:text-accent",children:"← All areas"}),e.jsxs("h1",{className:"display-xl text-[clamp(2.5rem,6vw,5rem)] mt-4",children:[s.name," ",e.jsx("span",{className:"text-accent",children:"cleaning experts."})]}),e.jsx("p",{className:"mt-6 max-w-2xl text-muted-foreground text-lg",children:s.blurb})]})}),e.jsx("section",{className:"px-5 md:px-8 mt-6",children:e.jsxs("div",{className:"mx-auto max-w-7xl rounded-3xl section-dark p-8 md:p-12",children:[e.jsxs("div",{className:"text-xs uppercase tracking-widest text-water mb-5 flex items-center gap-2",children:[e.jsx(d,{className:"size-3.5"})," Towns we cover in ",s.name]}),e.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-3",children:s.towns.map(t=>e.jsxs(a,{to:"/areas/$region/$town",params:{region:s.slug,town:t.toLowerCase().replace(/\s+/g,"-")},className:"group rounded-2xl border border-white/10 px-5 py-4 font-semibold hover:bg-white/5 transition flex items-center justify-between",children:[e.jsx("span",{children:t}),e.jsx(r,{className:"size-4 opacity-0 group-hover:opacity-100 group-hover:translate-x-0.5 transition text-water"})]},t))})]})}),e.jsx("section",{className:"px-5 md:px-8 mt-16",children:e.jsxs("div",{className:"mx-auto max-w-7xl",children:[e.jsxs("h2",{className:"display-xl text-[clamp(2rem,4vw,3rem)] mb-8",children:["What we clean in ",s.name]}),e.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-3 gap-5",children:m.map(t=>e.jsxs(a,{to:"/services/$slug",params:{slug:t.slug},className:"group rounded-3xl overflow-hidden bg-card border border-foreground
1/5 hover:border-accent/40 hover:-translate-y-1 transition-all duration-300",children:[e.jsx("div",{className:"aspect-[4/3] overflow-hidden",children:e.jsx("img",{src:t.image,alt:`${t.name} in ${s.name}`,loading:"lazy",className:"w-full h-full object-cover group-hover:scale-105 transition duration-500"})}),e.jsxs("div",{className:"p-6",children:[e.jsxs("h3",{className:"text-lg font-bold",children:[t.name," in ",s.name]}),e.jsx("p",{className:"text-sm text-muted-foreground mt-2",children:t.blurb}),e.jsxs("span",{className:"mt-4 inline-flex items-center gap-2 text-accent font-semibold text-sm",children:["Learn more ",e.jsx(r,{className:"size-4 group-hover:translate-x-1 transition"})]})]})]},t.slug))})]})}),e.jsx("section",{className:"px-5 md:px-8 mt-20 pb-24",children:e.jsxs("div",{className:"mx-auto max-w-7xl section-dark rounded-3xl p-10 md:p-16 text-center",children:[e.jsxs("h2",{className:"display-xl text-3xl md:text-4xl",children:["Free quote in ",s.name,"."]}),e.jsx("p",{className:"mt-3 text-ink-foreground max-w-md mx-auto",children:"Send a few photos or your address, we'll come back with a no-obligation price."}),e.jsx("div",{className:"mt-6 flex flex-wrap justify-center gap-3",children:e.jsx(x,{trigger:e.jsxs("button",{type:"button",className:"inline-flex items-center gap-2 rounded-full bg-water text-ink px-7 py-4 font-semibold hover:opacity-90 transition cursor-pointer",children:["Get my quote ",e.jsx(r,{className:"size-4"})]})})})]})})]})}export{w as component};

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.