PageSourceSearch

https://roofv.ai/build/assets/RoofrAlternatives-BXv967DY.js

js roofv.ai collected 2026-10-05 14:25:02 UTC 4,070 bytes, 1 lines download raw bytes

1import{_ as c}from"./CompetitorSources.vue_vue_type_script_setup_true_lang-BAjt7Rid.js";import{_ as v}from"./FaqAccordion.vue_vue_type_script_setup_true_lang-nHz1FJxq.js";import{_ as u,a as _}from"./SeoHead.vue_vue_type_script_setup_true_lang-DKA3CGkG.js";import{_ as g}from"./MoreComparisons.vue_vue_type_script_setup_true_lang-ttMB2dKL.js";import{_ as h}from"./SiteBreadcrumbs.vue_vue_type_script_setup_true_lang-RVAEBU8O.js";import{P as m}from"./app-CEZoZvWt.js";import{d as w,c as d,o as i,g as s,q as l,a as e,s as o,F as x,f as k,n as b,e as y,b as R,t as a,u as f}from"./vue-runtime-BQRJclI-.js";import"./site-icons-BpOMQBK2.js";import"./lucide-core-CAjyj2By.js";import"./BrandMark.vue_vue_type_script_setup_true_lang-D4DEn3kG.js";import"./popover-Fz5_sbyT.js";import"./open-closed-B1VpkpRb.js";import"./index-DW7t84mx.js";import"./locale-CEc2pebt.js";import"./analytics-n60hlbQi.js";const V={class:"space-y-5 pb-12"},$={class:"flex flex-wrap items-center gap-3"},q={class:"font-mono text-sm font-bold text-vr-dim"},B={class:"text-xl font-extrabold tracking-tight"},C={class:"mt-3 max-w-3xl text-sm leading-relaxed text-vr-dim"},N={class:"mt-3 text-sm"},j={class:"text-vr-dim"},F={key:0,class:"mt-4 flex flex-wrap gap-3"},A={class:"border-t border-vr-line/70 py-12"},E={class:"mt-6 max-w-3xl"},L={class:"mt-6 text-sm text-vr-dim"},P={class:"space-y-8 border-t border-vr-line/70 py-12"},Z=w({__name:"RoofrAlternatives",props:{alternatives:{},faqs:{},sources:{},meta:{}},setup(S){return(n,t)=>(i(),d(x,null,[s(u,{meta:n.meta},null,8,["meta"]),s(_,null,{default:l(()=>[s(h,{"json-ld":n.meta.jsonLd},null,8,["json-ld"]),t[7]||(t[7]=e("section",{class:"pb-10 pt-4 sm:pt-8"},[e("h1",{class:"max-w-3xl text-4xl font-black leading-[1.05] tracking-tight sm:text-5xl"},[o(" The best "),e("span",{class:"text-vr-amber"},"Roofr alternatives"),o(" in 2026 ")]),e("p",{class:"mt-5 max-w-2xl text-base leading-relaxed text-vr-dim"}," Roofr is a solid platform. If you order a lot of done-for-you measurement reports, want photo documentation without a separate app, or need inspection findings shown on the roof, it's worth comparing. Here are six alternatives, including what each one is genuinely best at. ")],-1)),e("section",V,[(i(!0),d(x,null,k(n.alternatives,(r,p)=>(i(),d("article",{key:r.name,class:b(["rounded-2xl border p-6",p===0?"border-vr-amber/50 bg-vr-amber/5":"border-vr-line bg-vr-panel/80"])},[e("div",$,[e("span",q,a(p+1)+".",1),e("h2",B,a(r.name),1),e("span",{class:b(["rounded-full px-2.5 py-1 font-mono text-[10px] font-bold uppercase tracking-wider",p===0?"bg-vr-amber text-vr-amberink":"border border-vr-line text-vr-dim"])},a(r.tag),3)]),e("p",C,a(r.body),1),e("p",N,[t[0]||(t[0]=e("strong",{class:"text-vr-text"},"Best for:",-1)),t[1]||(t[1]=o()),e("span",j,a(r.best),1)]),r.href?(i(),d("div",F,[s(f(m),{href:r.href,class:"inline-flex h-11 items-center rounded-lg bg-vr-amber px-4 text-sm font-bold text-vr-amberink transition hover:bg-vr-amberhi"},{default:l(()=>[o(" Explore "+a(r.name),1)]),_:2},1032,["href"]),s(f(m),{href:"/roofv-vs-roofr",class:"inline-flex h-11 items-center rounded-lg border border-vr-line bg-vr-panel/70 px-4 text-sm font-bold transition hover:border-vr-amber"},{default:l(()=>t[2]||(t[2]=[o(" RoofV vs Roofr, head-to-head ")])),_:1})])):r.compare?(i(),y(f(m),{key:1,href:r.compare.href,class:"mt-4 inline-flex h-11 items-center rounded-lg border border-vr-line bg-vr-panel/70 px-4 text-sm font-bold transition hover:border-vr-amber"},{default:l(()=>[o(a(r.compare.label),1)]),_:2},1032,["href"])):R("",!0)],2))),128))]),e("section",A,[t[6]||(t[6]=e("h2",{class:"text-2xl font-black tracking-tight"},"Roofr alternatives FAQ",-1)),e("div",E,[s(v,{faqs:n.faqs},null,8,["faqs"])]),e("p",L,[t[4]||(t[4]=o(" See also ")),s(f(m),{href:"/roofing-software",class:"font-semibold text-vr-amber hover:underline"},{default:l(()=>t[3]||(t[3]=[o("what's inside RoofV")])),_:1}),t[5]||(t[5]=o(". "))])]),e("section",P,[s(g,{current:"/roofr-alternatives"}),s(c,{sources:n.sources},null,8,["sources"])])]),_:1})],64))}});export{Z 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.