1import{d as N,r as d,s as T,w as U,e as a,b as l,k as C,l as D,m as B,p as V,g as t,f as h,h as w,t as o,v as x,x as E,F as m,y as k,G as y,z as _,c as z,D as M,E as P}from"./app-D0fs7bu7.js";import{_ as j}from"./AppLayout.vue_vue_type_script_setup_true_lang-CLnk0tKS.js";import{l as $}from"./lodash-B9V3dPe8.js";/* empty css */import"./Primitive-B-7kMMzx.js";import"./VisuallyHidden-OUinVFht.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";import"./createLucideIcon-CAMkqPlT.js";const O={class:"min-h-screen bg-[#0f172a] p-4 text-slate-200 sm:p-6 lg:p-8 font-sans"},H={class:"mb-8 flex flex-col gap-6 lg:flex-row lg:items-end lg:justify-between"},R={class:"grid grid-cols-2 gap-3 sm:grid-cols-4"},J={class:"rounded-xl border border-slate-700 bg-slate-800/50 p-3 backdrop-blur-md"},G={class:"text-xl font-bold text-white"},K={class:"rounded-xl border border-slate-700 bg-slate-800/50 p-3 backdrop-blur-md"},q={class:"text-xl font-bold text-amber-400"},Q={class:"rounded-xl border border-slate-700 bg-slate-800/50 p-3 backdrop-blur-md"},W={class:"text-xl font-bold text-emerald-400"},X={class:"rounded-xl border border-slate-700 bg-slate-800/50 p-3 backdrop-blur-md"},Y={class:"text-xl font-bold text-rose-500"},Z={class:"sticky top-4 z-20 mb-6 rounded-2xl border border-slate-700 bg-slate-800/80 p-4 shadow-2xl backdrop-blur-xl"},tt={class:"grid gap-4 md:grid-cols-2 lg:grid-cols-5"},et={class:"relative col-span-1 md:col-span-2 lg:col-span-1"},st=["value"],ot={class:"overflow-hidden rounded-2xl border border-slate-700 bg-slate-800/30 shadow-xl"},lt={class:"overflow-x-auto"},at={class:"w-full text-left text-sm text-slate-400"},rt={class:"divide-y divide-slate-700/50"},nt={class:"px-6 py-4"},it={class:"flex items-center gap-2"},dt={key:0,class:"text-xs font-bold text-rose-400"},ct={class:"px-6 py-4"},ut={class:"font-mono text-white"},xt={class:"text-xs text-slate-500"},pt={class:"px-6 py-4"},bt={key:0},ft={class:"font-medium text-cyan-400 hover:underline cursor-pointer"},vt={class:"font-mono text-xs text-slate-500"},gt={key:1,class:"text-slate-600 italic"},ht={class:"px-6 py-4"},mt={class:"flex flex-col gap-1"},yt={class:"inline-flex w-fit items-center rounded bg-slate-700 px-2 py-0.5 text-xs font-bold uppercase text-white"},_t={class:"text-xs text-slate-400"},wt={class:"px-6 py-4 text-center"},kt={class:"px-6 py-4"},St={class:"flex justify-center gap-2 text-xs"},Ct={class:"text-center",title:"Total"},Dt={class:"block font-bold text-slate-300"},At={class:"text-center",title:"Successful"},Lt={class:"block font-bold text-emerald-400"},Ft={class:"text-center",title:"Returned"},It={class:"block font-bold text-rose-400"},Nt={class:"px-6 py-4 text-right"},Tt=["onClick"],Ut={key:1,class:"text-slate-600 text-xs"},Bt={key:0},Vt={key:0,class:"border-t border-slate-700 bg-slate-800/50 p-4"},Et={class:"flex items-center justify-between"},zt={class:"text-xs text-slate-500"},Mt={class:"flex gap-1"},Pt={class:"w-full max-w-2xl overflow-hidden rounded-2xl border border-indigo-500/30 bg-[#1e1e1e] shadow-2xl animate-in zoom-in-95"},jt={class:"flex items-center justify-between border-b border-white/10 bg-white/5 px-6 py-4"},$t={class:"text-lg font-bold text-white flex items-center gap-2"},Ot={class:"text-indigo-400 font-mono"},Ht={class:"p-6 max-h-[70vh] overflow-y-auto"},Rt={class:"grid grid-cols-2 gap-4 mb-6 text-sm"},Jt={class:"rounded bg-black/30 p-3 border border-white/5"},Gt={class:"text-cyan-400 font-mono break-all"},Kt={class:"rounded bg-black/30 p-3 border border-white/5"},qt={key:0},Qt={class:"w-full overflow-x-auto rounded-lg border border-indigo-500/20 bg-black p-4 text-xs font-mono text-green-400 leading-relaxed shadow-inner"},Wt={key:1,class:"text-center text-slate-500 py-8 italic"},Xt={class:"bg-white/5 px-6 py-4 text-right"},re=N({__name:"SearchLogs",props:{logs:{},filters:{},stats:{},couriers:{}},setup(r){const c=r,p=d(c.filters.search||""),b=d(c.filters.courier||""),f=d(c.filters.method||""),v=d(c.filters.has_extra||""),g=d(c.filters.status||""),n=d(null),u=d(!1),A=$.debounce(()=>{T.get("/superadmin/analytics/search-logs",{search:p.value,courier:b.value,method:f.value,has_extra:v.value,status:g.value},{preserveState:!0,preserveScroll:!0})},400);U([p,b,f,v,g],()=>{A()});const L=i=>{n.value=i,u.value=!0},F=i=>i?i<500?"text-emerald-500 font-bold":i<1500?"text-amber-500 font-bold":"text-rose-500 font-extrabold animate-pulse":"text-gray-400",I=i=>
1new Date(i).toLocaleString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"});return(i,e)=>(l(),a(m,null,[C(D(B),{title:"Courier Search Detective"}),C(j,null,{default:V(()=>[t("div",O,[t("div",H,[e[12]||(e[12]=t("div",null,[t("h1",{class:"text-3xl font-black tracking-tighter text-transparent bg-clip-text bg-gradient-to-r from-cyan-400 to-purple-500"},[t("i",{class:"fa-solid fa-bug mr-2"}),w("Search Detective ")]),t("p",{class:"text-slate-400 mt-1 text-sm"},"Analyze courier API performance & debug payloads.")],-1)),t("div",R,[t("div",J,[e[8]||(e[8]=t("div",{class:"text-[10px] uppercase tracking-wider text-slate-500"},"Total Scans",-1)),t("div",G,o(r.stats.total_logs.toLocaleString()),1)]),t("div",K,[e[9]||(e[9]=t("div",{class:"text-[10px] uppercase tracking-wider text-slate-500"},"Avg Latency",-1)),t("div",q,o(r.stats.avg_latency)+"ms",1)]),t("div",Q,[e[10]||(e[10]=t("div",{class:"text-[10px] uppercase tracking-wider text-slate-500"},"Success Rate",-1)),t("div",W,o(r.stats.success_rate)+"%",1)]),t("div",X,[e[11]||(e[11]=t("div",{class:"text-[10px] uppercase tracking-wider text-slate-500"},"Failures",-1)),t("div",Y,o(r.stats.failed_count),1)])])]),t("div",Z,[t("div",tt,[t("div",et,[x(t("input",{"onUpdate:modelValue":e[0]||(e[0]=s=>p.value=s),type:"text",placeholder:"Search Business UID, Name or Log ID...",class:"w-full rounded-lg border-slate-600 bg-slate-900/50 py-2 pl-9 pr-3 text-sm text-white placeholder-slate-500 focus:border-cyan-500 focus:ring-1 focus:ring-cyan-500"},null,512),[[E,p.value]]),e[13]||(e[13]=t("i",{class:"fa-solid fa-search absolute left-3 top-3 text-slate-500 text-xs"},null,-1))]),x(t("select",{"onUpdate:modelValue":e[1]||(e[1]=s=>b.value=s),class:"rounded-lg border-slate-600 bg-slate-900/50 py-2 text-sm text-white focus:border-cyan-500 focus:ring-1 focus:ring-cyan-500"},[e[14]||(e[14]=t("option",{value:""},"All Couriers",-1)),(l(!0),a(m,null,k(r.couriers,s=>(l(),a("option",{key:s,value:s,class:"capitalize"},o(s),9,st))),128))],512),[[y,b.value]]),x(t("select",{"onUpdate:modelValue":e[2]||(e[2]=s=>f.value=s),class:"rounded-lg border-slate-600 bg-slate-900/50 py-2 text-sm text-white focus:border-cyan-500 focus:ring-1 focus:ring-cyan-500"},[...e[15]||(e[15]=[t("option",{value:""},"All Methods",-1),t("option",{value:"Single Search"},"Single Search",-1),t("option",{value:"Bulk Search"},"Bulk Search",-1),t("option",{value:"API Call"},"API Call",-1)])],512),[[y,f.value]]),x(t("select",{"onUpdate:modelValue":e[3]||(e[3]=s=>v.value=s),class:"rounded-lg border-slate-600 bg-slate-900/50 py-2 text-sm text-white focus:border-cyan-500 focus:ring-1 focus:ring-cyan-500"},[...e[16]||(e[16]=[t("option",{value:""},"Any Payload",-1),t("option",{value:"yes"},"Has Extra Data (Debug)",-1),t("option",{value:"no"},"No Extra Data",-1)])],512),[[y,v.value]]),x(t("select",{"onUpdate:modelValue":e[4]||(e[4]=s=>g.value=s),class:"rounded-lg border-slate-600 bg-slate-900/50 py-2 text-sm text-white focus:border-cyan-500 focus:ring-1 focus:ring-cyan-500"},[...e[17]||(e[17]=[t("option",{value:""},"All Status",-1),t("option",{value:"success"},"Successful",-1),t("option",{value:"failed"},"Failed / Errors",-1)])],512),[[y,g.value]])])]),t("div",ot,[t("div",lt,[t("table",at,[e[23]||(e[23]=t("thead",{class:"bg-slate-900/50 text-xs uppercase text-slate-500 font-bold tracking-wider"},[t("tr",null,[t("th",{class:"px-6 py-4"},"Status"),t("th",{class:"px-6 py-4"},"Time / ID"),t("th",{class:"px-6 py-4"},"Business Info"),t("th",{class:"px-6 py-4"},"Courier & Method"),t("th",{class:"px-6 py-4 text-center"},"Latency"),t("th",{class:"px-6 py-4 text-center"},"Stats"),t("th",{class:"px-6 py-4 text-right"},"Action")])],-1)),t("tbody",rt,[(l(!0),a(m,null,k(r.logs.data,s=>(l(),a("tr",{key:s.id,class:"group transition-colors hover:bg-slate-700/30"},[t("td",nt,[t("div",it,[t("span",{class:_(["flex h-2.5 w-2.5 rounded-full shadow-[0_0_8px_currentColor]",s.ok?"bg-emerald-500 text-emerald-500":"bg-rose-500 text-rose-500"])},null,2),s.ok?h("",!0):(l(),a("span",dt,"FAIL"))])]),t("td",ct,[t("div",ut,"#"+o(s.id),1),t("div",xt,o(I(s.created_at)),1)]),t("td",pt,[s.search?.business?(l(),a("div",bt,[t("div",ft,o(s.search.business.name),1),t("div",vt,o(s.search.business.business_uid),1)])):(l(),a("div",gt,"Unknown Business"))]),t("td",ht,[t("div",mt,[t("span",yt,o(s.courier_slug),1),t("span",_t,o(s.method||"Unknown"),1)])]),t("td",wt,[t("span",{class:_(["font-mono text-sm",F(s.ms)])},o(s.ms?s.ms+"ms":"-"),3)]),t("td",kt,[t("div",St,[t("div",Ct,[t("span",Dt,o(s.total),1),e[18]||(e[18]=t("span",{class:"text-[10px] text-slate-600"},"TOT",-1))]),t("div",At,[t("span",Lt,o(s.successful),1),e[19]||(e[19]=t("span",{class:"text-[10px] text-slate-600"},"SUC",-1))]),t("div",Ft,[t("span",It,o(s.returned),1),e[20]||(e[20]=t("span",{class:"text-[10px] text-slate-600"}
1,"RET",-1))])])]),t("td",Nt,[s.extra||!s.ok?(l(),a("button",{key:0,onClick:S=>L(s),class:"rounded-lg bg-indigo-500/20 px-3 py-1.5 text-xs font-semibold text-indigo-300 transition-all hover:bg-indigo-500 hover:text-white"},[...e[21]||(e[21]=[t("i",{class:"fa-solid fa-bug mr-1"},null,-1),w(" Inspect ",-1)])],8,Tt)):(l(),a("span",Ut,"-"))])]))),128)),r.logs.data.length===0?(l(),a("tr",Bt,[...e[22]||(e[22]=[t("td",{colspan:"7",class:"py-12 text-center text-slate-500"},[t("i",{class:"fa-solid fa-wind text-4xl mb-3 opacity-20"}),t("p",null,"No logs found matching your filters.")],-1)])])):h("",!0)])])]),r.logs.data.length>0?(l(),a("div",Vt,[t("div",Et,[t("div",zt," Showing "+o(r.logs.from)+" to "+o(r.logs.to)+" of "+o(r.logs.total)+" logs ",1),t("div",Mt,[(l(!0),a(m,null,k(r.logs.links,(s,S)=>(l(),z(D(M),{key:S,href:s.url||"#",class:_(["rounded px-3 py-1 text-xs transition-colors",[s.active?"bg-cyan-500 text-white font-bold":"text-slate-400 hover:bg-slate-700",s.url?"":"opacity-50 cursor-not-allowed"]]),innerHTML:s.label},null,8,["href","class","innerHTML"]))),128))])])])):h("",!0)]),u.value?(l(),a("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/80 backdrop-blur-sm p-4",onClick:e[7]||(e[7]=P(s=>u.value=!1,["self"]))},[t("div",Pt,[t("div",jt,[t("h3",$t,[t("span",Ot,"#"+o(n.value.id),1),e[24]||(e[24]=w(" Payload Inspector ",-1))]),t("button",{onClick:e[5]||(e[5]=s=>u.value=!1),class:"text-slate-400 hover:text-white"},[...e[25]||(e[25]=[t("i",{class:"fa-solid fa-xmark text-xl"},null,-1)])])]),t("div",Ht,[t("div",Rt,[t("div",Jt,[e[26]||(e[26]=t("div",{class:"text-slate-500 text-xs uppercase"},"Path",-1)),t("div",Gt,o(n.value.path||"N/A"),1)]),t("div",Kt,[e[27]||(e[27]=t("div",{class:"text-slate-500 text-xs uppercase"},"Status",-1)),t("div",{class:_(n.value.ok?"text-emerald-400":"text-rose-400 font-bold")},o(n.value.ok?"OK (200)":"Failed"),3)])]),n.value.extra?(l(),a("div",qt,[e[28]||(e[28]=t("div",{class:"mb-2 text-xs font-bold uppercase text-slate-500"},"Extra Data (JSON)",-1)),t("pre",Qt," "+o(typeof n.value.extra=="string"?n.value.extra:JSON.stringify(n.value.extra,null,2))+` 2 `,1)])):(l(),a("div",Wt," No extra debug data available for this log. "))]),t("div",Xt,[t("button",{onClick:e[6]||(e[6]=s=>u.value=!1),class:"rounded-lg bg-slate-700 px-4 py-2 text-sm text-white hover:bg-slate-600"}," Close Inspector ")])])])):h("",!0)])]),_:1})],64))}});export{re 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.