1import{d as Q,i as A,r as d,o as X,c as Y,b as u,p as Z,k as O,g as e,l as tt,m as et,t as r,v as h,L as st,x as C,G as at,e as c,f as S,F as lt,y as ot,h as F,B as L}from"./app-D0fs7bu7.js";import{_ as rt}from"./AppLayout.vue_vue_type_script_setup_true_lang-CLnk0tKS.js";import{H as dt}from"./HistoryBreakdownModal-Cejcobj2.js";import{_ as nt}from"./_plugin-vue_export-helper-DlAUqK2U.js";/* empty css */import"./Primitive-B-7kMMzx.js";import"./VisuallyHidden-OUinVFht.js";import"./createLucideIcon-CAMkqPlT.js";const it={class:"px-4 sm:px-6 lg:px-8"},ut={class:"grid grid-cols-1 sm:grid-cols-3 gap-3"},pt={class:"rounded-xl border border-slate-200 dark:border-slate-800 bg-white dark:bg-slate-900 p-4 shadow-sm"},xt={class:"mt-1.5 text-2xl font-bold tabular-nums text-slate-900 dark:text-slate-100"},bt={class:"rounded-xl border border-slate-200 dark:border-slate-800 bg-white dark:bg-slate-900 p-4 shadow-sm"},ct={class:"mt-1.5 text-2xl font-bold tabular-nums text-slate-900 dark:text-slate-100"},mt={class:"rounded-xl border border-slate-200 dark:border-slate-800 bg-white dark:bg-slate-900 p-4 shadow-sm"},gt={class:"mt-1.5 text-2xl font-bold tabular-nums text-slate-900 dark:text-slate-100"},vt={class:"px-4 sm:px-6 lg:px-8 mt-4"},ft={class:"flex flex-col lg:flex-row lg:items-end gap-2"},yt={class:"flex-1"},ht={class:"flex flex-wrap gap-2 ml-auto"},kt=["disabled"],_t=["disabled"],wt={class:"flex rounded-lg shadow-sm"},Nt={class:"px-4 sm:px-6 lg:px-8 mt-4"},Ct={class:"rounded-xl border border-slate-200 dark:border-slate-800 overflow-hidden bg-white dark:bg-slate-900"},St={class:"overflow-x-auto"},Rt={class:"min-w-full text-sm"},Ut={class:"bg-slate-50 dark:bg-slate-800/60 text-slate-600 dark:text-slate-300"},Tt={class:"flex items-center gap-1"},Et={key:0},Lt={class:"flex items-center justify-end gap-1"},Vt={key:0},$t={key:0},Dt={class:"px-4 py-3 text-slate-700 dark:text-slate-200"},Bt={class:"px-4 py-3 font-mono text-slate-900 dark:text-slate-100"},jt={class:"px-4 py-3 text-slate-700 dark:text-slate-200"},qt={class:"px-4 py-3 text-right tabular-nums"},Pt={class:"px-4 py-3 text-right tabular-nums"},At={class:"px-4 py-3 text-right tabular-nums"},Ot={class:"px-4 py-3 text-right tabular-nums"},Ft={class:"px-4 py-3 text-right"},It=["onClick"],Mt={key:1},Ht={key:2},zt={class:"flex items-center justify-between px-4 py-3 border-t border-slate-100 dark:border-slate-800 text-xs text-slate-600 dark:text-slate-300"},Gt={class:"flex gap-2"},Kt=["disabled"],Wt=["disabled"],Jt=Q({__name:"retarget",props:{initial:{}},setup(I){const V=["steadfast","pathao","redx","parceldex","paperfly","bahok","delivery_tiger"],n=I,p=A({total:0,today:0,month:0}),v=d([]),l=A({current_page:1,per_page:25,total:0,last_page:1}),k=d(n.initial?.filters?.q??""),_=d(n.initial?.filters?.ratio??""),w=d(n.initial?.filters?.from??null),N=d(n.initial?.filters?.to??null),f=d(n.initial?.filters?.per_page??25),m=d(n.initial?.filters?.sort_by??"date"),x=d(n.initial?.filters?.sort_dir??"desc"),b=d(!1),R=d(!1),U=d(!1),T=d(!1),g=d(null);X(()=>{n.initial&&(Object.assign(p,n.initial.cards||{total:0,today:0,month:0}),v.value=n.initial.rows||[],Object.assign(l,n.initial.meta||l),R.value=!0)});function $(s=l.current_page){return{q:k.value?.trim()||"",ratio:_.value?.trim()||"",from:w.value||void 0,to:N.value||void 0,per_page:f.value,sort_by:m.value,sort_dir:x.value,page:s}}function D(s){return s.ratio??s.success??null}function M(s){if(s==null||s==="")return"â";const t=typeof s=="number"?`${s}`:String(s);return t.includes("%")?t:`${t}%`}function H(s){if(!s)return"â";const t=new Date(String(s).replace(" ","T"));return Number.isNaN(+t)?s:t.toLocaleString(void 0,{day:"2-digit",month:"short",year:"numeric",hour:"2-digit",minute:"2-digit",hour12:!1})}async function y(s=l.current_page){b.value=!0;try{const{data:t}=await L.get("/api/superadmin/alldata/retarget",{params:$(s),withCredentials:!0}),a=t?.cards||{total:0,today:0,month:0};p.total=Number(a.total||0),p.today=Number(a.today||0),p.month=Number(a.month||0),v.value=t?.rows??[];const o=t?.meta||{};l.current_page=Number(o.current_page||1),l.per_page=Number(o.per_page||f.value),l.total=Number(o.total||0),l.last_page=Number(o.last_page||1),R.value=!0}finally{b.value=!1}}function E(){l.current_page=1,y(1)}function z(){k.value="",_.value="",w.value=null,N.value=null,f.value=25,m.value="date",x.value="desc",l.current_page=1,y(1)}function B(s){m.value===s?x.value=x.value==="asc"?"desc":"asc":(m.value=s,x.value=s==="date"?"desc":"asc"),y(1)}function G(){l.current_page>1&&(l.current_page--,y(l.current_page))}function K(){l.current_page<l.last_page&&(l.current_page++,y(l.current_page))}function j(s="full"){const t=$(1),a=new URLSearchParams({q:t.q,ratio:t.ratio,from:t.from||"",to:t.to||"",sort_by:t.sort_by,sort_dir:t.sort_dir,type:s}).toString();window.location.href=`/api/superadmin/alldata/retarget/export?${a}`}function q(s){return!s||typeof s!="object"?[]:V.map(t=>{const a=s[t]||{};return{slug:t,ok:!!(a.total||a.delivered||a.returned),total:Number(a.total||0),delivered:Number(a.delivered||0),returned:Number(a.returned||0),ratio:a.ratio??null,disabled:a.disabled===!0}})}function P(s,t){if(!s)return t;const a={id:s.id??t?.id,public_id:s.public_id??t?.public_id,phone:s.phone??t?.phone,overall:s.overall??t?.overall??{total:0,delivered:0,returned:0,ratio:0},items:[]};if(Array.isArray(s.items))a.items=s.items.map(o=>({slug:o.slug,ok:!!o.ok||!!(o.total||o.delivered||o.returned),total:Number(o.total||0),delivered:Number(o.delivered||0),returned:Number(o.returned||0),ratio:o.ratio??null,disabled:!!o.disabled}));else if(s.couriers&&typeof s.couriers=="object")a.items=q(s.couriers);else{const o={};
1V.forEach(i=>{s[i]&&(o[i]=s[i])}),a.items=q(o)}return a}async function W(s){U.value=!0,T.value=!0;const t=D(s);g.value={id:s.id??s.phone,public_id:String(s.id??s.phone),phone:s.phone,overall:{total:s.total,delivered:s.delivered,returned:s.returned,ratio:t},items:[]};const a=`/api/superadmin/alldata/retarget/${encodeURIComponent(s.phone)}`,o=`/api/superadmin/alldata/${encodeURIComponent(String(s.id??s.phone))}`;try{const{data:i}=await L.get(a,{withCredentials:!0});g.value=P(i,g.value)}catch(i){if(i?.response?.status===404)try{const{data:J}=await L.get(o,{withCredentials:!0});g.value=P(J,g.value)}catch{}}finally{T.value=!1}}return(s,t)=>(u(),Y(rt,null,{default:Z(()=>[O(tt(et),{title:"Retarget (Unique Numbers)"}),t[32]||(t[32]=e("div",{class:"px-4 sm:px-6 lg:px-8 py-4"},[e("h1",{class:"text-xl font-semibold text-slate-800 dark:text-slate-100"}," Retarget (Unique Numbers) ")],-1)),e("div",it,[e("div",ut,[e("div",pt,[t[10]||(t[10]=e("div",{class:"text-[11px] uppercase tracking-wide text-slate-500 dark:text-slate-400"},"Total (unique)",-1)),e("div",xt,r(p.total.toLocaleString()),1)]),e("div",bt,[t[11]||(t[11]=e("div",{class:"text-[11px] uppercase tracking-wide text-slate-500 dark:text-slate-400"},"Today",-1)),e("div",ct,r(p.today.toLocaleString()),1)]),e("div",mt,[t[12]||(t[12]=e("div",{class:"text-[11px] uppercase tracking-wide text-slate-500 dark:text-slate-400"},"This Month",-1)),e("div",gt,r(p.month.toLocaleString()),1)])])]),e("div",vt,[e("div",ft,[e("div",yt,[t[13]||(t[13]=e("label",{class:"block text-xs text-slate-500 dark:text-slate-400 mb-1"},"Search",-1)),h(e("input",{"onUpdate:modelValue":t[0]||(t[0]=a=>k.value=a),type:"text",autocomplete:"off",class:"w-full lg:max-w-xs rounded-lg border border-slate-300 dark:border-slate-700 bg-white dark:bg-slate-900 px-3 py-2 text-sm",placeholder:"Search phone/public id/business...",onKeyup:st(E,["enter"])},null,544),[[C,k.value]])]),e("div",null,[t[14]||(t[14]=e("label",{class:"block text-xs text-slate-500 dark:text-slate-400 mb-1"},"Success %",-1)),h(e("input",{"onUpdate:modelValue":t[1]||(t[1]=a=>_.value=a),type:"text",inputmode:"numeric",pattern:"[0-9\\-]*",autocomplete:"off",class:"w-32 rounded-lg border border-slate-300 dark:border-slate-700 bg-white dark:bg-slate-900 px-3 py-2 text-sm",placeholder:"80 or 80-100"},null,512),[[C,_.value]])]),e("div",null,[t[15]||(t[15]=e("label",{class:"block text-xs text-slate-500 dark:text-slate-400 mb-1"},"From (leave To empty to get only NEW after this date)",-1)),h(e("input",{"onUpdate:modelValue":t[2]||(t[2]=a=>w.value=a),type:"date",class:"w-40 rounded-lg border border-slate-300 dark:border-slate-700 bg-white dark:bg-slate-900 px-3 py-2 text-sm"},null,512),[[C,w.value]])]),e("div",null,[t[16]||(t[16]=e("label",{class:"block text-xs text-slate-500 dark:text-slate-400 mb-1"},"To (optional)",-1)),h(e("input",{"onUpdate:modelValue":t[3]||(t[3]=a=>N.value=a),type:"date",class:"w-40 rounded-lg border border-slate-300 dark:border-slate-700 bg-white dark:bg-slate-900 px-3 py-2 text-sm"},null,512),[[C,N.value]])]),e("div",null,[t[18]||(t[18]=e("label",{class:"block text-xs text-slate-500 dark:text-slate-400 mb-1"},"Rows",-1)),h(e("select",{"onUpdate:modelValue":t[4]||(t[4]=a=>f.value=a),class:"w-24 rounded-lg border border-slate-300 dark:border-slate-700 bg-white dark:bg-slate-900 px-3 py-2 text-sm"},[...t[17]||(t[17]=[e("option",{value:25},"25",-1),e("option",{value:50},"50",-1),e("option",{value:100},"100",-1)])],512),[[at,f.value,void 0,{number:!0}]])]),e("div",ht,[e("button",{type:"button",onClick:z,disabled:b.value,class:"rounded-lg border border-slate-300 dark:border-slate-700 bg-white dark:bg-slate-900 px-4 py-2 text-sm"},"Reset",8,kt),e("button",{type:"button",onClick:E,disabled:b.value,class:"rounded-lg bg-[#13357a] text-white px-4 py-2 text-sm shadow hover:brightness-110 disabled:opacity-60"},"Apply",8,_t),e("div",wt,[e("button",{type:"button",onClick:t[5]||(t[5]=a=>j("full")),class:"rounded-l-lg bg-slate-800 text-white px-4 py-2 text-sm hover:brightness-110 border-r border-slate-600"}," CSV (Full) "),e("button",{type:"button",onClick:t[6]||(t[6]=a=>j("phone")),class:"rounded-r-lg bg-emerald-700 text-white px-4 py-2 text-sm hover:brightness-110",title:"Export Phone Numbers Only"}," Phones ")])])])]),e("div",Nt,[e("div",Ct,[e("div",St,[e("table",Rt,[e("thead",Ut,[e("tr",null,[e("th",{class:"px-4 py-3 text-left cursor-pointer select-none",onClick:t[7]||(t[7]=a=>B("date"))},[e("div",Tt,[t[19]||(t[19]=e("span",null,"DATE",-1)),m.value==="date"?(u(),c("span",Et,r(x.value==="asc"?"â²":"â¼"),1)):S("",!0)])]),t[21]||(t[21]=e("th",{class:"px-4 py-3 text-left"},"PHONE",-1)),t[22]||(t[22]=e("th",{class:"px-4 py-3 text-left"},"BUSINESS",-1)),e("th",{class:"px-4 py-3 text-right cursor-pointer select-none",onClick:t[8]||(t[8]=a=>B("total"))},[e("div",Lt,[t[20]||(t[20]=e("span",null,"TOTAL",-1)),m.value==="total"?(u(),c("span",Vt,r(x.value==="asc"?"â²":"â¼"),1)):S("",!0)])]),t[23]||(t[23]=e("th",{class:"px-4 py-3 text-right"},"DELIVERED",-1)),t[24]||(t[24]=e("th",{class:"px-4 py-3 text-right"},"RETURNED",-1)),t[25]||(t[25]=e("th",{class:"px-4 py-3 text-right"},"SUCCESS %",-1)),t[26]||(t[26]=e("th",{class:"px-4 py-3 text-right"},"ACTION",-1))])]),e("tbody",null,[b.value?(u(),c("tr",$t,[...t[27]||(t[27]=[e("td",{colspan:"8",class:"px-4 py-6 text-center text-slate-500"},"Loadingâ¦",-1)])])):S("",!0),(u(!0),c(lt,null,ot(v.value,(a,o)=>(u(),c("tr",{key:a.phone+":"+o,class:"border-t border-slate-100 dar
1k:border-slate-800"},[e("td",Dt,r(H(a.date)),1),e("td",Bt,r(a.phone),1),e("td",jt,r(a.business||"â"),1),e("td",qt,r(a.total),1),e("td",Pt,r(a.delivered),1),e("td",At,r(a.returned),1),e("td",Ot,r(M(D(a))),1),e("td",Ft,[e("button",{class:"rounded-full bg-[#13357a] text-white px-3 py-1 text-xs shadow hover:brightness-110",onClick:i=>W(a)},"View",8,It)])]))),128)),!b.value&&!R.value?(u(),c("tr",Mt,[e("td",{colspan:"8",class:"px-4 py-12 text-center"},[e("div",{class:"inline-flex flex-col items-center gap-3"},[t[28]||(t[28]=e("div",{class:"h-14 w-14 rounded-full bg-sky-500/10 flex items-center justify-center"},[e("svg",{class:"h-7 w-7 text-sky-500",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"1.5"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z"})])],-1)),t[29]||(t[29]=e("div",{class:"text-sm font-medium text-slate-700 dark:text-slate-200"},"Ready to search",-1)),t[30]||(t[30]=e("div",{class:"text-xs text-slate-500 dark:text-slate-400 max-w-xs text-center"},[F("Use the filters above and click "),e("strong",null,"Apply"),F(" to load retargeting data. This page has a large dataset so data is loaded on demand.")],-1)),e("button",{type:"button",onClick:E,class:"mt-1 rounded-lg bg-[#13357a] text-white px-5 py-2 text-sm shadow hover:brightness-110"}," Load Data ")])])])):!b.value&&v.value.length===0?(u(),c("tr",Ht,[...t[31]||(t[31]=[e("td",{colspan:"8",class:"px-4 py-6 text-center text-slate-500"},"No data found for current filters",-1)])])):S("",!0)])])]),e("div",zt,[e("div",null,"Page "+r(l.current_page)+" of "+r(Math.max(1,l.last_page))+" ⢠"+r(v.value.length)+" rows",1),e("div",Gt,[e("button",{class:"rounded-lg border border-slate-300 dark:border-slate-700 px-3 py-1.5 disabled:opacity-50",disabled:l.current_page<=1,onClick:G},"Prev",8,Kt),e("button",{class:"rounded-lg border border-slate-300 dark:border-slate-700 px-3 py-1.5 disabled:opacity-50",disabled:l.current_page>=l.last_page,onClick:K},"Next",8,Wt)])])])]),O(dt,{open:U.value,loading:T.value,data:g.value,onClose:t[9]||(t[9]=a=>U.value=!1)},null,8,["open","loading","data"])]),_:1}))}}),oe=nt(Jt,[["__scopeId","data-v-4b936e64"]]);export{oe 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.