PageSourceSearch

https://semanticsx.pk/assets/PlagiarismChecker-DM2iYBJb.js

js semanticsx.pk collected 2026-10-02 02:08:03 UTC 21,813 bytes, 18 lines download raw bytes

1import{s as Se,r as a,j as e,O as ke,l as ae,P as z,m as Pe,T as Ce,b as le,y as Te,G as J,t as Re,D as Ee,R as Me,c as Le}from"./index-CGeo62Qw.js";import{a as ne}from"./sanitizeRemoteHtml-JsVTba2l.js";import{h as $e}from"./toolPdfReports-CROQpG95.js";import{E as oe}from"./external-link-BbliqxWJ.js";import{X as De}from"./x-circle-DNbSN_P5.js";import"./professionalPdfReport-mgRlVvE1.js";import"./jspdf.es.min-C7RmRrut.js";import"./jspdf.plugin.autotable-BTchFZcl.js";function Ie(u){const n=document.createElement("div");return n.innerHTML=u,n.querySelectorAll("script, style, noscript, nav, footer, header, aside").forEach(C=>C.remove()),(n.textContent||n.innerText||"").replace(/\s+/g," ").trim()}function Fe(u){const n=u.match(/<title[^>]*>([\s\S]*?)<\/title>/i);return n?n[1].trim():""}function Oe(u){return u.replace(/([.?!])\s+/g,`$1
2`).split(`
3`).map(n=>n.trim()).filter(n=>n.split(/\s+/).length>=8)}function Ae(u){const n=u.split(/\s+/);if(n.length<=15)return n.join(" ");const C=Math.max(0,Math.floor((n.length-12)/2));return n.slice(C,C+12).join(" ")}const P=[{bg:"rgba(239, 68, 68, 0.15)",border:"#ef4444",text:"#dc2626",highlight:"rgba(239, 68, 68, 0.25)"},{bg:"rgba(245, 158, 11, 0.15)",border:"#f59e0b",text:"#d97706",highlight:"rgba(245, 158, 11, 0.25)"},{bg:"rgba(168, 85, 247, 0.15)",border:"#a855f7",text:"#7c3aed",highlight:"rgba(168, 85, 247, 0.25)"},{bg:"rgba(59, 130, 246, 0.15)",border:"#3b82f6",text:"#2563eb",highlight:"rgba(59, 130, 246, 0.25)"},{bg:"rgba(16, 185, 129, 0.15)",border:"#10b981",text:"#059669",highlight:"rgba(16, 185, 129, 0.25)"},{bg:"rgba(236, 72, 153, 0.15)",border:"#ec4899",text:"#db2777",highlight:"rgba(236, 72, 153, 0.25)"},{bg:"rgba(14, 165, 233, 0.15)",border:"#0ea5e9",text:"#0284c7",highlight:"rgba(14, 165, 233, 0.25)"},{bg:"rgba(234, 179, 8, 0.15)",border:"#eab308",text:"#ca8a04",highlight:"rgba(234, 179, 8, 0.25)"}],Be=()=>{const{user:u}=Se(),n="Enter DataforSEO in Settings to use the tool.",C=!!(localStorage.getItem("dataforseoLogin")&&localStorage.getItem("dataforseoApiKey")),L=!!(u!=null&&u.isAdmin)||C,[y,K]=a.useState("url"),[N,ie]=a.useState(""),[M,ce]=a.useState(""),[I,V]=a.useState(""),[F,T]=a.useState(!1),[O,$]=a.useState(0),[de,k]=a.useState(""),[he,X]=a.useState(0),[q,A]=a.useState(0),[B,v]=a.useState(""),H=a.useRef(!1),[R,W]=a.useState(null),[We,Y]=a.useState(""),[Ue,Q]=a.useState(""),[U,D]=a.useState(null),[xe,E]=a.useState(""),[me,Z]=a.useState(!1),pe=a.useRef(null);a.useEffect(()=>{document.title="Plagiarism Checker - SemanticsX"},[]);const ee=async t=>{const h=await fetch("/api/proxy",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:t})});if(!h.ok)throw new Error(`Proxy fetch failed: ${h.status}`);return h.json()},ge=async(t,h,r)=>{const i=await fetch("/api/proxy",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({service:"dataforseo",action:"plagiarism_serp_search",phrase:t,depth:10,dataforseoLogin:h,dataforseoApiKey:r})});if(!i.ok){const x=await i.json().catch(()=>({}));throw new Error(x.error||`SERP search failed: ${i.status}`)}return i.json()},te=a.useCallback((t,h,r)=>{if(!t)return"<html><body><p>Page HTML not available.</p></body></html>";try{const x=new DOMParser().parseFromString(t,"text/html"),f=new URL(r).href,m=[];h.forEach((l,p)=>{const g=P[p%P.length],w=l.split(/\s+/).filter(d=>d.length>0),s=4;for(let d=0;d<=w.length-s;d++){const S=w.slice(d,d+s).join(" ");S.length<12||m.push({text:S,color:g})}w.length<15&&w.length>=4&&m.push({text:l,color:g})}),m.sort((l,p)=>p.text.length-l.text.length);const j=x.createTreeWalker(x.body,NodeFilter.SHOW_TEXT,{acceptNode:l=>{const p=l.parentElement;return p&&["SCRIPT","STYLE","NOSCRIPT","SVG"].includes(p.tagName)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}}),o=[];for(;j.nextNode();)o.push(j.currentNode);o.forEach(l=>{const p=l.textContent;if(!p||p.trim().length<8)return;let g=p,w=!1;for(const s of m)try{const S=s.text.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\\?\s+/g,"\\s+"),b=new RegExp(`(${S})`,"gi");b.test(g)&&(g=g.replace(b,`<span class="plag-highlight" style="background-color:${s.color.highlight};border-bottom:2px solid ${s.color.border};padding:1px 0;transition:opacity 0.3s">$1</span>`),w=!0)}catch{}if(w&&g!==p){const s=x.createElement("span");s.innerHTML=g,l.replaceWith(s)}});const c=x.createElement("style");return c.textContent=`
4        .plag-highlight { transition: opacity 0.3s ease !important; }
5        a { pointer-events: none; }
6        body { margin: 0 !important; }
7      `,x.head&&x.head.appendChild(c),ne(x.documentElement.outerHTML,{baseUrl:f})}catch{return"<html><body><p>Failed to render page preview.</p></body></html>"}},[]),ue=a.useCallback(async t=>{D(t),Z(!0),E("");
7try{const r=(await ee(t.url)).content||"";if(!r)E('<html><body><p style="padding:40px;font-family:sans-serif;color:#666">Could not load this page. It may be protected or JavaScript-rendered.</p></body></html>');else{const i=te(r,t.matchedPhrases,t.url);E(i)}}catch{E(ne('<html><body><p style="padding:40px;font-family:sans-serif;color:#666">The page preview could not be loaded.</p></body></html>'))}finally{Z(!1)}},[te]),se=a.useCallback(async()=>{v(""),W(null),D(null),E("");const t=localStorage.getItem("dataforseoLogin")||"",h=localStorage.getItem("dataforseoApiKey")||"";if(!L){v(n);return}T(!0),$(0),A(0),H.current=!1;try{let r="",i="",x="";if(y==="url"){if(!N.trim()){v("Please enter a URL"),T(!1);return}if(k("Fetching page content..."),x=(await ee(N.trim())).content||"",i=Fe(x)||N.trim(),r=Ie(x),!r||r.length<50){v("Could not extract enough text from the URL. The page might be JavaScript-rendered or empty."),T(!1);return}}else{if(!M.trim()||M.trim().split(/\s+/).length<15){v("Please enter at least 15 words of text to check"),T(!1);return}r=M.trim(),i=r.substring(0,60)+(r.length>60?"...":"")}Y(r),Q(x),V(i),k("Extracting sentences...");const f=Oe(r);if(f.length===0){v("Could not extract enough sentences from the content. Try with more text."),T(!1);return}const m=15,j=Math.max(1,Math.floor(f.length/m)),o=[];for(let s=0;s<f.length&&o.length<m;s+=j)o.push(f[s]);const c=o.map(s=>Ae(s));X(c.length),k("Searching Google for matching content...");const l=new Map,p=y==="url"?new URL(N.trim()).hostname.replace("www.",""):"";for(let s=0;s<c.length&&!H.current;s++){k(`Searching phrase ${s+1} of ${c.length}...`),A(s+1),$(Math.round((s+1)/c.length*100));try{const S=(await ge(c[s],t,h)).results||[];for(const b of S){const re=(b.domain||"").replace("www.","");if(p&&re===p)continue;const _=b.url;l.has(_)||l.set(_,{url:b.url,domain:b.domain||re,title:b.title||"",snippets:[],matchedPhrases:[],totalMatches:0,position:b.position});const G=l.get(_);G.matchedPhrases.push(c[s]),b.snippet&&G.snippets.push(b.snippet),G.totalMatches++}}catch(d){console.warn(`Phrase search failed for "${c[s].substring(0,30)}..."`,d)}s<c.length-1&&await new Promise(d=>setTimeout(d,300))}k("Analyzing results...");const g=Array.from(l.values()).map(s=>{const d=[...new Set(s.matchedPhrases)],S=Math.round(d.length/c.length*100);return{...s,matchedPhrases:d,matchScore:S}}).sort((s,d)=>d.matchScore-s.matchScore||d.totalMatches-s.totalMatches).slice(0,20),w=g.length>0?g[0].matchScore:0;W({matches:g,totalPhrases:c.length,phrasesWithMatches:new Set(g.flatMap(s=>s.matchedPhrases)).size,overallScore:w,totalWordsChecked:r.split(/\s+/).length,scanTime:new Date().toISOString()}),k("Scan complete!"),$(100)}catch(r){console.error("Scan error:",r),v(r.message||"Scan failed. Please try again.")}finally{T(!1)}},[y,N,M,n,L]),fe=()=>{H.current=!0},be=()=>{W(null),D(null),Y(""),Q(""),V(""),E(""),v(""),$(0),A(0),X(0),k("")},je=()=>{R&&$e({source:y==="url"?N:"Pasted text",sourceTitle:I,results:R,user:u})},we=()=>{if(!U)return null;const t=U;return R.matches.indexOf(t)%P.length,e.jsxs("div",{className:"rounded-2xl overflow-hidden border border-slate-200 shadow-xl bg-white",children:[e.jsx("div",{className:"bg-red-50 border-b border-red-200 px-6 py-3",children:e.jsx("div",{className:"flex items-center justify-between",children:e.jsxs("div",{children:[e.jsxs("p",{className:"text-red-700 text-sm",children:["Plagiarized content found on"," ",e.jsx("a",{href:t.url,target:"_blank",rel:"noopener noreferrer",className:"font-semibold underline hover:text-red-900",children:t.url})]}),e.jsxs("p",{className:"text-red-600 text-xs mt-1",children:[e.jsxs("strong",{children:[t.matchedPhrases.length," matching phrases"]})," found — ",e.jsxs("strong",{children:[t.matchScore,"%"]})," match score."," ",e.jsx("button",{onClick:()=>D(null),className:"text-red-800 underline font-medium hover:text-red-950",children:"← Back to results"})]}),e.jsx("p",{className:"text-red-400 text-[11px] mt-1",children:e.jsxs("small",{children:["Page not showing correctly? ",e.jsx("a",{href:t.url,target:"_blank",rel:"noopener noreferrer",className:"underline",children:"Click here"})," to view the page in a new window."]})})]})})}),e.jsxs("div",{className:"flex flex-col lg:flex-row",style:{height:"80vh"},children:[e.jsxs("div",{className:"flex-1 min-w-0 border-r border-slate-200 relative",children:[me&&e.jsx("div",{className:"absolute inset-0 bg-white/80 flex items-center justify-center z-10",children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(ke,{className:"w-5 h-5 animate-spin text-indigo-600"}),e.jsx("span",{className:"text-slate-600 text-sm font-medium",children:"Loading page..."})]})}),e.jsx("iframe",{ref:pe,srcDoc:xe||'<html><body><p style="padding:40px;font-family:sans-serif;color:#999">Loading page preview...</p></body></html>',title:"Page preview with highlights",className:"w-full h-full border-0",sandbox:""})]}),e.jsxs("div",{className:"w-full lg:w-72 xl:w-80 flex-shrink-0 bg-slate-50 overflow-y-auto",children:[e.jsxs("div",{className:"px-4 py-3 border-b border-slate-200 bg-white",children:[e.jsxs("p",{className:"text-xs font-semibold text-slate-700 flex items-center gap-2",children:[e.jsx(ae,{className:"w-4 h-4 text-red-500"}),"Matched Phrases (",t.matchedPhrases.length,")"]}),e.jsx("p",{className:"text-[11px] text-slate-500 mt-1",children:"These phrases from your content were found on this page:"})]}),e.jsxs("div",{className:"p-2 space-y-1.5",children:[t.matchedPhrases.map((h,r)=>{const i=P[r%P.length];return e.jsx("div",{className:"rounded-lg overflow-hidden",style:{backgroundColor:i.bg,border:`1.5px solid ${i.border}30`},children:e.jsxs("div",{className:"px-3 py-2.5",children:[e.jsx("div",{className:"text-[11px] text-slate-600 mb-1",children:e.jsxs("span",{className:"font-bold",style:{color:i.text},children:["Phrase ",r+1]})}),e.jsxs("div",{className:"text-xs text-slate-700 italic leading-relaxed",children:['"',h,'"']}
7)]})},r)}),t.snippets.length>0&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"px-3 py-2 mt-2",children:e.jsx("p",{className:"text-[11px] font-semibold text-slate-500 uppercase tracking-wider",children:"SERP Snippets"})}),t.snippets.slice(0,5).map((h,r)=>e.jsx("div",{className:"rounded-lg bg-white border border-slate-200 px-3 py-2",children:e.jsxs("p",{className:"text-[11px] text-slate-500 leading-relaxed",children:["...",h,"..."]})},`s-${r}`))]}),e.jsxs("div",{className:"px-3 py-3 flex flex-col gap-2 mt-2",children:[e.jsxs("a",{href:t.url,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1.5 text-[11px] font-medium text-indigo-600 hover:text-indigo-800",children:[e.jsx(oe,{className:"w-3 h-3"})," View found page"]}),y==="url"&&e.jsxs("a",{href:N.trim(),target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-1.5 text-[11px] font-medium text-emerald-600 hover:text-emerald-800",children:[e.jsx(oe,{className:"w-3 h-3"})," View source page"]})]})]})]})]})]})},ye=()=>{if(!R)return null;const{matches:t,totalPhrases:h,phrasesWithMatches:r,overallScore:i,totalWordsChecked:x}=R;let f="low",m="#22c55e",j="No Significant Plagiarism Detected";return i>=60?(f="high",m="#ef4444",j="High Plagiarism Detected"):i>=30?(f="medium",m="#f59e0b",j="Moderate Plagiarism Detected"):t.length>0&&(j="Low Similarity Found"),e.jsxs("div",{className:"space-y-5 animate-in fade-in duration-300",children:[e.jsxs("div",{className:"rounded-2xl overflow-hidden border border-slate-200 bg-white shadow-xl shadow-slate-200/50",children:[e.jsxs("div",{className:"p-5 flex items-center gap-4",children:[e.jsx("div",{className:"flex-shrink-0 w-14 h-14 rounded-xl flex items-center justify-center",style:{backgroundColor:`${m}15`,border:`2px solid ${m}30`},children:f==="high"?e.jsx(De,{className:"w-7 h-7",style:{color:m}}):f==="medium"?e.jsx(z,{className:"w-7 h-7",style:{color:m}}):e.jsx(Pe,{className:"w-7 h-7",style:{color:m}})}),e.jsxs("div",{className:"flex-1",children:[e.jsx("h3",{className:"text-base font-bold text-slate-900",children:j}),e.jsx("p",{className:"text-sm text-slate-500 mt-0.5",children:t.length>0?e.jsxs(e.Fragment,{children:["Found ",e.jsx("span",{className:"font-semibold text-slate-800",children:t.length})," potential source",t.length!==1?"s":""," with matching content. Click a result to view the page with highlighted matches."]}):"No matching content found on the web for the analyzed text."})]}),e.jsxs("div",{className:"flex-shrink-0 text-center",children:[e.jsxs("div",{className:"text-2xl font-bold",style:{color:m},children:[i,"%"]}),e.jsx("div",{className:"text-[10px] text-slate-400 uppercase tracking-wider font-medium",children:"Max Match"})]})]}),e.jsx("div",{className:"grid grid-cols-4 border-t border-slate-100",children:[{label:"Words Checked",value:x.toLocaleString(),icon:Ce},{label:"Phrases Searched",value:h,icon:le},{label:"Phrases With Matches",value:r,icon:Te},{label:"Sources Found",value:t.length,icon:J}].map((o,c)=>e.jsxs("div",{className:"p-3 text-center border-r last:border-r-0 border-slate-100",children:[e.jsx(o.icon,{className:"w-3.5 h-3.5 mx-auto mb-1 text-slate-400"}),e.jsx("div",{className:"text-sm font-bold text-slate-800",children:o.value}),e.jsx("div",{className:"text-[10px] text-slate-400",children:o.label})]},c))})]}),I&&e.jsxs("div",{className:"rounded-xl bg-amber-50 border border-amber-200 px-4 py-2.5 text-sm",children:[e.jsx("span",{className:"font-semibold text-amber-700",children:"Results shown for"})," ",e.jsx("span",{className:"font-bold text-slate-900",children:I})]}),t.length>0&&e.jsx("div",{className:"space-y-3",children:t.map((o,c)=>{const l=P[c%P.length];return e.jsxs("div",{onClick:()=>ue(o),className:"group rounded-xl border border-slate-200 hover:border-slate-300 bg-white hover:bg-slate-50/50 p-4 cursor-pointer transition-all duration-200 shadow-sm hover:shadow-md",children:[e.jsxs("div",{className:"flex items-start gap-3 mb-2",children:[e.jsx("div",{className:"flex-shrink-0 w-6 h-6 rounded-full flex items-center justify-center text-[10px] font-bold mt-0.5",style:{backgroundColor:l.bg,color:l.text,border:`1px solid ${l.border}`},children:c+1}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("h4",{className:"text-sm font-medium text-blue-700 group-hover:text-blue-600 transition-colors truncate",children:o.title||o.url}),e.jsxs("div",{className:"flex items-center gap-2 mt-1",children:[e.jsxs("span",{className:"text-xs px-2 py-0.5 rounded-full font-semibold",style:{backgroundColor:l.bg,color:l.text,border:`1px solid ${l.border}`},children:[o.matchScore,"% match"]}),e.jsxs("span",{className:"text-xs text-slate-400",children:[o.matchedPhrases.length," phrase",o.matchedPhrases.length!==1?"s":""," found"]}
7)]})]}),e.jsx(Re,{className:"w-4 h-4 text-slate-300 group-hover:text-slate-500 transition-colors flex-shrink-0 mt-1"})]}),o.snippets[0]&&e.jsxs("p",{className:"text-xs text-slate-500 line-clamp-2 ml-9 mb-2",children:["...",o.snippets[0],"..."]}),e.jsx("p",{className:"text-xs text-emerald-700 truncate ml-9",children:o.url})]},c)})}),e.jsxs("div",{className:"flex justify-center gap-3 pt-4",children:[e.jsxs("button",{onClick:je,className:"flex items-center gap-2 px-5 py-2.5 rounded-xl text-sm font-medium bg-indigo-600 hover:bg-indigo-700 text-white transition-all duration-200 shadow-sm",children:[e.jsx(Ee,{className:"w-4 h-4"}),"Export PDF Report"]}),e.jsxs("button",{onClick:be,className:`flex items-center gap-2 px-5 py-2.5 rounded-xl text-sm font-medium
8                       bg-white hover:bg-slate-50 text-slate-600 hover:text-slate-800
9                       border border-slate-200 hover:border-slate-300 transition-all duration-200 shadow-sm`,children:[e.jsx(Me,{className:"w-4 h-4"}),"New Scan"]})]})]})},Ne=()=>e.jsxs("div",{className:"bg-white/80 backdrop-blur-sm rounded-2xl shadow-xl shadow-slate-200/50 border border-white/60 p-8 mb-6 max-w-lg mx-auto text-center",children:[e.jsxs("div",{className:"relative w-24 h-24 mx-auto mb-6",children:[e.jsxs("svg",{className:"w-24 h-24 -rotate-90",viewBox:"0 0 100 100",children:[e.jsx("circle",{cx:"50",cy:"50",r:"42",fill:"none",stroke:"#f1f5f9",strokeWidth:"6"}),e.jsx("circle",{cx:"50",cy:"50",r:"42",fill:"none",stroke:"url(#progressGrad)",strokeWidth:"6",strokeLinecap:"round",strokeDasharray:`${O*2.64} ${264-O*2.64}`,className:"transition-all duration-300"}),e.jsx("defs",{children:e.jsxs("linearGradient",{id:"progressGrad",x1:"0%",y1:"0%",x2:"100%",y2:"0%",children:[e.jsx("stop",{offset:"0%",stopColor:"#6366f1"}),e.jsx("stop",{offset:"100%",stopColor:"#a855f7"})]})})]}),e.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:e.jsxs("span",{className:"text-xl font-bold text-slate-800",children:[O,"%"]})})]}),e.jsx("h3",{className:"text-base font-semibold text-slate-800 mb-1",children:de}),e.jsx("p",{className:"text-sm text-slate-400",children:q>0&&`Checked ${q} of ${he} phrases`}),e.jsx("button",{onClick:fe,className:"mt-6 px-5 py-2 rounded-xl text-sm font-medium bg-red-50 hover:bg-red-100 text-red-600 border border-red-200 transition-all",children:"Cancel Scan"})]}),ve=()=>e.jsxs("div",{className:"max-w-2xl mx-auto py-12 animate-in fade-in duration-300",children:[e.jsxs("div",{className:"text-center mb-10",children:[e.jsxs("div",{className:"inline-flex items-center gap-3 bg-gradient-to-r from-indigo-600 via-purple-600 to-pink-500 text-white px-8 py-3.5 rounded-2xl mb-4 shadow-lg shadow-indigo-500/25",children:[e.jsx(ae,{className:"w-6 h-6"}),e.jsx("span",{className:"font-bold text-lg tracking-tight",children:"Plagiarism Checker"})]}),e.jsx("p",{className:"text-slate-500 max-w-xl mx-auto",children:"Search for copies of your content on the web — enter a URL or paste text to check."})]}),e.jsxs("div",{className:"flex items-center justify-center gap-1 mb-6",children:[e.jsxs("button",{onClick:()=>K("url"),className:`flex items-center gap-2 px-4 py-2 rounded-lg text-sm font-medium transition-all duration-200 ${y==="url"?"bg-indigo-50 text-indigo-700 border border-indigo-200":"text-slate-500 hover:text-slate-700 border border-transparent"}`,children:[e.jsx(J,{className:"w-4 h-4"})," URL"]}),e.jsxs("button",{onClick:()=>K("text"),className:`flex items-center gap-2 px-4 py-2 rounded-lg text-sm font-medium transition-all duration-200 ${y==="text"?"bg-indigo-50 text-indigo-700 border border-indigo-200":"text-slate-500 hover:text-slate-700 border border-transparent"}`,children:[e.jsx(Le,{className:"w-4 h-4"})," Text"]})]}),e.jsxs("div",{className:"bg-white/80 backdrop-blur-sm rounded-2xl shadow-xl shadow-slate-200/50 border border-white/60 p-6",children:[y==="url"?e.jsxs("div",{className:"relative",children:[e.jsx(J,{className:"absolute left-4 top-1/2 -translate-y-1/2 w-5 h-5 text-slate-400"}),e.jsx("input",{type:"url",value:N,onChange:t=>ie(t.target.value),onKeyDown:t=>t.key==="Enter"&&!F&&se(),placeholder:"Enter website URL (e.g., example.com/page)",className:`w-full pl-12 pr-4 py-3.5 border border-slate-200 rounded-xl
10                         focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500
11                         outline-none text-sm text-slate-800 bg-white`})]}):e.jsx("textarea",{value:M,onChange:t=>ce(t.target.value),placeholder:"Paste your text here to check for plagiarism...",rows:8,className:`w-full px-4 py-3.5 border border-slate-200 rounded-xl resize-y
12                       focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500
13                       outline-none text-sm text-slate-800 bg-white`}),!L&&e.jsxs("div",{className:"mt-4 flex items-center gap-2 px-4 py-3 rounded-xl bg-amber-50 border border-amber-200 text-amber-800 text-sm",children:[e.jsx(z,{className:"w-4 h-4 flex-shrink-0 text-amber-600"}),e.jsx("span",{children:n}),e.jsx("a",{href:"/settings",className:"ml-auto text-xs font-semibold text-amber-700 hover:underline",children:"Open Settings"})]}),B&&e.jsxs("div",{className:"mt-4 flex items-center gap-2 px-4 py-3 rounded-xl bg-red-50 border border-red-200 text-red-700 text-sm",children:[e.jsx(z,{className:"w-4 h-4 flex-shrink-0"}),B]}),e.jsx("div",{className:"flex justify-center pt-4",children:e.jsxs("button",{onClick:se,disabled:F||!L,className:`flex items-center gap-2.5 px-8 py-3 rounded-xl text-sm font-semibold
14                       bg-gradient-to-r from-indigo-600 to-purple-600
15                       hover:from-indigo-500 hover:to-purple-500
16                       text-white shadow-lg shadow-indigo-500/25
17                       disabled:opacity-50 disabled:cursor-not-allowed
18                       transition-all duration-200 transform hover:scale-[1.02] active:scale-[0.98]`,children:[e.jsx(le,{className:"w-4 h-4"}),"Scan Now"]})})]}),e.jsx("p",{className:"text-center text-xs text-slate-400 mt-6",children:"Powered by DataforSEO Google SERP API • Searches Google for exact-match phrases from your content"})]});return e.jsx("div",{className:"min-h-screen bg-gradient-to-br from-slate-50 via-indigo-50/30 to-purple-50/20 p-6 md:p-8",children:e.jsx("div",{className:"max-w-6xl mx-auto",children:U?we():F?Ne():R?ye():ve()})})};export{Be 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.