1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[28190],{496:(e,a,t)=>{t.d(a,{TL:()=>i,hp:()=>r,kM:()=>l,kq:()=>o,mm:()=>c});let n="/login",l="/admin/templates/list",r="Sign in",i="Sign up";function s(e,a){let t=(null!=a?a:"").trim();if(!t||!t.startsWith("/")||t.startsWith("//"))return e;let n=e.includes("?")?"&":"?";return"".concat(e).concat(n).concat("next","=").concat(encodeURIComponent(t))}function o(e){return s(n,e)}function c(e){return s("".concat(n,"?").concat("intent=signup"),e)}},28190:(e,a,t)=>{t.d(a,{default:()=>z});var n=t(95155),l=t(12115),r=t(66766),i=t(6874),s=t.n(i),o=t(55028),c=t(35695),d=t(66474),u=t(74783),h=t(54416),p=t(97168),m=t(33865),f=t(496),g=t(93556),b=t(41085);let y=(0,o.default)(()=>t.e(12991).then(t.bind(t,12991)),{loadableGenerated:{webpack:()=>[12991]},ssr:!1}),v=[{label:"Features",href:"/features"},{label:"Industries",href:"/features",children:[...m.$x.map(e=>({label:e.label,href:e.href})),{label:(0,m.OE)(),href:m.pN,accent:!0}]},{label:"Pricing",href:"/pricing"},{label:"Compare",href:"/compare"},{label:"Book a demo",href:"/book",button:!0,variant:"ghost"}];function x(){for(var e=arguments.length,a=Array(e),t=0;t<e;t++)a[t]=arguments[t];
1return a.filter(Boolean).join(" ")}let k="/logout",w="Dashboard",_="Sign out";function j(){let{user:e,ready:a}=l.useContext(g.I);return a&&e&&!e.is_anonymous?"member":"visitor"}function N(e){let{pathname:a}=e;return"member"===j()?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s(),{href:f.kM,className:x("text-zinc-300 hover:text-white transition-colors",a===f.kM&&"text-white"),children:w}),(0,n.jsx)(s(),{href:k,className:"inline-flex","aria-label":_,children:(0,n.jsx)(p.$,{size:"sm",variant:"ghost",children:_})})]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s(),{href:(0,f.kq)(),className:"text-zinc-300 hover:text-white transition-colors",children:f.hp}),(0,n.jsx)(s(),{href:(0,f.mm)(),className:"inline-flex","aria-label":f.TL,children:(0,n.jsx)(p.$,{size:"sm",variant:"default",children:f.TL})})]})}function C(){let e="member"===j()?[{label:w,href:f.kM,variant:"default"},{label:_,href:k,variant:"ghost"}]:[{label:f.TL,href:(0,f.mm)(),variant:"default"},{label:f.hp,href:(0,f.kq)(),variant:"ghost"}];return(0,n.jsx)("div",{className:"mb-3 flex flex-col gap-2 border-b border-zinc-800/60 pb-3",children:e.map(e=>(0,n.jsx)(b.kN,{asChild:!0,children:(0,n.jsx)(s(),{href:e.href,className:"inline-flex","aria-label":e.label,children:(0,n.jsx)(p.$,{className:"w-full justify-center",variant:e.variant,children:e.label})})},e.href))})}function A(e){var a;let{item:t,pathname:r}=e,[i,o]=l.useState(!1),c=l.useRef(null),u=null!==(a=t.children)&&void 0!==a?a:[],h=u.some(e=>e.href===r);return l.useEffect(()=>o(!1),[r]),l.useEffect(()=>{if(!i)return;let e=e=>{c.current&&!c.current.contains(e.target)&&o(!1)},a=e=>{"Escape"===e.key&&o(!1)};return document.addEventListener("mousedown",e),document.addEventListener("keydown",a),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",a)}},[i]),(0,n.jsxs)("div",{ref:c,className:"relative",children:[(0,n.jsxs)("button",{type:"button",onClick:()=>o(e=>!e),"aria-expanded":i,"aria-haspopup":"menu",className:x("flex items-center gap-1 text-zinc-300 transition-colors hover:text-white",(i||h)&&"text-white"),children:[t.label,(0,n.jsx)(d.A,{className:x("h-3.5 w-3.5 transition-transform",i&&"rotate-180")})]}),(0,n.jsx)("div",{role:"menu",hidden:!i,className:x("absolute left-0 top-full z-50 mt-2 min-w-48 rounded-lg border border-zinc-800 bg-zinc-950/95 p-1 shadow-xl backdrop-blur",!i&&"hidden"),children:u.map(e=>(0,n.jsx)(s(),{href:e.href,role:"menuitem",className:x("block rounded-md px-3 py-2 text-sm transition-colors",e.accent?"mt-1 border-t border-zinc-800 pt-2 text-sky-300 hover:bg-sky-500/10 hover:text-sky-200":r===e.href?"bg-zinc-800 text-white":"text-zinc-300 hover:bg-zinc-900 hover:text-white"),children:e.label},e.href))})]})}function z(e){let{sticky:a=!0,logoSrc:t="/qs-default-favicon.ico",logoText:l="QuickSites",logoHref:i="/",links:o=v,className:d}=e,m=(0,c.usePathname)();return(0,n.jsx)("header",{className:x("border-b border-zinc-800/40",a&&"sticky top-0 z-40 backdrop-blur bg-black/30",d),children:(0,n.jsxs)("div",{className:"mx-auto max-w-6xl px-6 py-3 flex items-center justify-between",children:[(0,n.jsxs)(s(),{href:i,className:"flex items-center gap-2","aria-label":"".concat(l," home"),children:[(0,n.jsx)(r.default,{src:t,alt:l,width:24,height:24,className:"rounded"}),(0,n.jsx)("span",{className:"text-sm text-zinc-300",children:l})]}),(0,n.jsxs)("nav",{className:"hidden lg:flex items-center gap-4 text-sm",children:[o.map(e=>{var a,t;return(null===(a=e.children)||void 0===a?void 0:a.length)?(0,n.jsx)(A,{item:e,pathname:m},e.href+e.label):e.button?(0,n.jsx)(s(),{href:e.href,className:"inline-flex",target:e.external?"_blank":void 0,rel:e.external?"noopener noreferrer":void 0,"aria-label":e.label,children:(0,n.jsx)(p.$,{size:"sm",variant:null!==(t=e.variant)&&void 0!==t?t:"ghost",children:e.label})},e.href+e.label):(0,n.jsx)(s(),{href:e.href,className:x("text-zinc-300 hover:text-white transition-colors",m===e.href&&"text-white"),target:e.external?"_blank":void 0,rel:e.external?"noopener noreferrer":void 0,"aria-current":m===e.href?"page":void 0,children:e.label},e.href+e.label)}),(0,n.jsx)("span",{className:"mx-1 h-5 w-px bg-zinc-800/50"}),(0,n.jsx)(N,{pathname:m}),(0,n.jsx)(y,{})]}),(0,n.jsx)("div",{className:"lg:hidden",children:(0,n.jsxs)(b.cj,{children:[(0,n.jsx)(b.CG,{asChild:!0,children:(0,n.jsx)(p.$,{variant:"ghost",size:"icon","aria-label":"Open menu",children:(0,n.jsx)(u.A,{className:"h-5 w-5"})})}),(0,n.jsxs)(b.h,{side:"right",className:"w-80 overflow-y-auto overscroll-contain bg-black/95 border-l border-zinc-800/40 pb-[max(1.5rem,env(safe-area-inset-bottom))]",children:[(0,n.jsx)(b.Fm,{children:(0,n.jsxs)(b.qp,{className:"flex items-center gap-2",children:[(0,n.jsx)(r.default,{src:t,alt:l,width:20,height:20,className:"rounded"}),(0,n.jsx)("span",{children:l})]})}),(0,n.jsxs)("nav",{className:"mt-6 flex flex-col gap-2",children:[(0,n.jsx)(C,{}),o.map(e=>{var a,t;let l=m===e.href;return(null===(a=e.children)||void 0===a?void 0:a.length)?(0,n.jsxs)("div",{className:"mt-1",children:[(0,n.jsx)("div",{className:"px-3 py-1 text-[11px] font-medium uppercase tracking-wide text-zinc-500",children:e.label}),e.children.map(e=>(0,n.jsx)(b.kN,{asChild:!0,children:(0,n.jsx)(s(),{href:e.href,className:x("block rounded-md px-3 py-2 text-sm transition-colors",e.accent?"text-sky-300 hover:bg-sky-500/10 hover:text-sky-200":m===e.href?"bg-zinc-800 text-white":"text-zinc-300 hover:bg-zinc-900 hover:text-white"),"aria-current":m===e.href?"page":void 0,children:e.label})},e.href))]},e.href+e.label):(0,n.jsx)(b.kN,{asChild:!0,children:e.button?(0,n.jsx)(s(),{href:e.href,className:"inline-flex",target:e.external?"_blank":void 0,rel:e.external?"noopener noreferrer":void 0,"aria-label":e.label,children:(0,n.jsx)(p.$,{className:"w-full justify-start",variant:null!==(t=e.variant)&&void 0!==t?t:"ghost",children:e.label})}):(0,n.jsx)(s(),{href:e.href,className:x("rounded-md px-3 py-2 text-sm transition-colors",l?"bg-zinc-800 text-white":"text-zinc-300 hover:bg-zinc-900 hover:text-white"),target:e.external?"_blank":void 0,rel:e.external?"noopener noreferrer":void 0,"aria-current":l?"page":void 0,children:e.label})},e.href+e.label)}),(0,n.jsx)("div",{className:"mt-4 border-t border-zinc-800/60 pt-3",children:[{label:"Contact",href:"/contact"},{label:"Partners & resellers",href:"/partners"}].map(e=>(0,n.jsx)(b.kN,{asChild:!0,children:(0,n.jsx)(s(),{href:e.href,className:x("block rounded-md px-3 py-2 text-sm transition-colors",m===e.href?"bg-zinc-800 text-white":"text-zinc-400 hover:bg-zinc-900 hover:text-white"),"aria-current":m===e.href?"page":void 0,children:e.label})},e.href))}),(0,n.jsx)("div",{className:"mt-3",children:(0,n.jsx)(y,{hideWhenEmpty:!1,className:"w-full justify-center"})}),(0,n.jsx)(b.kN,{asChild:!0,children:(0,n.jsxs)(p.$,{variant:"ghost",className:"mt-2 w-full gap-2","aria-label":"Close menu",children:[(0,n.jsx)(h.A,{className:"h-4 w-4"})," Close"]})})]})]})]})})]})})}},33865:(e,a,t)=>{t.d(a,{$x:()=>i,OE:()=>s,pN:()=>l});var n=t(92243);let l="/gallery";function r(e){return"".concat(l,"?industry=").concat(encodeURIComponent(e))}let i=[{key:"restaurant",label:"Restaurants",href:"/restaurants"},{key:"real_estate",label:"Real Estate",href:"/realtors"},{key:"auto_repair",label:"Auto Repair",href:"/secondset"},{key:"plumbing",label:"Plumbing",href:r("plumbing")},{key:"hvac",label:"HVAC",href:r("hvac")},{key:"salon_spa",label:"Salon & Spa",href:r("salon_spa")},{key:"deck_builder",label:"Deck Builder",href:r("deck_builder")},{key:"roofing",label:"Roofing",href:r("roofing")},{key:"photography",label:"Photography",href:r("photography")},{key:"author",label:"Author",href:r("author")},{key:"fitness",label:"Fitness",href:r("fitness")},{key:"landscaping",label:"Landscaping",href:r("landscaping")},{key:"lemonade_stand",label:"Lemonade Stands",href:"/lemonade-stands"},{label:"Supplements",href:"/supplements"},{label:"Job Seekers",href:"/verbatim"}];function s(){return"+".concat(function(){let e=new Set(i.map(e=>
1e.key).filter(Boolean));return Math.max(0,n.Bp.length-e.size)}()," more")}},41085:(e,a,t)=>{t.d(a,{CG:()=>d,Fm:()=>g,cj:()=>c,h:()=>f,kN:()=>u,qp:()=>b});var n=t(95155),l=t(12115),r=t(15452),i=t(74466),s=t(54416),o=t(70743);let c=r.bL,d=r.l9,u=r.bm,h=r.ZL,p=l.forwardRef((e,a)=>{let{className:t,...l}=e;return(0,n.jsx)(r.hJ,{className:(0,o.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",t),...l,ref:a})});p.displayName=r.hJ.displayName;let m=(0,i.F)("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 data-[state=open]:animate-in data-[state=closed]:animate-out",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),f=l.forwardRef((e,a)=>{let{side:t="right",className:l,children:i,...c}=e;return(0,n.jsxs)(h,{children:[(0,n.jsx)(p,{}),(0,n.jsxs)(r.UC,{ref:a,className:(0,o.cn)(m({side:t}),l),...c,children:[(0,n.jsxs)(r.bm,{className:"absolute right-4 top-4 roun
1ded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[(0,n.jsx)(s.A,{className:"h-4 w-4"}),(0,n.jsx)("span",{className:"sr-only",children:"Close"})]}),i]})]})});f.displayName=r.UC.displayName;let g=e=>{let{className:a,...t}=e;return(0,n.jsx)("div",{className:(0,o.cn)("flex flex-col space-y-2 text-center sm:text-left",a),...t})};g.displayName="SheetHeader";let b=l.forwardRef((e,a)=>{let{className:t,...l}=e;return(0,n.jsx)(r.hE,{ref:a,className:(0,o.cn)("text-lg font-semibold text-foreground",t),...l})});b.displayName=r.hE.displayName,l.forwardRef((e,a)=>{let{className:t,...l}=e;return(0,n.jsx)(r.VY,{ref:a,className:(0,o.cn)("text-sm text-muted-foreground",t),...l})}).displayName=r.VY.displayName},70743:(e,a,t)=>{t.d(a,{cn:()=>r});var n=t(52596),l=t(39688);function r(){for(var e=arguments.length,a=Array(e),t=0;t<e;t++)a[t]=arguments[t];return(0,l.QP)((0,n.$)(a))}},87577:(e,a,t)=>{t.d(a,{A:()=>s,_:()=>o});var n=t(95155),l=t(12115),r=t(18841);let i=l.createContext(null);function s(e){let{children:a,initialSession:t}=e,[s]=l.useState(()=>(0,r.k)("https://kcwruliugwidsdgsrthy.supabase.co","sb_publishable__APnyFQtthayVgb5SVEN2A_vrMjBzVs"));return l.useEffect(()=>{let e=!1;(async()=>{if(!(null==t?void 0:t.access_token)||!(null==t?void 0:t.refresh_token))return;let{data:a}=await s.auth.getSession();if(a.session||await s.auth.setSession({access_token:t.access_token,refresh_token:t.refresh_token}),e)return})();let{data:a}=s.auth.onAuthStateChange(()=>{});return()=>{e=!0,a.subscription.unsubscribe()}},[s,null==t?void 0:t.access_token,null==t?void 0:t.refresh_token]),(0,n.jsx)(i.Provider,{value:{supabase:s},children:a})}function o(){let e=l.useContext(i);if(!e)throw Error("useSupabase must be used within <SupabaseProvider>");return e}},92243:(e,a,t)=>{t.d(a,{Bp:()=>n,GK:()=>d,QG:()=>c,V8:()=>r,ZA:()=>m,fv:()=>u,iC:()=>h,x6:()=>p,xL:()=>o});let n=[{key:"towing",label:"Towing"},{key:"window_washing",label:"Window Washing"},{key:"windshield_repair",label:"Windshield Repair"},{key:"roof_cleaning",label:"Roof Cleaning"},{key:"landscaping",label:"Landscaping"},{key:"hvac",label:"HVAC"},{key:"plumbing",label:"Plumbing"},{key:"electrical",label:"Electrical"},{key:"auto_repair",label:"Auto Repair"},{key:"carpet_cleaning",label:"Carpet Cleaning"},{key:"moving",label:"Moving"},{key:"pest_control",label:"Pest Control"},{key:"painting",label:"Painting"},{key:"general_contractor",label:"General Contractor"},{key:"deck_builder",label:"Deck Builder"},{key:"dome_builder",label:"Dome Builder"},{key:"treehouse_builder",label:"Treehouse Builder"},{key:"fencing",label:"Fencing"},{key:"concrete",label:"Concrete"},{key:"turf",label:"Artificial Turf"},{key:"epoxy_flooring",label:"Epoxy Flooring"},{key:"paving",label:"Paving"},{key:"roofing",label:"Roofing"},{key:"siding",label:"Siding"},{key:"retaining_walls",label:"Retaining Walls"},{key:"real_estate",label:"Real Estate"},{key:"real_estate_agency",label:"Real Estate Agency"},{key:"restaurant",label:"Restaurant"},{key:"lemonade_stand",label:"Lemonade Stand"},{key:"salon_spa",label:"Salon & Spa"},{key:"fitness",label:"Fitness"},{key:"photography",label:"Photography"},{key:"legal",label:"Legal"},{key:"medical_dental",label:"Medical / Dental"},{key:"window_washing",label:"Window Cleaning"},{key:"pressure_washing",label:"Pressure Washing"},{key:"junk_removal",label:"Junk Removal"},{key:"retail_boutique",label:"Retail - Boutique"},{key:"retail_home_goods",label:"Retail - Home Goods"},{key:"retail_electronics",label:"Retail - Electronics"},{key:"retail_thrift",label:"Retail - Thrift/Resale"},{key:"crafts",label:"Crafts"},{key:"handmade",label:"Handmade"},{key:"etsy_style",label:"Etsy-style Shop"},{key:"gifts_stationery",label:"Gifts & Stationery"},{key:"artisan_goods",label:"Artisan Goods"},{key:"art_supplies",label:"Art Supplies & Crafts"},{key:"antiques_vintage",label:"Antiques & Vintage"},{key:"collectibles",label:"Collectibles"},{key:"pet_boutique",label:"Pet Boutique"},{key:"pop_up_shop",label:"Pop-up Shop"}
1,{key:"farmers_market_vendor",label:"Farmers Market Vendor"},{key:"online_reseller",label:"Online Reseller"},{key:"print_on_demand",label:"Print-on-Demand"},{key:"custom_apparel",label:"Custom Apparel"},{key:"author",label:"Author"},{key:"personal",label:"Personal / About Me"},{key:"faith",label:"Church / Faith Community"},{key:"auto_dealer",label:"Auto Dealer"},{key:"other",label:"Other"}],l={};for(let{key:e,label:a}of n)null==l[e]&&(l[e]=a);let r=l,i=n.map(e=>[e.label.toLowerCase(),e.key]);for(let{key:e}of n)i.push([e.toLowerCase(),e]);let s=Object.fromEntries(i),o=Object.values(r),c={Towing:"Emphasize 24/7 dispatch, rapid ETA, roadside services, transparent pricing.","Window Washing":"Residential & commercial, safety, streak-free, maintenance plans.","Windshield Repair":"Safe windshield replacement, damage repair, damage detection, mobile service.","Pressure Washing":"Driveways/siding/decks, safe pressures, restoration effect, curb appeal.",Landscaping:"Seasonal maintenance, design/build, irrigation, hardscapes, HOA packages.",HVAC:"Emergency service, maintenance plans, SEER ratings, financing, IAQ.",Plumbing:"Leak repair, water heaters, drain clearing, camera inspection, upfront estimates.",Electrical:"Licensed, panel upgrades, EV chargers, lighting design, permits handled.","Auto Repair":"Diagnostics, preventative maintenance, warranties, OEM parts.","Carpet Cleaning":"Pet/odor treatment, fast-dry times, eco-friendly solutions.",Moving:"Local/long-distance, packing/unpacking, insured, flat-rate options.","Pest Control":"Eco-aware treatments, quarterly plans, rodent exclusion, same-day service.",Painting:"Prep, color consult, interior/exterior, fast turnaround, warranties.","General Contractor":"Licensed/bonded, permits, schedules, change-order transparency.","Deck Builder":"Custom decks, railings & pergolas, material choices (PT/cedar/composite), free instant estimates, permits handled.",Fencing:"Wood/vinyl/chain-link/aluminum fences, gates, repairs, free instant estimates by the foot.",Concrete:"Patios, driveways, walkways, stamped & colored finishes, free instant estimates by the square foot.","Artificial Turf":"Lawns, putting greens, pet & playground turf, low-maintenance, free instant estimates.","Epoxy Flooring":"Garage & commercial floor coatings (flake/metallic), grind prep, durable, free instant estimates.",Paving:"Asphalt & paver driveways, sealcoating, resurfacing, free instant estimates by the square foot.",Roofing:"Roof replacement & repair (shingle/metal/tile), tear-offs, storm damage, free instant estimates.",Siding:"Vinyl/wood/fiber-cement siding, stucco, trim, repairs, free instant estimates by the square foot.","Retaining Walls":"Block/stone/poured walls, hardscaping, drainage, engineered above 4ft, free instant estimates.","Real Estate":"Neighborhood expertise, staging/photography, negotiation, transparent fees.","Real Estate Agency":"A whole brokerage: a roster of agents (each with a headshot, bio, and their own voice), featured listings with audio tours, and seller/buyer lead magnets.",Restaurant:"Signature dishes, dietary options, delivery/pickup, specials.","Salon & Spa":"Experience/vibe, memberships, hygiene, before/after gallery.",Fitness:"Programs, coaching, community, intro specials, class packs.",Photography:"Style specialties, packages, rights/usage, quick delivery.",Legal:"Practice focus, plain-language guidance, consults, discretion.","Medical / Dental":"Comfort, modern tech, insurance handling, preventative plans.","Junk Removal":"Same-day hauling, volume pricing, recycling/donation focus.","Retail - Boutique":"Curated apparel & accessories, limited drops, styling, lookbooks.","Personal / About Me":"Who you are and what youâre about â a warm, audio-forward personal page that can speak in your own voice.","Church / Faith Community":"Service times, upcoming events, a welcoming word, and a message you can hear â plus an easy way to give and plan a visit.","Auto Dealer":"Browsable inventory with photos, price & mileage, an audio walkaround for each car, and one-tap âask about this oneâ."};function d(e){var a;let t=(e||"").toLowerCase().trim();return t?null!==(a=s[t])&&void 0!==a?a:u(t):"other"}function u(e){let a=(e||"").toLowerCase().trim();if(!a)return"other";let t=s[a];return t||(a.includes("tow")?"towing":a.includes("plumb")?"plumbing":a.includes("roof")&&(a.includes("clean")||a.includes("wash"))?"roof_cleaning":a.includes("window")?"window_washing":a.includes("windshield")?"windshield_repair":a.includes("pressure")||a.includes("power wash")?"pressure_washing":a.includes("lawn")||a.includes("landsc")?"landscaping":a.includes("hvac")?"hvac":a.includes("elect")?"electrical":a.includes("dealership")||a.includes("dealer")||a.includes("used car")||a.includes("car lot")||a.includes("car sales")||a.includes("pre-owned")?"auto_dealer":a.includes("auto")?"auto_repair":a.includes("carpet")?"carpet_cleaning":a.includes("move")?"moving":a.includes("pe
1st")?"pest_control":a.includes("paint")?"painting":a.includes("church")||a.includes("faith")||a.includes("ministry")||a.includes("ministries")||a.includes("worship")||a.includes("congregation")||a.includes("parish")||a.includes("synagogue")||a.includes("mosque")||a.includes("temple")?"faith":a.includes("about me")||a.includes("about.me")||a.includes("personal brand")||a.includes("personal site")?"personal":a.includes("dome")||a.includes("geodesic")?"dome_builder":a.includes("deck")||a.includes("pergola")?"deck_builder":a.includes("roof")?"roofing":a.includes("fenc")?"fencing":a.includes("concrete")||a.includes("flatwork")?"concrete":a.includes("turf")?"turf":a.includes("epoxy")||a.includes("garage floor")?"epoxy_flooring":a.includes("paving")||a.includes("paver")||a.includes("asphalt")?"paving":a.includes("siding")?"siding":a.includes("retaining")||a.includes("hardscap")?"retaining_walls":a.includes("contract")?"general_contractor":a.includes("brokerage")||a.includes("real estate agency")||a.includes("realty group")||a.includes("realty team")||a.includes("real estate team")?"real_estate_agency":a.includes("real estate")||a.includes("realtor")?"real_estate":a.includes("lemonade")?"lemonade_stand":a.includes("restaurant")?"restaurant":a.includes("salon")||a.includes("spa")?"salon_spa":a.includes("fitness")||a.includes("gym")?"fitness":a.includes("photo")?"photography":a.includes("legal")||a.includes("law")?"legal":a.includes("dental")||a.includes("medical")||a.includes("clinic")?"medical_dental":a.includes("junk")?"junk_removal":a.includes("boutique")?"retail_boutique":a.includes("home goods")?"retail_home_goods":a.includes("electronics")?"retail_electronics":a.includes("thrift")||a.includes("resale")?"retail_thrift":a.includes("etsy")?"etsy_style":a.includes("gift")||a.includes("stationery")?"gifts_stationery":a.includes("artisan")?"artisan_goods":a.includes("art supplies")?"art_supplies":a.includes("antique")||a.includes("vintage")?"antiques_vintage":a.includes("collect")?"collectibles":a.includes("pet boutique")?"pet_boutique":a.includes("pop-up")||a.includes("popup")?"pop_up_shop":a.includes("farmers market")?"farmers_market_vendor":a.includes("online reseller")?"online_reseller":a.includes("print-on-demand")||a.includes("print on demand")||a.includes("pod")?"print_on_demand":a.includes("custom apparel")?"custom_apparel":"other")}function h(e){return r[e]||"Other"}function p(e,a){let t=d(e||a||""),n=h(t);return{key:t,label:n}}function m(){let e=new Set,a=[];for(let{key:t,label:l}of n)e.has(t)||(e.add(t),a.push({value:t,label:l}));return a}},93556:(e,a,t)=>{t.d(a,{I:()=>i,Q:()=>s});var n=t(95155),l=t(12115),r=t(87577);let i=l.createContext({user:null,ready:!1,isAdmin:!1});function s(e){let{children:a}=e,{supabase:t}=(0,r._)(),[s,o]=l.useState({user:null,ready:!1,isAdmin:!1}),c=e=>{var a;let t=null!==(a=null==e?void 0:e.app_metadata)&&void 0!==a?a:{};if((null==t?void 0:t.isAdmin)===!0)return!0;let n=null==t?void 0:t.roles;return Array.isArray(n)&&n.includes("admin")};return l.useEffect(()=>{let e=!1;(async()=>{let{data:a,error:n}=await t.auth.getUser();if(!e&&!n&&(null==a?void 0:a.user)){let e=a.user;o({user:e,ready:!0,isAdmin:c(e)});return}try{var l;let a=await fetch("/api/auth/whoami",{cache:"no-store"}),t=await a.json(),n=null!==(l=null==t?void 0:t.user)&&void 0!==l?l:null;e||o({user:n,ready:!0,isAdmin:!!(null==t?void 0:t.isAdmin)})}catch(a){e||o({user:null,ready:!0,isAdmin:!1})}})();let{data:a}=t.auth.onAuthStateChange((e,a)=>{var t;let n=null!==(t=null==a?void 0:a.user)&&void 0!==t?t:null;o({user:n,ready:!0,isAdmin:c(n)})});return()=>{e=!0,a.subscription.unsubscribe()}},[t]),(0,n.jsx)(i.Provider,{value:s,children:a})}},97168:(e,a,t)=>{t.d(a,{$:()=>c,r:()=>o});var n=t(95155),l=t(12115),r=t(99708),i=t(74466),s=t(70743);let o=(0,i.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),c=l.forwardRef((e,a)=>{let{className:t,variant:l,size:i,asChild:c=!1,...d}=e,u=c?r.DX:"button";return(0,n.jsx)(u,{className:(0,s.cn)(o({variant:l,size:i,className:t})),ref:a,...d})});c.displayName="Button"}}]);
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.