PageSourceSearch

https://repsshield.com/assets/CostSegEstimatorPage-D90nCcQc.js

js repsshield.com collected 2026-10-02 02:01:07 UTC 7,882 bytes, 1 lines download raw bytes

1import{j as e,P as R,f as k,ac as C,B as A,A as L}from"./index-DGo-vssZ.js";import{u as P,r as a}from"./vendor-Qgthw7N1.js";function _(){const[,w]=P(),[i,h]=a.useState(""),[u,m]=a.useState([]),[j,l]=a.useState(!1),[x,N]=a.useState(!1),[b,y]=a.useState(1),[p,S]=a.useState(!1),f=a.useRef(null);a.useEffect(()=>{document.title="Free Cost Segregation Estimator - REPSShield";const t="Estimate first-year tax savings from cost segregation in minutes. Enter your property address to launch the REPSShield Cost Seg chat workspace.";[{name:"description",content:t},{property:"og:title",content:"Cost Segregation Estimator | REPSShield"},{property:"og:description",content:t},{property:"og:type",content:"website"}].forEach(({name:s,property:o,content:c})=>{const g=s?`meta[name="${s}"]`:`meta[property="${o}"]`;let n=document.querySelector(g);n||(n=document.createElement("meta"),s&&n.setAttribute("name",s),o&&n.setAttribute("property",o),document.head.appendChild(n)),n.setAttribute("content",c)})},[]);const E=async t=>{const r="068184098df04e2e8460f461097031d0";if(t.trim().length<5){m([]);return}try{const s=`https://api.geoapify.com/v1/geocode/autocomplete?text=${encodeURIComponent(t)}&filter=countrycode:us&format=geojson&limit=6&apiKey=${r}`,o=await fetch(s);if(!o.ok)return;const c=await o.json();m(c.features??[]),l(!0)}catch{m([])}},v=()=>{const t=i.trim();t&&(N(!0),l(!1),w(`/tools/cost-seg-estimator/chat?address=${encodeURIComponent(t)}`))},d=a.useMemo(()=>{const t=i.trim()||"101 High St, Los Angeles - bought it last year.";return[{id:"assistant-intro",role:"assistant",text:"Hi there. I find the tax savings hiding in your properties. Drop an address below for a free personalized estimate."},{id:"user-address",role:"user",text:t},{id:"assistant-preview",role:"assistant",text:"Found about $117K in potential first-year savings. Front-loading this into years 1-2 usually saves the most, and an engineer can lock in the final numbers."}]},[i]);return a.useEffect(()=>{if(typeof window>"u")return;const t=window.matchMedia("(prefers-reduced-motion: reduce)"),r=()=>S(t.matches);return r(),t.addEventListener("change",r),()=>t.removeEventListener("change",r)},[]),a.useEffect(()=>{if(p){y(d.length);return}let t=null;const r=s=>{y(s);const o=s<d.length,c=o?1250:2200,g=o?s+1:1;t=setTimeout(()=>r(g),c)};return r(1),()=>{t&&clearTimeout(t)}},[p,d.length]),e.jsx(R,{hideFooter:!0,hideEmailIntake:!0,children:e.jsxs("div",{className:"relative min-h-[calc(100vh-88px)] overflow-hidden",children:[e.jsx("div",{className:"absolute inset-0 bg-[linear-gradient(120deg,#ffffff_0%,#ffffff_52%,var(--color-accent-light)_100%)]"}),e.jsx("div",{className:"absolute -top-28 -right-28 h-[26rem] w-[26rem] rounded-full bg-[var(--color-primary)]/12 blur-3xl"}),e.jsx("div",{className:"absolute -bottom-40 -left-20 h-[30rem] w-[30rem] rounded-full bg-[var(--color-primary)]/10 blur-3xl"}),e.jsx("main",{className:"relative z-10 mx-auto max-w-[1320px] px-6 py-10 lg:py-14",children:e.jsxs("div",{className:"grid items-center gap-10 lg:grid-cols-[1fr_640px]",children:[e.jsxs("section",{className:"max-w-xl",children:[e.jsxs("div",{className:"inline-flex items-center gap-2 rounded-full border border-[var(--color-border)] bg-white px-4 py-1.5 text-sm font-medium text-gray-700 shadow-sm",children:[e.jsx("span",{className:"h-2 w-2 rounded-full bg-[var(--color-primary)]"}),"Instant estimate + engineer-ready workflow"]}),e.jsxs("h1",{className:"mt-6 text-4xl font-bold leading-tight text-gray-900 md:text-6xl",children:["Maximize Cash Flow Using",e.jsx("span",{className:"text-[var(--color-primary)]",children:" the IRS Tax Code"})]}),e.jsx("p",{className:"mt-6 text-lg leading-relaxed text-gray-600",children:"Start with a live address-based estimate, then continue in a dedicated chat workspace that breaks down your first-year cost segregation savings."}),e.jsx("ul",{className:"mt-7 space-y-2.5 text-base text-gray-700",children:["Address-specific estimate in under 60 seconds","Inline value and service-year edits before full report","Built for RE investors and CPA-ready conversations"].map(t=>e.jsxs("li",{className:"flex items-start gap-2.5",children:[e.jsx(k,{className:"mt-0.5 h-5 w-5 text-[var(--color-primary)]"}),e.jsx("span",{children:t})]},t))})]}),e.jsxs("section",{className:"rounded-3xl border border-[var(--color-border)] bg-white p-5 shadow-[0_22px_60px_rgba(17,24,39,0.14)]",children:[e.jsx("div",{className:"rounded-2xl border border-[var(--color-border)] bg-[var(--color-accent-light)] px-5 py-3 text-sm text-gray-800",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("p",{className:"font-semibold",children:"REPSSHIELD Cost Segregation AI"}),e.jsxs("p",{className:"inline-flex items-center gap-1 text-[var(--color-primary-dark)]",children:[e.jsx("span",{className:"h-2 w-2 rounded-full bg-[var(--color-primary)]"}),"Live"]})]})}),e.jsx("div",{className:"mt-4 flex h-[430px] flex-col rounded-2xl border border-[var(--color-border)] bg-[linear-gradient(180deg,#ffffff_0%,#f8fcf6_100%)] p-4",children:e.jsxs("div",{className:"flex-1 space-y-3 overflow-hidden",children:[d.slice(0,b).map((t,r)=>{const s=t.role==="user";return e.jsxs("div",{className:`motion-safe:animate-in motion-safe:fade-in motion-safe:slide-in-from-bottom-2 ${s?"flex justify-end":"flex items-end gap-2"} `,style:{animationDelay:`${r*90}ms`},children:[!s&&e.jsx("div",{className:"mb-1 flex h-8 w-8 items-center justify-center rounded-full border border-[var(--color-border)] bg-white text-[var(--color-primary-dark)] shadow-sm",children:e.jsx(C,{className:"h-4 w-4"})}),e.jsx("div",{className:`max-w-[86%] rounded-2xl px-4 py-3 text-[15px] leading-relaxed shadow-sm ${s?"bg-[var(--color-primary-dark)] text-white":"border border-gray-200 bg-white text-gray-800"}`,children:t.text})]},t.id)}),!p&&b<d.length&&e.jsxs("div",{className:"flex items-center gap-2 pl-10 text-[var(--color-primary-dark)]",children:[e.jsx("span",{className:"h-1.5 w-1.5 animate-bounce rounded-full bg-[var(--color-primary)] [animation-delay:-0.3s]"}),e.jsx("span",{className:"h-1.5 w-1.5 animate-bounce rounded-full bg-[var(--color-primary)] [animation-delay:-0.15s]"}),e.jsx("span",{className:"h-1.5 w-1.5 animate-bounce rounded-full bg-[var(--color-primary)]"})]})]})}),e.jsxs("div",{className:"mt-4 rounded-2xl border border-[var(--color-border)] bg-white p-3",children:[e.jsxs("div",{className:"relative flex flex-col gap-2 rounded-2xl bg-gray-50 p-2 sm:flex-row sm:items-center",children:[e.jsx("input",{value:i,onChange:t=>{const r=t.target.value;h(r),f.current&&clearTimeout(f.current),f.current=setTimeout(()=>E(r),280)},onFocus:()=>u.length>0&&l(!0),onBlur:()=>setTimeout(()=>l(!1),140),onKeyDown:t=>t.key==="Enter"&&v(),placeholder:"Enter property address...",className:"h-12 flex-1 rounded-xl border border-transparent bg-white px-4 text-[15px] text-gray-800 outline-none ring-[var(--color-primary)] focus:border-[var(--color-primary)]",disabled:x}),e.jsxs(A,{type:"button",onClick:v,disabled:!i.trim()||x,className:"inline-flex h-12 items-center justify-center gap-2 rounded-xl bg-[var(--color-primary)] px-6 text-sm font-semibold text-white transition hover:bg-[var(--color-primary-dark)] disabled:opacity-60",children:[x?"Analyzing...":"Analyze Now",e.jsx(L,{className:"h-4 w-4"})]}),j&&u.length>0&&e.jsx("ul",{className:"absolute left-2 right-2 top-[58px] z-20 overflow-hidden rounded-xl border border-gray-200 bg-white shadow-xl sm:top-[56px]",children:u.map(t=>e.jsx("li",{className:"cursor-pointer px-4 py-2.5 text-sm text-gray-700 hover:bg-[var(--color-accent-light)]",onMouseDown:()=>{h(t.properties.formatted),m([]),l(!1)},children:t.properties.formatted},t.properties.formatted))})]}),e.jsx("p",{className:"mt-3 text-center text-sm text-gray-500",children:"Join investors using REPSShield to uncover hidden first-year savings."})]})]})]})})]})})}export{_ 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.