PageSourceSearch

https://slopscrub.com/_next/static/chunks/1vmudczw_jk85.js

js slopscrub.com collected 2026-09-24 14:53:02 UTC 9,690 bytes, 1 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,41620,e=>{e.v({axes:"scan-module__Zymc-W__axes",axis:"scan-module__Zymc-W__axis",axisBar:"scan-module__Zymc-W__axisBar",axisEv:"scan-module__Zymc-W__axisEv",axisScore:"scan-module__Zymc-W__axisScore",axisTop:"scan-module__Zymc-W__axisTop",breakdown:"scan-module__Zymc-W__breakdown",chev:"scan-module__Zymc-W__chev",cta:"scan-module__Zymc-W__cta",ctaText:"scan-module__Zymc-W__ctaText",cur:"scan-module__Zymc-W__cur",err:"scan-module__Zymc-W__err",ev:"scan-module__Zymc-W__ev",expandHint:"scan-module__Zymc-W__expandHint",expandSign:"scan-module__Zymc-W__expandSign",expandToggle:"scan-module__Zymc-W__expandToggle",fade:"scan-module__Zymc-W__fade",field:"scan-module__Zymc-W__field",form:"scan-module__Zymc-W__form",glassBtn:"scan-module__Zymc-W__glassBtn",glassGhost:"scan-module__Zymc-W__glassGhost",glassPrimary:"scan-module__Zymc-W__glassPrimary",h1:"scan-module__Zymc-W__h1",hp:"scan-module__Zymc-W__hp",input:"scan-module__Zymc-W__input",intro:"scan-module__Zymc-W__intro",judgeMeta:"scan-module__Zymc-W__judgeMeta",judgeVerdict:"scan-module__Zymc-W__judgeVerdict",lede:"scan-module__Zymc-W__lede",loadBar:"scan-module__Zymc-W__loadBar",loadStep:"scan-module__Zymc-W__loadStep",loading:"scan-module__Zymc-W__loading",noTells:"scan-module__Zymc-W__noTells",result:"scan-module__Zymc-W__result",scrub:"scan-module__Zymc-W__scrub",scrubHead:"scan-module__Zymc-W__scrubHead",scrubLine:"scan-module__Zymc-W__scrubLine",scrubNow:"scan-module__Zymc-W__scrubNow",scrubTag:"scan-module__Zymc-W__scrubTag",scrubWas:"scan-module__Zymc-W__scrubWas",slide:"scan-module__Zymc-W__slide",stage:"scan-module__Zymc-W__stage",tell:"scan-module__Zymc-W__tell",tellBody:"scan-module__Zymc-W__tellBody",tellDot:"scan-module__Zymc-W__tellDot",tells:"scan-module__Zymc-W__tells",tellsHead:"scan-module__Zymc-W__tellsHead",verdict:"scan-module__Zymc-W__verdict",vlabel:"scan-module__Zymc-W__vlabel",vnote:"scan-module__Zymc-W__vnote",vsignal:"scan-module__Zymc-W__vsignal",vurl:"scan-module__Zymc-W__vurl",wrap:"scan-module__Zymc-W__wrap"})},30113,e=>{"use strict";var a=e.i(43476),s=e.i(71645),l=e.i(22016),t=e.i(41620);let n=["Fetching the page","Reading the markup","Checking for template tells","Tallying patterns"];e.s(["default",0,function(){var e;let[c,d]=(0,s.useState)(""),[r,i]=(0,s.useState)("idle"),[u,o]=(0,s.use
1State)(""),[m,_]=(0,s.useState)(null),[h,f]=(0,s.useState)(0),[p,x]=(0,s.useState)(0),[g,y]=(0,s.useState)(!1),j=(0,s.useRef)(null),v=(0,s.useRef)(null),b=(0,s.useRef)(null),N=(0,s.useRef)(null);async function W(e=!1){if(b.current&&!e)return b.current;try{let e=await fetch("/api/scan-token"),a=await e.json();b.current="string"==typeof a.token?a.token:null}catch{b.current=null}return b.current}async function Z(e){e.preventDefault(),c.trim()&&"loading"!==r&&(i("loading"),o(""),_(null),f(0),x(0),y(!1),await w(!1))}async function w(e){try{let a=await W(e),s=await fetch("/api/scan",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({url:c,token:a,hp:v.current?.value||""})}),l=await s.json();if(!s.ok){if("stale-token"===l.code&&!e)return void await w(!0);o(l.error||"Scan failed."),i("error");return}_(l),i("done")}catch{o("Network error. Try again."),i("error")}}(0,s.useEffect)(()=>{W(),j.current?.focus()},[]),(0,s.useEffect)(()=>{if("loading"!==r)return;let e=setInterval(()=>f(e=>Math.min(e+1,n.length-1)),620);return()=>clearInterval(e)},[r]),(0,s.useEffect)(()=>{if("done"!==r||!m)return;let e=performance.now(),a=m.score,s=l=>{let t=Math.min(1,(l-e)/900);x(Math.round(a*(1-Math.pow(1-t,3)))),t<1&&(N.current=requestAnimationFrame(s))};return N.current=requestAnimationFrame(s),()=>{N.current&&cancelAnimationFrame(N.current)}},[r,m]);let S=m?(e=m.score)>=66?{label:"Heavily templated",note:"Lots of the usual AI-build patterns showed up. This reads like a default."}:e>=40?{label:"Some obvious tells",note:"A handful of generic patterns are showing. Easy wins to look less stock."}:e>=20?{label:"A few tells",note:"Mostly its own thing, with a couple of give-aways worth cleaning up."}:{label:"No obvious tells",note:"We did not catch the usual patterns. That is not the same as having taste, it just means nothing screamed template."}:null,T=m?.callouts??[],k=g?T:T.slice(0,3),B=m?.judge?.axes??[],C=Math.max(0,T.length-3),H=C>0||B.length>0;return(0,a.jsx)("div",{className:t.default.wrap,children:(0,a.jsxs)("div",{className:t.default.stage,children:[(0,a.jsxs)("div",{className:t.default.intro,children:[(0,a.jsx)("h1",{className:t.default.h1,children:"Is your site slop?"}),(0,a.jsx)("p",{className:t.default.lede,children:"Paste a URL and we will flag the obvious template tells. We cannot grade taste exactly, so treat this as a smell test, not a score out of ten."}),(0,a.jsxs)("form",{className:t.default.form,onSubmit:Z,children:[(0,a.jsxs)("div",{className:t.default.field,children:[(0,a.jsx)("span",{className:t.default.chev,"aria-hidden":"true",children:"›"}),(0,a.jsx)("input",{ref:j,className:t.default.input,type:"text",inputMode:"url",autoComplete:"off",spellCheck:!1,placeholder:"yoursite.com",value:c,onChange:e=>d(e.target.value),"aria-label":"Website URL to scan"})]}),(0,a.jsx)("input",{ref:v,className:t.default.hp,type:"text",name:"company",tabIndex:-1,autoComplete:"off","aria-hidden":"true"}),(0,a.jsx)("button",{className:`${t.default.glassBtn} ${t.default.glassPrimary}`,type:"submit",disabled:"loading"===r,children:"loading"===r?"Scanning...":"Scan"})]}),u&&(0,a.jsx)("p",{className:t.default.err,role:"status",children:u})]}),"loading"===r&&(0,a.jsxs)("div",{className:t.default.loading,"aria-live":"polite",children:[(0,a.jsx)("div",{className:t.default.loadBar,children:(0,a.jsx)("i",{})}),(0,a.jsxs)("div",{className:t.default.loadStep,children:[(0,a.jsx)("span",{className:t.default.cur,children:n[h]}),"..."]})]}),"done"===r&&m&&S&&(0,a.jsxs)("div",{className:t.default.result,children:[(0,a.jsxs)("div",{className:t.default.verdict,children:[(0,a.jsx)("span",{className:t.default.vurl,children:m.url}),(0,a.jsx)("h2",{className:t.default.vlabel,children:S.label}),(0,a.jsx)("p",{className:t.default.vnote,children:S.note}),(0,a.jsxs)("span",{className:t.default.vsignal,children:["rough signal ~",p,"/100  |  ",m.signalsFired,"/",m.signalCount," tells overlap"]})]}),k.length>0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:t.default.tellsHead,children:"What stood out"}),(0,a.jsx)("ul",{className:t.default.tells,children:k.map(e=>(0,a.jsxs)("li",{className:t.default.tell,children:[(0,a.jsx)("span",{className:t.default.tellDot,"data-sev":e.severity,"aria-hidden":"true"}
1),(0,a.jsxs)("div",{className:t.default.tellBody,children:[(0,a.jsx)("b",{children:e.label}),(0,a.jsx)("p",{children:e.callout}),e.evidence&&(0,a.jsxs)("span",{className:t.default.ev,children:["→ ",e.evidence]})]})]},e.key))})]}),0===T.length&&(0,a.jsxs)("div",{className:t.default.noTells,children:[(0,a.jsx)("b",{children:"No obvious template tells."})," That does not mean it is good, it means nothing screamed default. Taste is the presence of a point of view, not the absence of cliches."]}),H&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("button",{type:"button",className:t.default.expandToggle,"aria-expanded":g,onClick:()=>y(e=>!e),children:[(0,a.jsx)("span",{className:t.default.expandSign,"aria-hidden":"true",children:g?"−":"+"}),g?"Hide the full breakdown":"Show the full breakdown",!g&&(0,a.jsx)("span",{className:t.default.expandHint,children:[C>0?`${C} more tell${1===C?"":"s"}`:null,B.length>0?`${B.length}-axis design read`:null].filter(Boolean).join("  ·  ")})]}),g&&B.length>0&&(0,a.jsxs)("div",{className:t.default.breakdown,children:[(0,a.jsx)("div",{className:t.default.tellsHead,children:"Design breakdown"}),m.judge?.verdict&&(0,a.jsx)("p",{className:t.default.judgeVerdict,children:m.judge.verdict}),(0,a.jsx)("ul",{className:t.default.axes,children:B.map(e=>{let s=e.score>=7?"good":e.score>=4?"med":"low";return(0,a.jsxs)("li",{className:t.default.axis,children:[(0,a.jsxs)("div",{className:t.default.axisTop,children:[(0,a.jsx)("b",{children:e.label}),(0,a.jsxs)("span",{className:t.default.axisScore,children:[e.score,(0,a.jsx)("i",{children:"/10"})]})]}),(0,a.jsx)("div",{className:t.default.axisBar,"aria-hidden":"true",children:(0,a.jsx)("i",{style:{width:`${10*e.score}%`},"data-grade":s})}),e.evidence&&(0,a.jsx)("span",{className:t.default.axisEv,children:e.evidence})]},e.key)})}),m.judge&&(0,a.jsxs)("span",{className:t.default.judgeMeta,children:["second-opinion read from the model · ",m.judge.samples," sample",1===m.judge.samples?"":"s"]})]})]}),m.copyScrub&&(0,a.jsxs)("div",{className:t.default.scrub,children:[(0,a.jsxs)("div",{className:t.default.scrubHead,children:["Copy scrub / ",m.copyScrub.changeCount," tell",1===m.copyScrub.changeCount?"":"s"," removed"]}),(0,a.jsxs)("div",{className:t.default.scrubLine,children:[(0,a.jsx)("span",{className:t.default.scrubTag,children:"before"}),(0,a.jsx)("span",{className:t.default.scrubWas,children:m.copyScrub.original})]}),(0,a.jsxs)("div",{className:t.default.scrubLine,children:[(0,a.jsx)("span",{className:t.default.scrubTag,children:"after"}),(0,a.jsx)("span",{className:t.default.scrubNow,children:m.copyScrub.cleaned})]})]}),(0,a.jsxs)("div",{className:t.default.cta,children:[(0,a.jsx)("p",{className:t.default.ctaText,children:"Tells are symptoms, not the cure. Chasing them one by one is whack-a-mole, so give your site a point of view instead."}),(0,a.jsx)(l.default,{className:`${t.default.glassBtn} ${t.default.glassGhost}`,href:"/#get",children:"Build a taste profile →"})]})]})]})})}])}]);

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.