PageSourceSearch

https://knuckl.com/assets/HomeownerLanding-BG-XT4jy.js

js knuckl.com collected 2026-10-02 01:35:53 UTC 4,131 bytes, 1 lines download raw bytes

1import{j as e}from"./vendor-query-CRhh6spR.js";import{H as i}from"./Head-B4hXUiBE.js";import{K as m}from"./KnucklLogo-Cu1rMULr.js";import{S as l}from"./SiteFooter-TTNglDDv.js";import{L as d}from"./LanguageToggle-CTzfjQUX.js";import{b as c,z as x,B as p}from"./index-BkVb42KZ.js";import{H as h}from"./homeowner-trades-DdI3fK_X.js";import{H as g}from"./hammer-C82DXUuh.js";import{M as u}from"./message-square-BwPXUwfW.js";import{L as t}from"./vendor-react-BAmwgVqg.js";import{A as j}from"./arrow-right-B52b088t.js";import"./textarea-BQTQ5UjX.js";import"./feedback-B_lOwORB.js";import"./appReview-Bk4fLWAZ.js";import"./rate-limiter-WC2fj22N.js";import"./check-BtcgJ1Z4.js";import"./star-BpldOkBP.js";import"./lightbulb-DpFV_zaq.js";import"./bug-CC6EGtcS.js";import"./heart-eiWSLpyF.js";import"./send-5x2Iukow.js";import"./message-square-plus-C0jguNXr.js";import"./globe-BUYI8zey.js";import"./chevron-down-CXoJibNt.js";import"./vendor-charts-BVeOEGzI.js";import"./vendor-stripe-2y4Jo9_W.js";import"./vendor-supabase-Csx7YFID.js";import"./skill-catalog-CiwHrT6-.js";function G(){const{tr:o}=c(),s=[{icon:g,title:o("homeowner.landing.card1Title"),body:o("homeowner.landing.card1Body")},{icon:x,title:o("homeowner.landing.card2Title"),body:o("homeowner.landing.card2Body")},{icon:u,title:o("homeowner.landing.card3Title"),body:o("homeowner.landing.card3Body")}];return e.jsxs("div",{className:"min-h-screen bg-background",children:[e.jsx(i,{title:"Hire a local contractor — post your home project | Knuckl",description:"Describe your home project in two minutes and reach verified local contractors and subs. No account, no phone tree, no spam — you stay anonymous until you reply.",jsonLd:{"@context":"https://schema.org","@type":"Service",name:"Knuckl for homeowners",serviceType:"Home improvement contractor matching",areaServed:"US",provider:{"@type":"Organization",name:"Knuckl",url:"https://knuckl.com"}}}),e.jsxs("header",{className:"px-5 py-4 flex items-center justify-between",children:[e.jsx(t,{to:"/homeowners","aria-label":"Knuckl for homeowners",children:e.jsx(m,{className:"h-7"})}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(d,{}),e.jsx(t,{to:"/",className:"text-sm text-muted-foreground hover:text-foreground",children:o("homeowner.landing.imAPro")})]})]}),e.jsxs("main",{children:[e.jsxs("section",{className:"px-5 pt-10 pb-14 max-w-3xl mx-auto text-center",children:[e.jsxs("h1",{className:"text-4xl sm:text-5xl font-bold tracking-tight leading-tight",children:[o("homeowner.landing.heroLine1"),e.jsx("span",{className:"block text-primary",children:o("homeowner.landing.heroLine2")})]}),e.jsx("p",{className:"mt-5 text-lg text-muted-foreground max-w-xl mx-auto",children:o("homeowner.landing.heroBody")}),e.jsx(p,{asChild:!0,size:"lg",className:"mt-8 h-13 px-7 text-base rounded-xl",children:e.jsxs(t,{to:"/homeowners/post",children:[o("homeowner.landing.cta")," ",e.jsx(j,{className:"ml-2 w-4 h-4"})]})}),e.jsx("p",{className:"mt-3 text-xs text-muted-foreground",children:o("homeowner.landing.ctaNote")})]}),e.jsx("section",{className:"px-5 pb-14 max-w-4xl mx-auto grid gap-4 sm:grid-cols-3",children:s.map(({icon:r,title:a,body:n})=>e.jsxs("div",{className:"rounded-card border border-border/60 bg-card/60 backdrop-blur p-5 text-left",children:[e.jsx(r,{className:"w-5 h-5 text-primary"}),e.jsx("h2",{className:"mt-3 font-semibold",children:a}),e.jsx("p",{className:"mt-1.5 text-sm text-muted-foreground leading-relaxed",children:n})]},a))}),e.jsxs("section",{className:"px-5 pb-16 max-w-4xl mx-auto",children:[e.jsx("h2",{className:"text-xl font-semibold text-center",children:o("homeowner.landing.whatPeoplePost")}),e.jsx("div",{className:"mt-5 flex flex-wrap justify-center gap-2",children:h.filter(r=>r.id!=="other").map(r=>e.jsx(t,{to:`/homeowners/post?trade=${r.id}`,className:"px-3.5 py-2 rounded-full border border-border/60 bg-card/60 text-sm hover:border-primary/60 hover:text-primary transition-colors",children:o(`homeowner.trades.${r.id}.label`)===`homeowner.trades.${r.id}.label`?r.label:o(`homeowner.trades.${r.id}.label`)},r.id))})]})]}),e.jsx(l,{})]})}
1export{G as default};

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.