1import{j as r}from"./framer-motion-BWOJscbQ.js";import{S as O}from"./supplierPublicColumns-BAx-XA3_.js";import{h as z,u as J,r as x,L as N}from"./react-vendor-CTQ5oN6e.js";import{H as I,u as V,s as b,b as j,S as G,B as Q}from"./index-BGGffNOo.js";import{C as Y,a as X}from"./card-BQvoRoTK.js";import{B as y}from"./badge-CVNIQU2X.js";import{S as Z}from"./SEOHead-RjSrzj4j.js";import{B as ee}from"./Breadcrumbs-DMDI5rAr.js";import{g as re,F as se}from"./FAQSchema-BuUjhBeh.js";import{i as ie}from"./isAfter-CWAoOxqP.js";import{a as te}from"./addHours-ShUMSbZw.js";import{f as ae}from"./formatDistanceToNow-DFn0Mnzh.js";import{r as ne,s as oe,a$ as de,n as le,v as ce,J as ge}from"./lucide-Br37_3Ge.js";import{C as me}from"./CollectionPageSchema-DoVeGkYL.js";import{A as ue}from"./AIAssistantCTA-Jy3qoaLx.js";import{s as pe}from"./subDays-BatAg3Va.js";import"./radix-Dm55zrBT.js";import"./supabase-CwYCqXQR.js";import"./query-CzLsswPQ.js";import"./en-US-CgDMsxOc.js";import"./addMilliseconds-CzFxK7LL.js";import"./constructNow-DslqHLN0.js";import"./endOfMonth-Cyy0IiHb.js";import"./endOfDay-bnbq5QlQ.js";import"./differenceInSeconds-DoPjtp7Z.js";import"./addDays-DLp3niaN.js";function he(e,s){return te(e,-24)}function fe({lastUpdated:e,newListingsCount:s=0,dealsCount:p=0,showLastUpdated:l=!0,className:c=""}){const m=e?new Date(e):new Date,d=ie(m,he(new Date));return r.jsxs("div",{className:`flex flex-wrap items-center gap-2 ${c}`,children:[l&&r.jsxs(y,{variant:d?"default":"secondary",className:"gap-1",children:[r.jsx(ne,{className:"h-3 w-3"}),"Updated ",ae(m,{addSuffix:!0})]}),s>0&&r.jsxs(y,{className:"gap-1 bg-green-500 hover:bg-green-600",children:[r.jsx(oe,{className:"h-3 w-3"}),s," new this week"]}),p>0&&r.jsxs(y,{variant:"outline",className:"gap-1 border-primary text-primary",children:[r.jsx(de,{className:"h-3 w-3"}),p," deals available"]})]})}function we({location:e,typeLabel:s,count:p,nearby:l=[],modifiers:c=[]}){const m=s.toLowerCase(),d=/^[aeiou]/i.test(s)?"an":"a";return r.jsxs("section",{"aria-labelledby":"location-seo-heading",className:"mt-12 mb-8 rounded-2xl border bg-card p-6 md:p-8",children:[r.jsxs("h2",{id:"location-seo-heading",className:"font-serif text-2xl md:text-3xl mb-4",children:["Finding the right ",m," in ",e]}),r.jsxs("div",{className:"prose prose-sm md:prose-base max-w-none text-muted-foreground space-y-4",children:[r.jsxs("p",{children:["Whether you're planning an intimate elopement or a larger celebration, ",e," offers ",d," brilliant mix of ",m," to suit every couple. We currently list"," ",r.jsx("strong",{children:p.toLocaleString("en-GB")})," trusted"," ",m.replace(/^wedding /,"")," across ",e,", each verified by the Ever After List team and reviewed by real UK couples."]}),r.jsx("p",{children:"Use the filters above to narrow by budget, capacity, style and availability. Every listing on Ever After List shows transparent pricing where available, recent reviews, and a direct enquiry form - so you can compare side by side and message the suppliers you love in a single click. There are no booking fees and no obligation."}),c.length>0&&r.jsxs(r.Fragment,{children:[r.jsxs("h3",{className:"font-serif text-xl mt-6 mb-2 text-foreground",children:["Popular ",m," in ",e]}),r.jsx("ul",{className:"grid grid-cols-2 md:grid-cols-3 gap-2 list-none pl-0",children:c.map(u=>r.jsx("li",{className:"m-0",children:r.jsx("a",{href:u.href,className:"text-primary hover:underline underline-offset-4",children:u.label})},u.href))})]}),l.length>0&&r.jsxs(r.Fragment,{children:[r.jsx("h3",{className:"font-serif text-xl mt-6 mb-2 text-foreground",children:"Looking further afield?"}),r.jsxs("p",{children:["Couples planning a wedding in ",e," also explore"," ",m," in nearby areas:"]}),r.jsx("ul",{className:"flex flex-wrap gap-x-3 gap-y-1 list-none pl-0",children:l.map(u=>r.jsx("li",{className:"m-0",children:r.jsx("a",{href:u.href,className:"text-primary hover:underline underline-offset-4",children:u.label})},u.href))})]}),r.jsx("h3",{className:"font-serif text-xl mt-6 mb-2 text-foreground",children:"Why book through Ever After List?"}),r.jsxs("ul",{className:"space-y-1",children:[r.jsx("li",{children:"Every supplier is verified and approved before going live."}),r.jsx("li",{children:"Reviews come from real couples who have booked."}),r.jsx("li",{children:"Free planning tools - budget calculator, guest list, seating planner and more - included with every account."}),r.jsx("li",{children:"UK-only directory: prices in £, distances in miles, and suppliers who understand UK wedding traditions."})]})]})]})}const C=e=>/^the uk$|^uk$/i.test(e),t=e=>C(e)?"across the UK":`in ${e}`,A=e=>C(e)?"the UK":e,B={venue:(e,s)=>({metaTitle:`Wedding Venues ${t(e)} (${s}+) - Prices, Photos & Reviews | Ever After List`,metaDescription:`Compare ${s}+ wedding venues ${t(e)}. Real prices, verified reviews, photos and availability for barns, country houses, castles and hotels. Enquire free.`,intro:`From historic country houses and converted barns to luxury hotels and intimate restaurants, ${A(e)} offers some of the UK's most loved wedding venues. We track ${s}+ licensed venues ${t(e)} with verified pricing, capacity, exclusive-use options and outdoor ceremony licences - so you can shortlist, compare and enquire without hopping between sites.`,avgPrice:C(e)?"£8,000â£15,000 (venue hire only)":`£6,500â£14,000 (venue hire ${t(e)})`}),photographer:(e,s)=>({metaTitle:`Wedding Photographers ${t(e)} - ${s}+ Portfolios, Prices & Reviews | Ever After List`,metaDescription:`Browse ${s}+ wedding photographers ${t(e)}. Documentary, fine-art and traditional styles, transparent pricing and verified reviews. Shortlist free.`,intro:`Whether you want documentary candids, editorial fine-art coverage or relaxed lifestyle portraits, we list ${s}+ wedding photographers ${t(e)}. Filter by style, day-rate and previous venues, then view full galleries and read couple-verified reviews before you book.`,avgPrice:"£1,400â£3,200 for full-day coverage"}),videographer:(e,s)=>({metaTitle:`Wedding Videographers ${t(e)} - ${s}+ Showreels, Prices & Reviews | Ever After List`,metaDescription:`${s}+ wedding videographers ${t(e)}. Cinematic highlight films, drone coverage and full ceremony edits. Watch showreels and compare packages.`,intro:`Modern wedding films range from 3-minute cinematic highlights to feature-length documentary edits. We list ${s}+ videographers ${t(e)} with embedded showreels, drone-licence info and clear package pricing - pair them with your photographer for a consistent visual story.`,avgPrice:"£1,500â£3,500 for highlight film + feature edit"}),florist:(e,s)=>({metaTitle:`Wedding Florists ${t(e)} - ${s}+ Designers, Prices & Portfolios | Ever After List`,metaDescription:`${s}+ wedding florists ${t(e)}. Bouquets, ceremony arches, seasonal installations and reception flowers. Compare designers and request quotes.`,intro:`From wild, seasonal British-grown blooms to dramatic suspended installations, ${s}+ wedding florists ${t(e)} bring your colour palette to life. Browse real-wedding portfolios, check minimum spends and enquire directly - the best florists book 9â12 months ahead.`,avgPrice:"£1,200â£3,500 for ceremony + reception flowers"}
1),caterer:(e,s)=>({metaTitle:`Wedding Caterers ${t(e)} - ${s}+ Menus, Per-Head Prices & Reviews | Ever After List`,metaDescription:`Compare ${s}+ wedding caterers ${t(e)}. Sit-down menus, sharing platters, street food and canapés with per-head pricing and verified reviews.`,intro:`Wedding catering ${t(e)} now covers everything from formal sit-down menus to wood-fired pizza vans and family-style sharing feasts. We list ${s}+ caterers with per-head pricing, dietary policies and venue approval lists - most also handle drinks packages and front-of-house staff.`,avgPrice:"£70â£135 per head for 3-course + canapés"}),planner:(e,s)=>({metaTitle:`Wedding Planners ${t(e)} - ${s}+ Specialists, Fees & Reviews | Ever After List`,metaDescription:`${s}+ wedding planners ${t(e)} offering full planning, partial planning and on-the-day coordination. Compare fees and book a free consultation.`,intro:`A great planner pays for themselves in supplier discounts, contract reviews and stress saved. ${s}+ wedding planners ${t(e)} offer everything from full design-led planning to on-the-day coordination - including specialists in marquee builds, multi-day cultural weddings and destination logistics.`,avgPrice:"£800 (on-the-day) â £10,000+ (full planning)"}),cake:(e,s)=>({metaTitle:`Wedding Cake Makers ${t(e)} - ${s}+ Designers & Prices | Ever After List`,metaDescription:`${s}+ wedding cake designers ${t(e)}. Buttercream, fondant, sugar flowers, naked cakes and vegan options. Compare and book tastings.`,intro:`Wedding cake design has moved well beyond the traditional tiered fruit cake. ${s}+ cake makers ${t(e)} offer buttercream, fondant, sugar-flower and sculpted designs, plus vegan, gluten-free and cheese-tower alternatives. Most include consultation, tasting and venue delivery.`,avgPrice:"£300â£900 for 60â100 servings"}),dj:(e,s)=>({metaTitle:`Wedding DJs ${t(e)} - ${s}+ DJs, Prices & Reviews | Ever After List`,metaDescription:`${s}+ wedding DJs ${t(e)} with set-up, lighting and PA included. Open-format, house, indie, R&B and Bollywood specialists.`,intro:`From open-format crowd-pleasers to house, indie, R&B and Bollywood specialists, ${s}+ wedding DJs ${t(e)} include sound, lighting and a full evening's coverage as standard. Add a saxophonist, percussionist or LED dance-floor for upgrade options.`,avgPrice:"£550â£1,200 for full evening"}),band:(e,s)=>({metaTitle:`Wedding Bands ${t(e)} - ${s}+ Live Bands & Showreels | Ever After List`,metaDescription:`${s}+ wedding bands ${t(e)}. Function bands, soul/Motown, jazz trios, ceilidh and showbands with full audio, lighting and DJ playlists.`,intro:`Nothing fills a dance-floor like live music. ${s}+ wedding bands ${t(e)} cover function classics, soul and Motown, indie, jazz trios, ceilidh and full 10-piece showbands. Watch showreels, check line-up sizes and read couple reviews before booking.`,avgPrice:"£1,900â£4,500 (4â6 piece, two live sets)"}),hair_makeup:(e,s)=>({metaTitle:`Bridal Hair & Makeup Artists ${t(e)} - ${s}+ Artists & Prices | Ever After List`,metaDescription:`${s}+ bridal hair and makeup artists ${t(e)}. On-location service, trials and bridal-party packages with verified reviews.`,intro:`${s}+ bridal hair and makeup artists ${t(e)} cover everything from soft natural makeup to bold editorial looks, with on-location service for the bride, bridesmaids and mothers of the couple. Trials, allergy-friendly products and second-day styling are standard add-ons.`,avgPrice:"£200â£400 for bride, +£70â£120 per bridesmaid"}),celebrant:(e,s)=>({metaTitle:`Wedding Celebrants ${t(e)} - ${s}+ Bespoke Ceremonies | Ever After List`,metaDescription:`${s}+ wedding celebrants ${t(e)}. Bespoke, humanist, interfaith and bilingual ceremonies - full ceremony writing and rehearsal included.`,intro:`Celebrant-led ceremonies let you write your own vows, mix traditions and marry anywhere - woodland, cliff-top or your own back garden. ${s}+ celebrants ${t(e)} cover humanist, interfaith, bilingual and bespoke symbolic ceremonies.`,avgPrice:"£500â£900 for full bespoke ceremony"}),transport:(e,s)=>({metaTitle:`Wedding Transport ${t(e)} - ${s}+ Cars, Buses & Classics | Ever After List`,metaDescription:`${s}+ wedding transport providers ${t(e)}. Classic cars, vintage VW campers, London black cabs, double-deckers and luxury chauffeurs.`,intro:`From 1960s VW campers and Rolls-Royce classics to London Routemaster doubles and luxury chauffeur fleets, ${s}+ wedding transport providers ${t(e)} cover bride, groom, bridal-party and guest shuttle requirements.`,avgPrice:"£350â£800 for the day"})};function ve({supplierType:e,location:s,count:p,typeLabel:l,url:c}
1){const m=B[e];if(!m)return null;const d=m(s,p),u={"@context":"https://schema.org","@type":"Service",name:`${l} ${t(s)}`,serviceType:l,provider:{"@type":"Organization",name:"Ever After List",url:"https://www.everafterlist.com"},areaServed:{"@type":"AdministrativeArea",name:A(s),address:{"@type":"PostalAddress",addressCountry:"GB"}},url:`https://www.everafterlist.com${c}`,description:d.metaDescription,offers:d.avgPrice?{"@type":"AggregateOffer",priceCurrency:"GBP",availability:"https://schema.org/InStock",description:d.avgPrice}:void 0};return r.jsxs(r.Fragment,{children:[r.jsxs(I,{children:[r.jsx("title",{children:d.metaTitle}),r.jsx("meta",{name:"description",content:d.metaDescription}),r.jsx("meta",{property:"og:title",content:d.metaTitle}),r.jsx("meta",{property:"og:description",content:d.metaDescription}),r.jsx("script",{type:"application/ld+json",children:JSON.stringify(u)})]}),r.jsxs("section",{className:"mb-6 rounded-lg border bg-card/50 p-5 md:p-6 max-w-4xl",children:[r.jsx("p",{className:"text-base md:text-lg leading-relaxed text-foreground",children:d.intro}),d.avgPrice&&r.jsxs("p",{className:"mt-3 text-sm text-muted-foreground",children:[r.jsx("span",{className:"font-semibold text-foreground",children:"Typical UK pricing:"})," ",d.avgPrice]})]})]})}function xe(e,s,p){if(!e)return null;const l=B[e];return l?l(s,p):null}const ye={"wedding-venues":"venue","wedding-photographers":"photographer","wedding-videographers":"videographer","wedding-florists":"florist","wedding-caterers":"caterer","wedding-cakes":"cake","wedding-dresses":"dresses","wedding-suits":"suits","wedding-djs":"dj","wedding-bands":"band","wedding-decor":"decor","wedding-planners":"planner","wedding-hair-makeup":"hair_makeup","wedding-celebrants":"celebrant","wedding-jewellery":"jewellery","wedding-jewellers":"jewellery","wedding-rings":"jewellery","wedding-transport":"transport","wedding-entertainment":"entertainment","wedding-stationery":"stationery","wedding-invitations":"stationery","wedding-marquees":"marquee","wedding-marquee-hire":"marquee"},be=e=>({"wedding-venues":"Wedding Venues","wedding-photographers":"Wedding Photographers","wedding-videographers":"Wedding Videographers","wedding-florists":"Wedding Florists","wedding-caterers":"Wedding Caterers","wedding-cakes":"Wedding Cakes","wedding-dresses":"Wedding Dresses","wedding-suits":"Wedding Suits","wedding-djs":"Wedding DJs","wedding-bands":"Wedding Bands","wedding-decor":"Wedding Decor","wedding-planners":"Wedding Planners","wedding-hair-makeup":"Hair & Makeup Artists","wedding-celebrants":"Wedding Celebrants","wedding-jewellery":"Wedding Jewellers","wedding-jewellers":"Wedding Jewellers","wedding-rings":"Wedding Ring Specialists","wedding-transport":"Wedding Transport","wedding-entertainment":"Wedding Entertainment","wedding-stationery":"Wedding Stationery","wedding-invitations":"Wedding Invitations","wedding-marquees":"Marquee Hire","
1wedding-marquee-hire":"Marquee Hire"})[e]||"Wedding Suppliers",L=e=>e.toLowerCase()==="uk"||e.toLowerCase()==="united-kingdom"?"the UK":e.split("-").map(s=>s.charAt(0).toUpperCase()+s.slice(1)).join(" "),Ve=()=>{const{type:e,location:s}=z(),p=J(),{user:l}=V(),[c,m]=x.useState([]),[d,u]=x.useState(!0),[_,k]=x.useState(new Set),[E,T]=x.useState(0),[q,F]=x.useState(new Date),h=e?ye[e]:null,a=e?be(e):"Wedding Suppliers",n=s?L(s):"UK";x.useEffect(()=>{if(!h&&e){p("/directory");return}M(),U(),l&&R()},[e,s,l,h,p]);const U=async()=>{const i=pe(new Date,7).toISOString();let o=b.from("suppliers").select("id",{count:"exact",head:!0}).eq("is_active",!0).eq("approval_status","approved").gte("created_at",i);if(h&&(o=o.eq("supplier_type",h)),s&&s.toLowerCase()!=="uk"&&s.toLowerCase()!=="united-kingdom"){const g=L(s);o=o.or(`city.ilike.%${g}%,county.ilike.%${g}%,region.ilike.%${g}%`)}const{count:f}=await o;T(f||0)},R=async()=>{if(!l)return;const{data:i}=await b.from("favourites").select("supplier_id").eq("user_id",l.id);k(new Set((i==null?void 0:i.map(o=>o.supplier_id))||[]))},M=async()=>{u(!0);try{let i=b.from("suppliers").select(` 2 ${O}, 3 supplier_photos (image_url, is_cover_image) 4 `).eq("is_active",!0).eq("approval_status","approved").order("is_featured",{ascending:!1}).order("average_rating",{ascending:!1});if(h&&(i=i.eq("supplier_type",h)),s&&s.toLowerCase()!=="uk"&&s.toLowerCase()!=="united-kingdom"){const w=L(s);i=i.or(`city.ilike.%${w}%,county.ilike.%${w}%,region.ilike.%${w}%`)}const{data:o,error:f}=await i.limit(50),g=o??[];if(f)throw f;if(m(g||[]),g&&g.length>0){const w=g.reduce((W,D)=>new Date(D.updated_at)>new Date(W.updated_at)?D:W);F(new Date(w.updated_at))}}catch(i){console.error("Error fetching suppliers:",i),j.error("Failed to load suppliers")}finally{u(!1)}},K=async(i,o)=>{if(o.preventDefault(),o.stopPropagation(),!l){j.error("Please sign in to save favourites");return}_.has(i)?(await b.from("favourites").delete().eq("user_id",l.id).eq("supplier_id",i),k(g=>{const w=new Set(g);return w.delete(i),w}),j.success("Removed from favourites")):(await b.from("favourites").insert({user_id:l.id,supplier_id:i}),k(g=>new Set([...g,i])),j.success("Added to favourites"))},H=i=>{var f;const o=i==null?void 0:i.find(g=>g.is_cover_image);return(o==null?void 0:o.image_url)||((f=i==null?void 0:i[0])==null?void 0:f.image_url)||"https://images.unsplash.com/photo-1519741497674-611481863552?w=800"},$=h?re(h,n,c.length):[],v=xe(h,n,c.length),S=(v==null?void 0:v.metaTitle)??`${a} in ${n} | Find & Compare | Ever After List`,P=(v==null?void 0:v.metaDescription)??`Discover the best ${a.toLowerCase()} in ${n}. Compare prices, read reviews, view photos and book directly. Trusted by thousands of couples across the UK.`;return r.jsxs("div",{className:"min-h-screen bg-background",children:[r.jsx(Z,{title:S,description:P,keywords:`${a.toLowerCase()} ${n}, wedding suppliers ${n}, best ${a.toLowerCase()} near me`,canonicalUrl:`/${e}/${s}`}),$.length>0&&r.jsx(se,{faqs:$}),r.jsx(me,{name:S,description:P,url:`/${e}/${s}`,totalItems:c.length,items:c.slice(0,20).map(i=>({name:i.business_name,url:`/supplier/${i.id}`,image:i.cover_image_url||i.logo_url||void 0,description:i.description||void 0,priceRange:i.price_range||void 0,rating:i.average_rating||void 0,reviewCount:i.review_count||void 0,location:{city:i.city,region:i.county||i.region}}))}),r.jsxs("div",{className:"container mx-auto px-4 py-6",children:[r.jsx(ee,{items:[{label:"Directory",href:"/directory"},{label:a,href:`/${e}`},{label:n}]}),r.jsxs("div",{className:"mb-8",children:[r.jsx(fe,{lastUpdated:q,newListingsCount:E,className:"mb-4"}),r.jsx("p",{className:"text-xs uppercase tracking-[0.2em] text-gold mb-2",children:"Directory"}),r.jsxs("h1",{className:"font-serif text-4xl md:text-5xl leading-[1.05] mb-3",children:[a," in ",n]}),r.jsxs("p",{className:"text-muted-foreground text-lg max-w-3xl",children:["Find and compare the best ",a.toLowerCase()," in ",n,". Read reviews, view portfolios, and contact suppliers directly."]})]}),!d&&h&&r.jsx(ve,{supplierType:h,location:n,count:c.length,typeLabel:a,url:`/${e}/${s}`}),r.jsx(ue,{context:`${a.toLowerCase()} in ${n}`,variant:"compact",className:"mb-6"}),!d&&r.jsxs("p",{className:"text-sm text-muted-foreground mb-6",children:["Showing ",c.length," ",a.toLowerCase()," in ",n]}),d?r.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:[1,2,3,4,5,6].map(i=>r.jsx(G,{className:"h-80 rounded-lg"},i))}):c.length===0?r.jsxs("div",{className:"text-center py-16",children:[r.jsxs("p",{className:"text-xl text-muted-foreground mb-4",children:["No ",a.toLowerCase()," found in ",n]}),r.jsx(Q,{asChild:!0,variant:"outline",children:r.jsx(N,{to:"/directory",children:"Browse All Suppliers"})})]}):r.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:c.map(i=>{var o;return r.jsx(N,{to:`/supplier/${i.id}`,children:r.jsxs(Y,{className:"group overflow-hidden hover:shadow-lg transition-all cursor-pointer h-full",children:[r.jsxs("div",{className:"relative aspect-[4/3] overflow-hidden",children:[r.jsx("img",{src:H(i.supplier_photos),alt:i.business_name,className:"w-full h-full object-cover group-hover:scale-105 transition-transform duration-300",loading:"lazy"}),r.jsxs("div",{className:"absolute top-3 left-3 flex flex-col gap-1.5 items-start z-10",children:[i.is_featured&&r.jsx(y,{className:"bg-primary text-primary-foreground",children:"Featured"}),i.supplier_type!=="venue"&&i.service_radius_miles===0&&r.jsx(y,{className:"bg-secondary text-secondary-foreground shadow-sm whitespace-nowrap",children:"Studio-based · No travel"})]}),r.jsx("button",{onClick:f=>K(i.id,f),className:"absolute top-3 right-3 p-2 rounded-full bg-background/90 hover:bg-background transition-colors",children:r.jsx(le,{className:`h-5 w-5 ${_.has(i.id)?"fill-destructive text-destructive":"text-muted-foreground"}`})})]}),r.jsxs(X,{className:"p-4",children:[r.jsx("h2",{className:"font-serif text-lg mb-1 group-hover:text-primary transition-colors line-clamp-1",children:i.business_name}),r.jsxs("div",{className:"flex items-center gap-1 text-sm text-muted-foreground mb-2",children:[r.jsx(ce,{className:"h-4 w-4"}),r.jsxs("span",{children:[i.city,", ",i.county||i.region]})]}),r.jsxs("div",{className:"flex items-center justify-between",children:[i.review_count>0&&r.jsxs("div",{className:"flex items-center gap-1",children:[r.jsx(ge,{className:"h-4 w-4 fill-gold text-gold"}),r.jsx("span",{className:"font-medium",children:(o=i.average_rating)==null?void 0:o.toFixed(1)}),r.jsxs("span",{className:"text-sm text-muted-foreground",children:["(",i.review_count,")"]})]}),i.price_range&&r.jsx(y,{variant:"secondary",children:i.price_range})]})]})]})},i.id)})}),!d&&c.length>
40&&r.jsx(we,{location:n,typeLabel:a,count:c.length,nearby:["London","Manchester","Birmingham","Bristol","Leeds","Edinburgh"].filter(i=>i.toLowerCase()!==n.toLowerCase()).slice(0,5).map(i=>({label:`${a} in ${i}`,href:`/${e}/${i.toLowerCase()}`})),modifiers:e==="wedding-venues"?[{label:`Barn ${a.toLowerCase()} in ${n}`,href:`/${e}/${s}/barn`},{label:`Country house ${a.toLowerCase()} in ${n}`,href:`/${e}/${s}/country-house`},{label:`Outdoor ${a.toLowerCase()} in ${n}`,href:`/${e}/${s}/outdoor`},{label:`Small ${a.toLowerCase()} in ${n}`,href:`/${e}/${s}/small`},{label:`Luxury ${a.toLowerCase()} in ${n}`,href:`/${e}/${s}/luxury`},{label:`Affordable ${a.toLowerCase()} in ${n}`,href:`/${e}/${s}/affordable`}]:[]}),$.length>0&&r.jsxs("section",{className:"mt-16 border-t pt-12",children:[r.jsxs("h2",{className:"text-2xl font-serif mb-6",children:["Frequently Asked Questions About ",a," in ",n]}),r.jsx("div",{className:"space-y-6 max-w-3xl",children:$.map((i,o)=>r.jsxs("div",{className:"border-b pb-6 last:border-b-0",children:[r.jsx("h3",{className:"font-serif text-lg mb-2",children:i.question}),r.jsx("p",{className:"text-muted-foreground",children:i.answer})]},o))})]}),r.jsxs("section",{className:"mt-12 border-t pt-8",children:[r.jsxs("h2",{className:"text-xl font-semibold mb-4",children:["Explore More ",a]}),r.jsx("div",{className:"flex flex-wrap gap-2",children:["London","Manchester","Birmingham","Bristol","Leeds","Edinburgh","Glasgow","Cardiff","Liverpool","Newcastle"].map(i=>r.jsxs(N,{to:`/${e}/${i.toLowerCase()}`,className:"text-sm text-primary hover:underline",children:[a," in ",i]},i))})]})]})]})};export{Ve as LocationDirectory,Ve as default}; 5//# sourceMappingURL=LocationDirectory-kj_Y3lUU.js.map
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.