1import{_ as ee}from"./BfNQs6Go.js";import{p as z,c as O}from"./DQSuM1Xs.js";import{u as te}from"./UnUaaOJj.js";import{d as N,h as n,f as g,i as l,t as c,m as S,o as _,n as w,v as se,u as ie,c as oe,b as ne,e as ae,s as M,g as y,F as le,r as re,j as $e,k as de,_ as fe}from"./CWXzWxAq.js";import{m as ce,h as ue,p as Z,i as q,g as j,r as pe}from"./BytFK68H.js";import{_ as he}from"./CW6TSjOm.js";import{_ as me}from"./DLF33vme.js";import{u as _e,b as ge}from"./V6PXsQGD.js";import"./kYHgEpaL.js";const ve={key:0,class:"rounded-xl border bg-surface/80 p-2","aria-label":"Sponsored"},be=["href","data-ad-network"],ke=["src","alt"],we={key:1,class:"grid h-14 w-14 shrink-0 place-items-center rounded-lg bg-surface-2 text-xs font-bold"},xe={class:"min-w-0 flex-1"},Ce={class:"truncate text-sm font-semibold"},Me={class:"truncate text-xs text-muted"},Le={class:"shrink-0 text-right text-xs"},Se={class:"font-semibold text-foreground"},Re={key:0,class:"text-muted"},ye=N({__name:"ReviewAdSlot",props:{keyword:{},currentUsername:{}},setup(r){const e=r,s=te(()=>e.keyword,()=>e.currentUsername||""),t=w(()=>s.value[0]??null);function i(o){const p=t.value;p&&(o.preventDefault(),window.location.href=p.outHref)}return(o,p)=>n(t)?(_(),g("aside",ve,[l("a",{href:n(t).profileHref,class:"flex items-center gap-3 rounded-lg px-1 py-1 transition hover:bg-surface-2","data-ad-network":n(t).network,onClick:i},[n(t).avatarUrl?(_(),g("img",{key:0,src:n(t).avatarUrl,alt:n(t).displayName,width:"56",height:"56",class:"h-14 w-14 shrink-0 rounded-lg object-cover"},null,8,ke)):(_(),g("div",we,c(n(t).displayName.slice(0,1)),1)),l("div",xe,[l("p",Ce,c(n(t).displayName),1),l("p",Me,"@"+c(n(t).username),1)]),l("div",Le,[l("div",Se,c(n(z)(n(t).isFree,n(t).price)),1),n(t).likes>
10?(_(),g("div",Re,c(n(O)(n(t).likes))+" likes",1)):S("",!0)])],8,be)])):S("",!0)}}),Ze=Object.assign(ye,{__name:"ReviewAdSlot"}),qe=["#f6d7c3","#f3c6a5","#e8b895","#d4a276","#c68642","#8d5524","#5c3310","#ffd6c0"],Be=["#1b1b1f","#2c1b14","#4a2c17","#7a3e1d","#c45c26","#d8a15a","#f2d08b","#3d2a55","#6b2d5b","#1f3d4d","#c43b5a","#2e4a3a"],Fe=["#2c211b","#3d5a80","#4a7c59","#6b4a2a","#5a3d6b","#1f4d4a"],Ie=["#ff2d78","#b026ff","#20e3b2","#f5c518","#3d7eff","#ff6b35","#e8e4f0","#1c1c2b"],He=[["#2a1030","#ff2d78"],["#101828","#3d7eff"],["#10241c","#20e3b2"],["#2a1808","#f5c518"],["#1a1028","#b026ff"],["#241018","#ff6b35"],["#0e1c24","#7dd3fc"],["#22101c","#fb7185"],["#14201a","#86efac"],["#1c1428","#c4b5fd"],["#201410","#fdba74"],["#10141c","#94a3b8"]];function H(r){return Math.max(0,Math.min(255,Math.round(r))).toString(16).padStart(2,"0")}function Ne(r,e,s){const t=[parseInt(r.slice(1,3),16),parseInt(r.slice(3,5),16),parseInt(r.slice(5,7),16)],i=[parseInt(e.slice(1,3),16),parseInt(e.slice(3,5),16),parseInt(e.slice(5,7),16)];return`#${H(t[0]+(i[0]-t[0])*s)}${H(t[1]+(i[1]-t[1])*s)}${H(t[2]+(i[2]-t[2])*s)}`}function m(r,e){return Ne(r,e>=0?"#ffffff":"#000000",Math.abs(e))}function Pe(r){const e=ce(ue(`portrait:${r}`)),s=Z(e,qe),t=Z(e,Be),i=Z(e,Fe),o=Z(e,Ie),[p,u]=Z(e,He),d=q(e,0,13),L=q(e,0,4),k=q(e,0,7),x=q(e,0,5),B=e()>.35,a=200,$=188,f=78+q(e,-4,6),v=[];if(x===0)for(let h=0;h<7;h++)v.push(`<circle cx="${30+h*56}" cy="${24+h%2*18}" r="${16+h%3*6}" fill="${u}" opacity="0.18"/>`);else if(x===1)for(let h=0;h<6;h++)v.push(`<rect x="${12+h*66}" y="0" width="18" height="480" fill="${u}" opacity="0.12" transform="rotate(${-14+h} 200 240)"/>`);else if(x===2)v.push(`<circle cx="70" cy="90" r="90" fill="${u}" opacity="0.16"/>`),v.push(`<circle cx="340" cy="380" r="120" fill="${u}" opacity="0.14"/>`);else if(x===3)for(let h=0;h<18;h++){const F=20+h*97%360,I=20+h*53%440;v.push(`<polygon points="${F},${I} ${F+8},${I+14} ${F-8},${I+14}" fill="${u}" opacity="0.22"/>`)}else x===4?(v.push(`<path d="M0 90 Q200 10 400 110 L400 0 L0 0 Z" fill="${u}" opacity="0.2"/>`),v.push(`<path d="M0 480 Q200 360 400 470 L400 480 L0 480 Z" fill="${u}" opacity="0.16"/>`)):(v.push(`<circle cx="200" cy="210" r="168" fill="${u}" opacity="0.12"/>`),v.push(`<circle cx="200" cy="210" r="128" fill="none" stroke="${u}" stroke-width="8" opacity="0.18"/>`));const U=`<path d="M70 430 C90 350 130 320 200 318 C270 320 310 350 330 430 L330 480 L70 480 Z" fill="${o}"/>`,A=`<path d="M158 328 C176 352 224 352 242 328 C230 360 170 360 158 328 Z" fill="${m(o,-.25)}"/>`,T=`<path d="M176 250 C176 292 224 292 224 250 L218 328 C208 338 192 338 182 328 Z" fill="${m(s,-.08)}"/>`,E=`<ellipse cx="${a-f+6}" cy="${$+8}" rx="14" ry="20" fill="${m(s,-.06)}"/>`,D=`<ellipse cx="${a+f-6}" cy="${$+8}" rx="14" ry="20" fill="${m(s,-.06)}"/>`,V=`<ellipse cx="${a}" cy="${$}" rx="${f}" ry="${f+6}" fill="${s}"/>`,Q=je(d,a,$,f,t),Y=ze(d,a,$,f,t),P=$-22,G=`<path d="M${a-38} ${P} q16 -10 32 0" fill="none" stroke="${m(t,-.15)}" stroke-width="4" stroke-linecap="round"/> 2 <path d="M${a+6} ${P} q16 -10 32 0" fill="none" stroke="${m(t,-.15)}" stroke-width="4" stroke-linecap="round"/>`,b=$-6,J=`<ellipse cx="${a-24}" cy="${b}" rx="11" ry="13" fill="#fff"/> 3 <ellipse cx="${a+24}" cy="${b}" rx="11" ry="13" fill="#fff"/> 4 <circle cx="${a-22}" cy="${b+1}" r="6" fill="${i}"/> 5 <circle cx="${a+26}" cy="${b+1}" r="6" fill="${i}"/> 6 <circle cx="${a-20}" cy="${b-2}" r="2" fill="#fff"/> 7 <circle cx="${a+28}" cy="${b-2}" r="2" fill="#fff"/>`,K=`<path d="M${a-3} ${$+8} q6 16 12 0" fill="none" stroke="${m(s,-.22)}" stroke-width="2.4" stroke-linecap="round"/>`;let R=`<path d="M${a-16} ${$+38} q16 12 32 0" fill="none" stroke="#c45c6a" stroke-width="3.2" stroke-linecap="round"/>`;L===1&&(R=`<path d="M${a-14} ${$+40} q16 4 28 0" fill="none" stroke="#b84d5c" stroke-width="3" stroke-linecap="round"/>`),L===2&&(R=`<path d="M${a-15} ${$+36} q15 16 30 0 q-15 6 -30 0 Z" fill="#c43b5a"/>`),L===3&&(R=`<ellipse cx="${a}" cy="${$+40}" rx="7" ry="5" fill="#c45c6a"/>`),L===4&&(R=`<path d="M${a-18} ${$+42} q18 -8 36 0" fill="none" stroke="#c45c6a" stroke-width="3" stroke-linecap="round"/>`);const W=B?`<ellipse cx="${a-42}" cy="${$+22}" rx="12" ry="6" fill="#f0a3a8" opacity="0.45"/> 8 <ellipse cx="${a+42}" cy="${$+22}" rx="12" ry="6" fill="#f0a3a8" opacity="0.45"/>`:"";let C="";k===1?C=`<circle cx="${a-f+4}" cy="${$+22}" r="5" fill="${u}"/> 9 <circle cx="${a+f-4}" cy="${$+22}" r="5" fill="${u}"/>`:k===2?C=`<rect x="${a-52}" y="${b-8}" width="40" height="4" rx="2" fill="${m(t,-.4)}"/> 10 <rect x="${a+12}" y="${b-8}" width="40" height="4" rx="2" fill="${m(t,-.4)}"/> 11 <circle cx="${a-32}" cy="${b+2}" r="16" fill="none" stroke="${m(t,-.4)}" stroke-width="3"/> 12 <circle cx="${a+32}" cy="${b+2}" r="16" fill="none" stroke="${m(t,-.4)}" stroke-width="3"/>`:k===3?C=`<path d="M${a-8} ${$+62} q8 16 16 0" fill="none" stroke="${u}" stroke-width="5"/> 13 <circle cx="${a}" cy="${$+80}" r="5" fill="${u}"/>`:k===4?C=`<polygon points="${a-18},${$-f+8} ${a}
13,${$-f-28} ${a+18},${$-f+8}" fill="${u}"/>`:k===5?C=`<path d="M${a-46} ${$+8} q-18 6 -10 22" fill="none" stroke="${t}" stroke-width="6" stroke-linecap="round"/> 14 <path d="M${a+46} ${$+8} q18 6 10 22" fill="none" stroke="${t}" stroke-width="6" stroke-linecap="round"/>`:k===6&&(C=`<rect x="${a-70}" y="${$-58}" width="140" height="18" rx="4" fill="${m(t,-.35)}"/>`);const X=r.split("-").slice(0,2).map(h=>h[0]||"").join("").toUpperCase();return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 480" width="400" height="480" role="img" aria-label="Cartoon portrait"> 15 <rect width="400" height="480" fill="${p}"/> 16 ${v.join(` 17 `)} 18 ${U} 19 ${A} 20 ${T} 21 ${Q} 22 ${E}${D} 23 ${V} 24 ${W} 25 ${G} 26 ${J} 27 ${K} 28 ${R} 29 ${Y} 30 ${C} 31 <circle cx="352" cy="428" r="28" fill="${u}"/> 32 <text x="352" y="434" text-anchor="middle" font-family="Geist, ui-sans-serif, system-ui, sans-serif" font-size="14" font-weight="800" fill="#0b0b12">${X}</text> 33</svg>`}function je(r,e,s,t,i){const o=m(i,-.12);return r===0||r===6||r===12?`<path d="M${e-t-8} ${s-10} C${e-t-30} ${s+90}, ${e-70} ${s+150}, ${e-40} ${s+170} 34 L${e+40} ${s+170} C${e+70} ${s+150}, ${e+t+30} ${s+90}, ${e+t+8} ${s-10} 35 C${e+t} ${s-t-30}, ${e-t} ${s-t-30}, ${e-t-8} ${s-10} Z" fill="${i}"/>`:r===1?`<path d="M${e-t-6} ${s+20} C${e-t-10} ${s+70}, ${e-80} ${s+88}, ${e-50} ${s+92} 36 L${e+50} ${s+92} C${e+80} ${s+88}, ${e+t+10} ${s+70}, ${e+t+6} ${s+20} 37 C${e+t} ${s-t-24}, ${e-t} ${s-t-24}, ${e-t-6} ${s+20} Z" fill="${i}"/>`:r===2||r===10?`<path d="M${e-t} ${s+8} C${e-t} ${s-t-18}, ${e+t} ${s-t-18}, ${e+t} ${s+8} 38 C${e+t-8} ${s+28}, ${e-t+8} ${s+28}, ${e-t} ${s+8} Z" fill="${i}"/>`:r===4||r===13?`<circle cx="${e}" cy="${s-t-6}" r="34" fill="${i}"/> 39 <path d="M${e-t} ${s} C${e-t} ${s-t-20}, ${e+t} ${s-t-20}, ${e+t} ${s} L${e+t-10} ${s+16} L${e-t+10} ${s+16} Z" fill="${o}"/>`:r===5?`<circle cx="${e-48}" cy="${s-40}" r="46" fill="${i}"/> 40 <circle cx="${e+48}" cy="${s-40}" r="46" fill="${i}"/> 41 <circle cx="${e}" cy="${s-70}" r="50" fill="${i}"/> 42 <circle cx="${e-20}" cy="${s-20}" r="40" fill="${i}"/> 43 <circle cx="${e+22}" cy="${s-18}" r="40" fill="${i}"/>`:r===9?`<circle cx="${e-46}" cy="${s-t-8}" r="26" fill="${i}"/> 44 <circle cx="${e+46}" cy="${s-t-8}" r="26" fill="${i}"/> 45 <path d="M${e-t} ${s} C${e-t} ${s-t-16}, ${e+t} ${s-t-16}, ${e+t} ${s}" fill="${i}"/>`:r===11?`<path d="M${e-62} ${s-40} C${e-80} ${s+20}, ${e-70} ${s+110}, ${e-58} ${s+150}" fill="none" stroke="${i}" stroke-width="14" stroke-linecap="round"/> 46 <path d="M${e+62} ${s-40} C${e+80} ${s+20}, ${e+70} ${s+110}, ${e+58} ${s+150}" fill="none" stroke="${i}" stroke-width="14" stroke-linecap="round"/> 47 <path d="M${e-t} ${s} C${e-t} ${s-t-22}, ${e+t} ${s-t-22}, ${e+t} ${s}" fill="${i}"/>`:`<path d="M${e-t-4} ${s+30} C${e-t-20} ${s+80}, ${e-40} ${s+130}, ${e-20} ${s+150} 48 L${e+20} ${s+150} C${e+40} ${s+130}, ${e+t+20} ${s+80}, ${e+t+4} ${s+30} 49 C${e+t} ${s-t-26}, ${e-t} ${s-t-26}, ${e-t-4} ${s+30} Z" fill="${i}"/>`}function ze(r,e,s,t,i){const o=s-t+4;return r===2||r===10?`<path d="M${e-t+10} ${o+18} C${e-24} ${o-8}, ${e+24} ${o-8}, ${e+t-10} ${o+18} 50 C${e+30} ${o+28}, ${e-30} ${o+28}, ${e-t+10} ${o+18} Z" fill="${i}"/>`:r===7||r===12?`<path d="M${e-t+14} ${o+22} C${e-8} ${o+36}, ${e+20} ${o-6}, ${e+t-12} ${o+20} 51 C${e+16} ${o}, ${e-20} ${o-2}, ${e-t+14} ${o+22} Z" fill="${i}"/>`:r===1?`<path d="M${e-48} ${o+24} C${e-8} ${o+38}, ${e+28} ${o+38}, ${e+50} ${o+22} 52 C${e+18} ${o+4}, ${e-20} ${o+4}, ${e-48} ${o+24} Z" fill="${i}"/>`:r===3?`<path d="M${e-36} ${o+16} C${e} ${o+40}, ${e+30} ${o+12}, ${e+46} ${o+22} 53 C${e+18} ${o}, ${e-22} ${o}, ${e-36} ${o+16} Z" fill="${i}"/> 54 <path d="M${e+18} ${o+8} C${e+64} ${o-20}, ${e+78} ${s+20}, ${e+60} ${s+80}" fill="none" stroke="${i}" stroke-width="16" stroke-linecap="round"/>`:`<path d="M${e-t+14} ${o+20} C${e-6} ${o+8}, ${e+36} ${o+8}, ${e+t-12} ${o+22} 55 C${e+12} ${o-2}, ${e-16} ${o}, ${e-t+14} ${o+20} Z" fill="${i}"/>`}const Oe=["aria-label","innerHTML"],Ue=N({__name:"ReviewPortrait",props:{slug:{},name:{},size:{}},setup(r){const e=r,s=w(()=>Pe(e.slug)),t=w(()=>e.size==="card"?"aspect-[5/6] w-full overflow-hidden rounded-xl":"overflow-hidden rounded-2xl");return(i,o)=>(_(),g("div",{class:se([n(t),"[&>svg]:h-full [&>svg]:w-full"]),"aria-label":`${r.name} cartoon portrait`,innerHTML:n(s)},null,10,Oe))}}),Ae=Object.assign(Ue,{__name:"ReviewPortrait"}),Te={class:"mx-auto max-w-3xl px-4 py-8"},Ee={class:"mt-2 text-3xl font-extrabold sm:text-4xl"},De={class:"mt-3 text-muted"},Ve={class:"mt-2 text-xs text-muted"},Qe={class:"my-5"},Ye={class:"mb-8 grid gap-5 sm:grid-cols-[240px_1fr] sm:items-start"},Ge={class:"overflow-hidden rounded-2xl border bg-surface"},Je={class:"rounded-2xl border bg-surface p-5"},Ke={class:"flex items-end gap-3"},We={class:"text-4xl font-extrabold leading-none"},Xe={class:"font-semibold text-brand"}
55,et={class:"mt-3 text-sm text-foreground/90"},tt={key:0,class:"mt-4 grid grid-cols-2 gap-2 text-sm"},st={class:"rounded-lg bg-surface-2 px-3 py-2"},it={class:"font-semibold"},ot={key:0,class:"rounded-lg bg-surface-2 px-3 py-2"},nt={class:"font-semibold"},at={key:1,class:"rounded-lg bg-surface-2 px-3 py-2"},lt={class:"font-semibold"},rt={key:2,class:"rounded-lg bg-surface-2 px-3 py-2"},$t={class:"font-semibold capitalize"},dt={class:"mt-12 border-t pt-8"},ft={class:"grid gap-3 sm:grid-cols-2"},ct=["src","alt"],ut={class:"block text-sm font-semibold"},pt={class:"mt-1 block text-xs text-muted"},Ct=N({__name:"[slug]",setup(r){const e=ie(),s=w(()=>String(e.params.slug)),t=w(()=>j(s.value));if(!t.value)throw oe({statusCode:404,statusMessage:"Review not found",fatal:!0});const i=w(()=>t.value),o=w(()=>pe(i.value.slug,4).map(u=>j(u.slug))),p=w(()=>i.value.facts);return ne({title:()=>i.value.title,description:()=>i.value.excerpt,ogTitle:()=>i.value.title,ogDescription:()=>i.value.excerpt,ogType:"article",ogUrl:()=>`${M.url}/reviews/${i.value.slug}`,ogImage:()=>`${M.url}${i.value.portraitSrc}`}),ae({link:[{rel:"canonical",href:`${M.url}/reviews/${i.value.slug}`}]}),_e([ge([{name:"Home",url:"/"},{name:"Reviews",url:"/reviews"},{name:i.value.name,url:`/reviews/${i.value.slug}`}]),{"@context":"https://schema.org","@type":"Review",headline:i.value.title,reviewBody:i.value.excerpt,datePublished:i.value.updated,dateModified:i.value.updated,author:{"@type":"Organization",name:M.name},publisher:{"@type":"Organization",name:M.name},itemReviewed:{"@type":"Person",name:i.value.name},reviewRating:{"@type":"Rating",ratingValue:i.value.score,bestRating:10,worstRating:1},image:`${M.url}${i.value.portraitSrc}`,mainEntityOfPage:`${M.url}/reviews/${i.value.slug}`}]),(u,d)=>{const L=ee,k=Ze,x=Ae,B=he,a=me,$=fe;return _(),g("article",Te,[y(L,{items:[{name:"Home",href:"/"},{name:"Reviews",href:"/reviews"},{name:n(i).name}]},null,8,["items"]),d[7]||(d[7]=l("p",{class:"text-xs font-semibold uppercase tracking-wide text-brand"},"Creator review",-1)),l("h1",Ee,c(n(i).title),1),l("p",De,c(n(i).excerpt),1),l("p",Ve,c(n(i).readMinutes)+" min read · Updated "+c(n(i).updated),1),l("div",Qe,[y(k,{keyword:n(i).keyword,"current-username":n(p)?.username||""},null,8,["keyword","current-username"])]),l("div",Ye,[l("div",Ge,[y(x,{slug:n(i).slug,name:n(i).name,size:"hero"},null,8,["slug","name"])]),l("div",Je,[l("div",Ke,[l("div",We,c(n(i).score.toFixed(1)),1),l("div",null,[d[0]||(d[0]=l("div",{class:"text-xs text-muted"},"Prooven take / 10",-1)),l("div",Xe,c(n(i).verdictLabel),1)])]),l("p",et,c(n(i).verdict),1),n(p)?(_(),g("dl",tt,[l("div",st,[d[1]||(d[1]=l("dt",{class:"text-xs text-muted"},"Door price",-1)),l("dd",it,c(n(z)(n(p).isFree,n(p).price,n(p).currency)),1)]),n(p).location?(_(),g("div",ot,[d[2]||(d[2]=l("dt",{class:"text-xs text-muted"},"Listed around",-1)),l("dd",nt,c(n(p).location),1)])):S("",!0),n(p).likes>0?(_(),g("div",at,[d[3]||(d[3]=l("dt",{class:"text-xs text-muted"},"Likes on file",-1)),l("dd",lt,c(n(O)(n(p).likes)),1)])):S("",!0),n(p).niches.length?(_(),g("div",rt,[d[4]||(d[4]=l("dt",{class:"text-xs text-muted"},"Tags",-1)),l("dd",$t,c(n(p).niches.slice(0,2).join(", ")),1)])):S("",!0)])):S("",!0),d[5]||(d[5]=l("p",{class:"mt-4 text-xs text-muted"}," Cartoon portrait generated for this review â not a photo, not a likeness claim. Official content stays on OnlyFans. ",-1))])]),y(B,{markdown:n(i).body},null,8,["markdown"]),y(a,{items:n(i).faq,title:"Quick answers"},null,8,["items"]),l("section",dt,[d[6]||(d[6]=l("h2",{class:"mb-4 text-xl font-bold"},"More reviews",-1)),l("div",ft,[(_(!0),g(le,null,re(n(o),f=>(_(),$e($,{key:f.slug,to:`/reviews/${f.slug}`,class:"flex gap-3 rounded-xl border bg-surface p-3 transition hover:border-brand/60"},{default:de(()=>[l("img",{src:f.portraitSrc,alt:`${f.name} cartoon portrait`,width:"64",height:"76",class:"h-[76px] w-16 rounded-lg object-cover"},null,8,ct),l("span",null,[l("span",ut,c(f.name),1),l("span",pt,c(f.verdictLabel)+" · "+c(f.score.toFixed(1)),1)])]),_:2},1032,["to"]))),128))])])])}}});export{Ct 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.