PageSourceSearch

https://babki.app/build/assets/UserLookup-ubpYG9kW.js

js babki.app collected 2026-09-24 13:55:42 UTC 182,230 bytes, 2 lines download raw bytes

1import{f as J,v as S,o as a,p as U,j as r,i as n,k as t,O as de,P as $e,U as _t,V as wt,T as Qt,s as O,n as p,A as Ae,W as ra,l as e,w as ps,m as v,t as s,g as l,F as B,D as G,E as z,H as bt,Q as Yt,y as da}from"./index-CRYugZLt.js";import{_ as j}from"./index-CqRaUld1.js";import{b as oe,_ as ne,a as me}from"./DialogTitle.vue_vue_type_script_setup_true_lang-BNbfpMLM.js";import{_ as le,a as re}from"./DialogHeader.vue_vue_type_script_setup_true_lang-CH9PLH4_.js";import{_ as be}from"./Input.vue_vue_type_script_setup_true_lang-DC4UriXZ.js";import{_ as Re}from"./Label.vue_vue_type_script_setup_true_lang-CjI7c0wL.js";import{_ as Z,a as X,b as te,c as K,d as W}from"./CardTitle.vue_vue_type_script_setup_true_lang-DFRJL7qx.js";import{M as ia,_ as $t,a as Ct,b as St}from"./DropdownMenuTrigger.vue_vue_type_script_setup_true_lang-BgvCbrTP.js";import{u as xs,a as Rt}from"./useForwardPropsEmits-fUKSrEkx.js";import{u as ua}from"./useEmitAsProps-baH1MY2z.js";import{r as gs,a as Kt,u as Ve,b as vs}from"./useForwardExpose-mWOs9dgW.js";import{c as ut}from"./createContext-BvG5wt8o.js";import{P as ys,b as ca,h as ma}from"./Teleport-CYSVhH9B.js";import{P as ct}from"./Primitive-Bdr2_B-P.js";import{c as Wt}from"./utils-BQHNewu7.js";import{g as ks,i as fa}from"./utils-CQbc2zYJ.js";import{c as At}from"./createLucideIcon-DcwJkYgN.js";import{S as je}from"./search-DDkoGrIm.js";import{C as mt}from"./chevron-down-Bmsw837Y.js";import{L as Zt}from"./loader-circle-BEdU4R2q.js";import{C as Be}from"./check-CJ9QOtPM.js";import{C as bs}from"./copy-CBf1wEBR.js";import{C as Dt}from"./chevron-left-BwYomjR4.js";import{C as It}from"./chevron-right-CA_X5Npz.js";import{X as dt}from"./x-vDyv_HVi.js";import{C as va}from"./chevron-up-jHWWGT6F.js";import{u as Xt,_ as pa}from"./AdminLayout.vue_vue_type_script_setup_true_lang-BIZNuCcB.js";import{o as xa}from"./offerPlatform-B8B2dyAf.js";import{D as hs,a as _s,b as ws,c as $s,d as Cs,e as Ss}from"./DialogTitle-fIvQlzfO.js";import{S as ga}from"./smartphone-DJEWl9Il.js";import{C as Gt}from"./circle-check-big-AiTkItpe.js";import{C as ke}from"./clock-CYJGwrRK.js";import{C as rt}from"./circle-x-DjIlhGJ8.js";import{T as ya}from"./triangle-alert-Ie_XA54-.js";import{G as it}from"./globe-BsYQLqm7.js";import{E as Ee}from"./external-link-CU3prIJi.js";import{a as ee}from"./axios-BQu3BvO5.js";import{D as ka}from"./dollar-sign-CuZYn4vx.js";import{T as ba}from"./trash-2-ByN5LsCh.js";import{u as ha}from"./usePrimitiveElement-CSH8O4zy.js";import{u as Rs,R as _a,i as wa}from"./RovingFocusItem-64-o4FZ6.js";import{V as As}from"./VisuallyHiddenInput-C5mca4GO.js";import{R as $a}from"./RovingFocusGroup-Djlu4ToZ.js";import{_ as Ca}from"./Textarea.vue_vue_type_script_setup_true_lang-5sfgllu5.js";import{S as Sa}from"./shield-check-CI8NtfC8.js";import{P as Ra}from"./plus-CAJzGc6c.js";import"./DialogClose-DFRKP52y.js";import"./index-uAxwwXen.js";import"./index-Cwd0meJh.js";import"./useArrowNavigation-D-pctMGk.js";import"./PopperContent-wB9VxWyT.js";import"./nullish-CHIgUVhi.js";import"./log-out-QgjwtlO9.js";import"./gift-DLu6pWWR.js";import"./users-BCQuty8Q.js";import"./trending-up-sjWTGlPf.js";import"./index-Dlm2pfU4.js";import"./device-D8czfixX.js";const[Aa,Da]=ut(["MenuCheckboxItem","MenuRadioItem"],"MenuItemIndicatorContext");var Ia=J({__name:"MenuItemIndicator",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(u){const E=Aa({modelValue:S(!1)});return(o,D)=>(a(),U(t(ys),{present:o.forceMount||t(fa)(t(E).modelValue.value)||t(E).modelValue.value===!0},{default:r(()=>[n(t(ct),{as:o.as,"as-child":o.asChild,"data-state":t(ks)(t(E).modelValue.value)},{default:r(()=>[de(o.$slots,"default")]),_:3},8,["as","as-child","data-state"])]),_:3},8,["present"]))}}),Ta=Ia;const[w0,Ea]=ut("MenuGroup");var Va=J({__name:"MenuGroup",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(u){const E=u,o=ca(void 0,"reka-menu-group");return Ea({id:o}),(D,f)=>(a(),U(t(ct),$e({role:"group"},E,{"aria-labelledby":t(o)}),{default:r(()=>[de(D.$slots,"default")]),_:3},16,["aria-labelledby"]))}}),Na=Va;const[La,Ma]=ut("MenuRadioGroup");var Ua=J({__name:"MenuRadioGroup",props:{modelValue:{type:null,required:!1,default:""},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["update:modelValue"],setup(u,{emit:E}){const o=u,D=E,f=gs(o,["modelValue"]),$=xs(f),y=Kt(o,"modelValue",D);return Ma({modelValue:y,onValueChange:i=>{y.value=i}}),(i,k)=>(a(),U(Na,_t(wt(t($))),{default:r(()=>[de(i.$slots,"default",{modelValue:t(y)})]),_:3},16))}}),Pa=Ua,Fa=J({__name:"MenuRadioItem",props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(u,{emit:E}){const o=u,D=E,f=gs(o,["value"]),$=xs(f),{value:y}=Qt(o),i=La(),k=O(()=>i.modelValue.value===y?.value);return Da({modelValue:k}),(R,w)=>(a(),U(ia,$e({role:"menuitemradio"},t($),{"aria-checked":k.value,"data-state":t(ks)(k.value),onSelect:w[0]||(w[0]=async b=>{D("select",b),t(i).onValueChange(t(y))})}),{default:r(()=>[de(R.$slots,"default")]),_:3},16,["aria-checked","data-state"]))}}),qa=Fa,za=J({__name:"DropdownMenuItemIndicator",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(u){const E=u;return Ve(),(o,D)=>(a(),U(t(Ta),_t(wt(E)),{default:r(()=>[de(o.$slots,"default")]),_:3},16))}}),Ba=za,Oa=J({__name:"DropdownMenuRadioGroup",props:{modelValue:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["update:modelValue"],setup(u,{emit:E}){const o=u,f=ua(E);return Ve(),($,y)=>(a(),U(t(Pa),_t(wt({...o,...t(f)})),{default:r(()=>[de($.$slots,"default")]),_:3},16))}}),ja=Oa,Ga=J({__name:"DropdownMenuRadioItem",props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(u,{emit:E}){const f=Rt(u,E);return Ve(),($,y)=>(a(),U(t(qa),_t(wt(t(f))),{default:r(()=>[de($.$slots,"default")]),_:3},16))}}),Ha=Ga;const Ja="radio.select";function Qa(u,E,o){ma(Ja,o,{originalEvent:u,value:E})}var Ya=J({__name:"Radio",props:{id:{type:String,required:!1},value:{type:null,required:!1},disabled:{type:Boolean,required:!1,default:!1},checked:{type:Boolean,required:!1,default:void 0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:checked","select"],setup(u,{emit:E}){const o=u,D=E,f=Kt(o,"checked",D,{passive:o.checked===void 0}),{value:$}=Qt(o),{forwardRef:y,currentElement:i}=Ve(),k=Rs(i),R=O(()=>o.id&&i.value?document.querySelector(`[for="${o.id}"]`)?.innerText??o.value:void 0);function w(b){o.disabled||Qa(b,o.value,N=>{D("select",N),!N?.defaultPrevented&&(f.value=!0,k.value&&N.stopPropagation())})}return(b,N)=>(a(),U(t(ct),$e(b.$attrs,{id:b.id,ref:t(y),role:"radio",type:b.as==="button"?"button":void 0,as:b.as,"aria-checked":t(f),"aria-label":R.value,"as-child":b.asChild,disabled:b.disabled?"":void 0,"data-state":t(f)?"checked":"unchecked","data-disabled":b.disabled?"":void 0,value:t($),required:b.required,name:b.name,onClick:Ae(w,["stop"])}),{default:r(()=>[de(b.$slots,"default",{checked:t(f)}
1),t(k)&&b.name?(a(),U(t(As),{key:0,type:"radio",tabindex:"-1",value:t($),checked:!!t(f),name:b.name,disabled:b.disabled,required:b.required},null,8,["value","checked","name","disabled","required"])):p("v-if",!0)]),_:3},16,["id","type","as","aria-checked","aria-label","as-child","disabled","data-state","data-disabled","value","required","name"]))}}),Ka=Ya;const[Wa,Za]=ut("RadioGroupRoot");var Xa=J({__name:"RadioGroupRoot",props:{modelValue:{type:null,required:!1},defaultValue:{type:null,required:!1},disabled:{type:Boolean,required:!1,default:!1},orientation:{type:String,required:!1,default:void 0},dir:{type:String,required:!1},loop:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1,default:!1}},emits:["update:modelValue"],setup(u,{emit:E}){const o=u,D=E,{forwardRef:f,currentElement:$}=Ve(),y=Kt(o,"modelValue",D,{defaultValue:o.defaultValue,passive:o.modelValue===void 0}),{disabled:i,loop:k,orientation:R,name:w,required:b,dir:N}=Qt(o),L=ha(N),h=Rs($);return Za({modelValue:y,changeModelValue:M=>{y.value=M},disabled:i,loop:k,orientation:R,name:w?.value,required:b}),(M,q)=>(a(),U(t($a),{"as-child":"",orientation:t(R),dir:t(L),loop:t(k)},{default:r(()=>[n(t(ct),{ref:t(f),role:"radiogroup","data-disabled":t(i)?"":void 0,"as-child":M.asChild,as:M.as,"aria-orientation":t(R),"aria-required":t(b),dir:t(L)},{default:r(()=>[de(M.$slots,"default",{modelValue:t(y)}),t(h)&&t(w)?(a(),U(t(As),{key:0,required:t(b),disabled:t(i),value:t(y),name:t(w)},null,8,["required","disabled","value","name"])):p("v-if",!0)]),_:3},8,["data-disabled","as-child","as","aria-orientation","aria-required","dir"])]),_:3},8,["orientation","dir","loop"]))}}),eo=Xa;const[to,so]=ut("RadioGroupItem");var ao=J({inheritAttrs:!1,__name:"RadioGroupItem",props:{id:{type:String,required:!1},value:{type:null,required:!1},disabled:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["select"],setup(u,{emit:E}){const o=u,D=E,{forwardRef:f,currentElement:$}=Ve(),y=Wa(),i=O(()=>y.disabled.value||o.disabled),k=O(()=>y.required.value||o.required),R=O(()=>wa(y.modelValue?.value,o.value));so({disabled:i,checked:R});const w=S(!1),b=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"];vs("keydown",L=>{b.includes(L.key)&&(w.value=!0)}),vs("keyup",()=>{w.value=!1});function N(){setTimeout(()=>{w.value&&$.value?.click()},0)}return(L,h)=>(a(),U(t(_a),{checked:R.value,disabled:i.value,"as-child":"",focusable:!i.value,active:R.value},{default:r(()=>[n(Ka,$e({...L.$attrs,...o},{ref:t(f),checked:R.value,required:k.value,disabled:i.value,"onUpdate:checked":h[0]||(h[0]=M=>t(y).changeModelValue(L.value)),onSelect:h[1]||(h[1]=M=>D("select",M)),onKeydown:h[2]||(h[2]=ra(Ae(()=>{},["prevent"]),["enter"])),onFocus:N}),{default:r(()=>[de(L.$slots,"default",{checked:R.value,required:k.value,disabled:i.value})]),_:3},16,["checked","required","disabled"])]),_:3},8,["checked","disabled","focusable","active"]))}}),oo=ao,no=J({__name:"RadioGroupIndicator",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(u){const{forwardRef:E}=Ve(),o=to();return(D,f)=>(a(),U(t(ys),{present:D.forceMount||t(o).checked.value},{default:r(()=>[n(t(ct),$e({ref:t(E),"data-state":t(o).checked.value?"checked":"unchecked","data-disabled":t(o).disabled.value?"":void 0,"as-child":D.asChild,as:D.as},D.$attrs),{default:r(()=>[de(D.$slots,"default")]),_:3},16,["data-state","data-disabled","as-child","as"])]),_:3},8,["present"]))}}),lo=no;const ro=At("CirclePauseIcon",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"10",x2:"10",y1:"15",y2:"9",key:"c1nkhi"}],["line",{x1:"14",x2:"14",y1:"15",y2:"9",key:"h65svq"}]]);const Ds=At("CircleIcon",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);const Oe=At("MonitorIcon",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);const ht=At("MousePointerIcon",[["path",{d:"M12.586 12.586 19 19",key:"ea5xo7"}],["path",{d:"M3.688 3.037a.497.497 0 0 0-.651.651l6.5 15.999a.501.501 0 0 0 .947-.062l1.569-6.083a2 2 0 0 1 1.448-1.479l6.124-1.5
179a.5.5 0 0 0 .063-.947z",key:"277e5u"}]]),Tt=J({__name:"DropdownMenuRadioGroup",props:{modelValue:{},asChild:{type:Boolean},as:{}},emits:["update:modelValue"],setup(u,{emit:E}){const f=Rt(u,E);return($,y)=>(a(),U(t(ja),$e({"data-slot":"dropdown-menu-radio-group"},t(f)),{default:r(()=>[de($.$slots,"default")]),_:3},16))}}),io={class:"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center"},ae=J({__name:"DropdownMenuRadioItem",props:{value:{},disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},emits:["select"],setup(u,{emit:E}){const o=u,D=E,f=O(()=>{const{class:y,...i}=o;return i}),$=Rt(f,D);return(y,i)=>(a(),U(t(Ha),$e({"data-slot":"dropdown-menu-radio-item"},t($),{class:t(Wt)("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",o.class)}),{default:r(()=>[e("span",io,[n(t(Ba),null,{default:r(()=>[n(t(Ds),{class:"size-2 fill-current"})]),_:1})]),de(y.$slots,"default")]),_:3},16,["class"]))}}),uo={class:"space-y-2"},co={class:"flex gap-2"},mo={key:0,class:"text-xs text-muted-foreground"},fo={class:"space-y-2"},vo={key:0,class:"text-sm text-destructive"},po={class:"flex justify-end gap-2"},xo=J({__name:"AdjustSurveyReconDebtModal",props:{open:{type:Boolean},isProcessing:{type:Boolean},error:{},currentDebt:{},reliefApplied:{type:Boolean}},emits:["update:open","adjust"],setup(u,{emit:E}){const o=u,D=E,f=S(""),$=S("");ps(()=>o.open,w=>{w&&(f.value=o.currentDebt.toFixed(2),$.value="")});const y=w=>new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}).format(w),i=O(()=>{const w=parseFloat(f.value);return isNaN(w)||w<0?null:w===0||o.reliefApplied?10:10+w*2}),k=()=>{f.value="0"},R=()=>{const w=parseFloat(f.value);isNaN(w)||w<0||w>1e3||$.value.trim()&&D("adjust",{newValue:w,reason:$.value.trim()})};return(w,b)=>(a(),U(t(oe),{open:o.open,"onUpdate:open":b[3]||(b[3]=N=>D("update:open",N))},{default:r(()=>[n(t(le),{class:"sm:max-w-md"},{default:r(()=>[n(t(re),null,{default:r(()=>[n(t(ne),null,{default:r(()=>[...b[4]||(b[4]=[v("Adjust Survey Recon Debt",-1)])]),_:1}),n(t(me),null,{default:r(()=>[v(" Manually set this user's survey reconciliation debt. Current: "+s(y(o.currentDebt)),1)]),_:1})]),_:1}),e("form",{onSubmit:Ae(R,["prevent"]),class:"space-y-4"},[e("div",uo,[n(t(Re),{for:"new-debt-value"},{default:r(()=>[...b[5]||(b[5]=[v("New Debt Value (USD)",-1)])]),_:1}),e("div",co,[n(t(be),{id:"new-debt-value",modelValue:f.value,"onUpdate:modelValue":b[0]||(b[0]=N=>f.value=N),type:"number",step:"0.01",min:"0",max:"1000",placeholder:"0.00",disabled:o.isProcessing,required:""},null,8,["modelValue","disabled"]),n(t(j),{type:"button",variant:"outline",disabled:o.isProcessing,onClick:k},{default:r(()=>[...b[6]||(b[6]=[v(" Set to $0 ",-1)])]),_:1},8,["disabled"])]),i.value!==null?(a(),l("p",mo," New effective minimum: "+s(y(i.value)),1)):p("",!0)]),e("div",fo,[n(t(Re),{for:"adjust-reason"},{default:r(()=>[...b[7]||(b[7]=[v("Reason",-1)])]),_:1}),n(t(be),{id:"adjust-reason",modelValue:$.value,"onUpdate:modelValue":b[1]||(b[1]=N=>$.value=N),type:"text",placeholder:"Reason for adjustment...",disabled:o.isProcessing,required:""},null,8,["modelValue","disabled"])]),o.error?(a(),l("div",vo,s(o.error),1)):p("",!0),e("div",po,[n(t(j),{type:"button",variant:"outline",disabled:o.isProcessing,onClick:b[2]||(b[2]=N=>D("update:open",!1))},{default:r(()=>[...b[8]||(b[8]=[v(" Cancel ",-1)])]),_:1},8,["disabled"]),n(t(j),{type:"submit",disabled:o.isProcessing},{default:r(()=>[v(s(o.isProcessing?"Processing...":"Adjust Debt"),1)]),_:1},8,["disabled"])])],32)]),_:1})]),_:1},8,["open"]))}}),go={key:0,class:"grid grid-cols-2 gap-3 rounded-lg border bg-muted/30 p-3 text-xs md:grid-cols-4"},yo={class:"space-y-0.5"},ko={class:"truncate"},bo={class:"ml-2 text-muted-foreground"},ho={class:"space-y-0.5"},_o={class:"truncate"},wo={class:"ml-2 text-muted-foreground"},$o={key:0,class:"text-muted-foreground"},Co={class:"space-y-0.5"},So={class:"truncate"},Ro={class:"ml-2 text-muted-foreground"},Ao={key:0,class:"text-muted-foreground"},Do={class:"space-y-0.5"},Io={class:"truncate"},To={class:"ml-2 text-muted-foreground"},Eo={key:0,class:"text-muted-foreground"},Vo={class:"overflow-x-auto"},No={class:"w-full text-xs"},Lo={class:"px-2 py-1.5 whitespace-nowrap"},Mo={class:"px-2 py-1.5"},Uo={class:"rounded bg-orange-100 px-1.5 py-0.5 font-medium text-orange-700 dark:bg-orange-900 dark:text-orange-300"},Po={class:"px-2 py-1.5"},Fo={class:"px-2 py-1.5 font-mono"},qo={class:"px-2 py-1.5"},zo=["title"],Bo={key:0,class:"mt-2 text-center text-xs text-muted-foreground"},Oo=J({__name:"BlockedEventsCard",props:{checks:{}},setup(u){const E=u,o=y=>
1new Date(y).toLocaleString(),D=O(()=>E.checks.slice(0,10)),f=y=>{if(!y)return"Unknown";let i="Unknown Browser",k="Unknown OS";return y.includes("Chrome")&&!y.includes("Edg")?i="Chrome":y.includes("Safari")&&!y.includes("Chrome")?i="Safari":y.includes("Firefox")?i="Firefox":y.includes("Edg")&&(i="Edge"),y.includes("Windows")?k="Windows":y.includes("Mac OS")?k="macOS":y.includes("iPhone")||y.includes("iPad")?k="iOS":y.includes("Android")?k="Android":y.includes("Linux")&&(k="Linux"),`${i} / ${k}`},$=O(()=>{const y=E.checks;if(y.length===0)return null;const i=new Map,k=new Map,R=new Map,w=new Map;y.forEach(N=>{const L=f(N.userAgent);i.set(L,(i.get(L)||0)+1),N.timezone&&k.set(N.timezone,(k.get(N.timezone)||0)+1),N.browserLanguages&&N.browserLanguages.length>0&&N.browserLanguages.forEach(h=>{R.set(h,(R.get(h)||0)+1)}),N.ipCountry&&w.set(N.ipCountry,(w.get(N.ipCountry)||0)+1)});const b=N=>Array.from(N.entries()).sort((L,h)=>h[1]-L[1]);return{devices:b(i),timezones:b(k),languages:b(R),countries:b(w)}});return(y,i)=>u.checks.length>0?(a(),U(t(W),{key:0,class:"scroll-mt-12"},{default:r(()=>[n(t(Z),{class:"pb-2"},{default:r(()=>[n(t(X),{class:"text-lg"},{default:r(()=>[...i[0]||(i[0]=[v("Session Blocked Events",-1)])]),_:1}),n(t(te),{class:"text-xs"},{default:r(()=>[v(s(u.checks.length)+" blocked session"+s(u.checks.length!==1?"s":"")+" (adblock/incognito detected) ",1)]),_:1})]),_:1}),n(t(K),{class:"space-y-4 pt-0"},{default:r(()=>[$.value?(a(),l("div",go,[e("div",null,[i[1]||(i[1]=e("div",{class:"mb-1 font-medium text-muted-foreground"}," Devices ",-1)),e("div",yo,[(a(!0),l(B,null,G($.value.devices,([k,R])=>(a(),l("div",{key:k,class:"flex justify-between"},[e("span",ko,s(k),1),e("span",bo,"("+s(R)+")",1)]))),128))])]),e("div",null,[i[2]||(i[2]=e("div",{class:"mb-1 font-medium text-muted-foreground"}," Timezones ",-1)),e("div",ho,[(a(!0),l(B,null,G($.value.timezones,([k,R])=>(a(),l("div",{key:k,class:"flex justify-between"},[e("span",_o,s(k),1),e("span",wo,"("+s(R)+")",1)]))),128)),$.value.timezones.length===0?(a(),l("div",$o," None ")):p("",!0)])]),e("div",null,[i[3]||(i[3]=e("div",{class:"mb-1 font-medium text-muted-foreground"}," Languages ",-1)),e("div",Co,[(a(!0),l(B,null,G($.value.languages,([k,R])=>(a(),l("div",{key:k,class:"flex justify-between"},[e("span",So,s(k),1),e("span",Ro,"("+s(R)+")",1)]))),128)),$.value.languages.length===0?(a(),l("div",Ao," None ")):p("",!0)])]),e("div",null,[i[4]||(i[4]=e("div",{class:"mb-1 font-medium text-muted-foreground"}," Countries ",-1)),e("div",Do,[(a(!0),l(B,null,G($.value.countries,([k,R])=>(a(),l("div",{key:k,class:"flex justify-between"},[e("span",Io,s(k),1),e("span",To,"("+s(R)+")",1)]))),128)),$.value.countries.length===0?(a(),l("div",Eo," None ")):p("",!0)])])])):p("",!0),e("div",Vo,[e("table",No,[i[5]||(i[5]=e("thead",null,[e("tr",{class:"border-b"},[e("th",{class:"px-2 py-1.5 text-left font-medium"}," Date "),e("th",{class:"px-2 py-1.5 text-left font-medium"}," Reason "),e("th",{class:"px-2 py-1.5 text-left font-medium"}," Timezone "),e("th",{class:"px-2 py-1.5 text-left font-medium"}," IP "),e("th",{class:"px-2 py-1.5 text-left font-medium"}," Location "),e("th",{class:"px-2 py-1.5 text-left font-medium"}," User Agent ")])],-1)),e("tbody",null,[(a(!0),l(B,null,G(D.value,k=>(a(),l("tr",{key:k.id,class:"border-b hover:bg-muted/50"},[e("td",Lo,s(o(k.createdAt)),1),e("td",Mo,[e("span",Uo,s(k.reason),1)]),e("td",Po,s(k.timezone||"-"),1),e("td",Fo,s(k.ipAddress||"-"),1),e("td",qo,[k.ipCity||k.ipState||k.ipCountry?(a(),l(B,{key:0},[v(s([k.ipCity,k.ipState,k.ipCountry].filter(Boolean).join(", ")),1)],64)):(a(),l(B,{key:1},[v("-")],64))]),e("td",{class:"max-w-xs truncate px-2 py-1.5",title:k.userAgent||""},s(k.userAgent||"-"),9,zo)]))),128))])]),u.checks.length>10?(a(),l("div",Bo," Showing 10 of "+s(u.checks.length)+" blocked sessions ",1)):p("",!0)])]),_:1})]),_:1})):p("",!0)}}),jo={class:"flex items-center justify-between"},Go={class:"mt-2 flex items-center gap-2"},Ho={class:"relative flex-1"},Jo={key:0,class:"flex items-center gap-2 text-xs text-muted-foreground"},Qo={key:1,class:"text-xs text-destructive"},Yo={key:2,class:"text-xs text-muted-foreground"},Ko={key:3,class:"text-xs text-muted-foreground"},Wo={key:4},Zo={class:"w-full text-xs"},Xo={class:"px-1 py-0.5"},en={class:"whitespace-nowrap"},tn={class:"px-1 py-0.5"},sn=["title","onClick"],an={class:"block max-w-[120px] truncate"},on=["onClick"],nn={key:2,class:"capitalize"},ln={class:"px-1 py-0.5"},rn=["title","onClick"],dn={class:"max-w-[50px] truncate"},un={key:1},cn={class:"px-1 py-0.5"},mn={key:0,class:"text-muted-foreground"},fn={class:"px-1 py-0.5"},vn={key:0},pn={key:0,class:"text-muted-foreground"},xn={key:1},gn=["title"],yn=["title"],kn={class:"px-1 py-0.5 text-right font-mono"},bn={key:0,class:"mt-2 flex items-center justify-between border-t pt-2"},hn={class:"text-xs text-muted-foreground"},_n={class:"flex items-center gap-1"},zt=15,wn=J({__name:"ClicksCard",props:{clicks:{},isLoading:{type:Boolean},error:{}},emits:["openGameVariantModal","openSurveyClickFromClick","copyToClipboard"],setup(u,{emit:E}){const o=u,D=E,f=S(""),$=S("all"),y=S(1),i=S(null),k=x=>{navigator.clipboard.writeText(x),i.value=x,D("copyToClipboard",x),setTimeout(()=>{i.value=null},1500)},R=O(()=>{let x=o.clicks;if($.value==="game_offer"?x=x.filter(A=>A.contentType==="game_offer"||A.gameOfferVariant!==null):$.value==="survey"&&(x=x.filter(A=>A.contentType==="survey")),f.value.trim()){const A=f.value.toLowerCase();x=x.filter(C=>[C.contentType,C.gameOfferVariant?.anchor,C.gameOfferVariant?.offerN
1ame,String(C.contentId),C.ipAddress,C.city,C.state,C.countryCode,C.deviceType,C.browser,C.platform].some(V=>V&&V.toLowerCase().includes(A)))}return x}),w=O(()=>Math.ceil(R.value.length/zt)),b=O(()=>{const x=(y.value-1)*zt;return R.value.slice(x,x+zt)}),N=x=>{$.value=x,y.value=1},L=()=>{y.value=1},h=O(()=>{switch($.value){case"game_offer":return"Games/Offers";case"survey":return"Surveys";default:return"All Types"}}),M=x=>new Date(x).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),q=x=>new Date(x).toLocaleDateString([],{month:"short",day:"numeric"});return(x,A)=>(a(),U(t(W),{id:"clicks",class:"scroll-mt-12"},{default:r(()=>[n(t(Z),{class:"pb-2"},{default:r(()=>[e("div",jo,[e("div",null,[n(t(X),{class:"text-lg"},{default:r(()=>[...A[3]||(A[3]=[v("Recent Clicks",-1)])]),_:1}),n(t(te),{class:"text-xs"},{default:r(()=>[u.isLoading?(a(),l(B,{key:0},[v("Last 365 days")],64)):(a(),l(B,{key:1},[v(" Last 365 days ("+s(R.value.length)+" of "+s(u.clicks.length)+" clicks) ",1)],64))]),_:1})])]),e("div",Go,[e("div",Ho,[n(t(je),{class:"absolute top-1/2 left-2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground"}),n(t(be),{modelValue:f.value,"onUpdate:modelValue":A[0]||(A[0]=C=>f.value=C),placeholder:"Search clicks...",class:"h-8 pl-7 text-xs",onInput:L},null,8,["modelValue"])]),n(t($t),null,{default:r(()=>[n(t(Ct),{"as-child":""},{default:r(()=>[n(t(j),{variant:"outline",size:"sm",class:"h-8 w-[130px] justify-between text-xs"},{default:r(()=>[v(s(h.value)+" ",1),n(t(mt),{class:"ml-1 h-3.5 w-3.5"})]),_:1})]),_:1}),n(t(St),{align:"end"},{default:r(()=>[n(t(Tt),{"model-value":$.value,"onUpdate:modelValue":N},{default:r(()=>[n(t(ae),{value:"all"},{default:r(()=>[...A[4]||(A[4]=[v("All Types",-1)])]),_:1}),n(t(ae),{value:"game_offer"},{default:r(()=>[...A[5]||(A[5]=[v("Games/Offers",-1)])]),_:1}),n(t(ae),{value:"survey"},{default:r(()=>[...A[6]||(A[6]=[v("Surveys",-1)])]),_:1})]),_:1},8,["model-value"])]),_:1})]),_:1})])]),_:1}),n(t(K),null,{default:r(()=>[u.isLoading?(a(),l("div",Jo,[n(t(Zt),{class:"h-3.5 w-3.5 animate-spin"}),A[7]||(A[7]=v(" Loading click history... ",-1))])):u.error?(a(),l("div",Qo,s(u.error),1)):u.clicks.length===0?(a(),l("div",Yo," No clicks found ")):R.value.length===0?(a(),l("div",Ko," No clicks match your filters ")):(a(),l("div",Wo,[e("table",Zo,[A[8]||(A[8]=e("thead",null,[e("tr",{class:"border-b"},[e("th",{class:"px-1 py-1 text-left font-medium"}," Time "),e("th",{class:"px-1 py-1 text-left font-medium"}," Type "),e("th",{class:"px-1 py-1 text-left font-medium"},"ID"),e("th",{class:"px-1 py-1 text-left font-medium"}," Device "),e("th",{class:"px-1 py-1 text-left font-medium"}," Location "),e("th",{class:"px-1 py-1 text-left font-medium"},"TZ"),e("th",{class:"px-1 py-1 text-left font-medium"}," Lang "),e("th",{class:"px-1 py-1 text-right font-medium"}," RTT ")])],-1)),e("tbody",null,[(a(!0),l(B,null,G(b.value,C=>(a(),l("tr",{key:C.id,class:"border-b hover:bg-muted/50"},[e("td",Xo,[e("span",en,s(q(C.createdAt))+" "+s(M(C.createdAt)),1)]),e("td",tn,[C.gameOfferVariant?(a(),l("button",{key:0,class:"text-left text-blue-600 hover:underline dark:text-blue-400",title:C.gameOfferVariant.anchor,onClick:F=>D("openGameVariantModal",C.gameOfferVariant,C)},[e("span",an,s(C.gameOfferVariant.anchor),1)],8,sn)):C.contentType==="survey"?(a(),l("button",{key:1,class:"text-left text-blue-600 hover:underline dark:text-blue-400",title:"View survey click details",onClick:F=>D("openSurveyClickFromClick",C)}," Survey ",8,on)):(a(),l("span",nn,s(C.contentType),1))]),e("td",ln,[C.contentId?(a(),l("button",{key:0,class:"flex items-center gap-1 rounded px-0.5 font-mono transition-colors hover:bg-muted",title:String(C.contentId),onClick:F=>k(String(C.contentId))},[e("span",dn,s(C.contentId),1),i.value===String(C.contentId)?(a(),U(t(Be),{key:0,class:"h-3 w-3 text-green-600"})):(a(),U(t(bs),{key:1,class:"h-3 w-3 text-muted-foreground"}))],8,rn)):(a(),l("span",un,"-"))]),e("td",cn,[e("span",null,s(C.deviceType||"-"),1),C.browser||C.platform?(a(),l("span",mn,s(" ")+s(C.browser||"")+s(C.browser&&C.platform?"/":"")+s(C.platform||""),1)):p("",!0)]),e("td",fn,[C.city||C.state||C.countryCode?(a(),l("span",vn,[v(s(C.city)+s(C.city&&C.state?", ":"")+s(C.state)+" ",1),C.countryCode?(a(),l("span",pn,s(C.countryCode),1)):p("",!0)])):(a(),l("span",xn,"-"))]),e("td",{class:"px-1 py-0.5 font-mono",title:C.browserTimezone||""},s(C.browserTimezone?C.browserTimezone.split("/").pop():"-"),9,gn),e("td",{class:"px-1 py-0.5 font-mono",title:C.browserLanguages?.join(", ")||""},s(C.browserLanguages?.[0]||"-"),9,yn),e("td",kn,s(C.latencyMs?`${C.latencyMs}`:"-"),1)]))),128))])]),w.value>1?(a(),l("div",bn,[e("span",hn," Page "+s(y.value)+" of "+s(w.value),1),e("div",_n,[n(t(j),{variant:"outline",size:"sm",class:"h-7 w-7 p-0",disabled:y.value===1,onClick:A[1]||(A[1]=C=>y.value--)},{default:r(()=>[n(t(Dt),{class:"h-4 w-4"})]),_:1},8,["disabled"]),n(t(j),{variant:"outline",size:"sm",class:"h-7 w-7 p-0",disabled:y.value===w.value,onClick:A[2]||(A[2]=C=>y.value++)},{default:r(()=>[n(t(It),{class:"h-4 w-4"})]),_:1},8,["disabled"])])])):p("",!0)]))]),_:1})]),_:1}))}}),Is=(u,E)=>u<=0||E.logMean===null||!E.logStddev||E.logStddev===0||E.count<5?null:(Math.log(u)-E.logMean)/E.logStddev,Ht=(u,E)=>u<=0||E.count<5||E.p5Seconds===null||E.p10Seconds===null?"unknown":u<E.p5Seconds?"below-p5":u<E.p10Seconds?"below-p10":"normal",$n={class:"flex items-center justify-between"},Cn={class:"mt-2 flex items-center gap-2"},Sn={class:"relative flex-1"},Rn={key:0,class:"text-xs text-muted-foreground"},An={key:1,class:"text-xs text-muted-foreground"},Dn={key:2},In={class:"w-full text-xs"},Tn={class:"px-1 py-0.5"},En={class:"whitespace-nowrap"},Vn={class:"px-1 py-0.5"},Nn=["title","onClick"],Ln={class:"block max-w-[120px] truncate"},Mn=["title"],Un={class:"px-1 py-0.5"},Pn={key:0,class:"ml-1 rounded-full bg-red-100 px-1.5 py-0.5 text-[10px] font-medium text-red-700 dark:bg-red-900/30 dark:text-red-400",title:"IAP purchase event (task_type 3/9/10/13/16) on an offer that forwards sale_amount for other users — but no sale_amount was recorded for any of this user's conversions on this offer."},Fn={class:"px-1 py-0.5 text-right font-mono whitespace-nowrap"},qn={class:"px-1 py-0.5 text-right font-mono whitespace-nowrap"},zn={class:"px-1 py-0.5 text-right font-mono whitespace-nowrap"},Bn={key:0},On={key:1,class:"text-muted-foreground"},jn={class:"px-1 py-0.5 whitespace-nowrap"},Gn={key:0,class:"ml-1 text-muted-foreground"},Hn=["onClick"],Jn={key:1,class:"mt-0.5"},Qn=["title"],Yn=["title"],Kn={key:2,class:"ml-1 text-[10px] text-muted-foreground"},Wn={class:"px-1 py-0.5 text-right font-mono whitespace-nowrap"},Zn={class:"inline-flex items-center gap-1"},Xn=["title"],el={key:0,class:"mt-2 flex items-center justify-between border-t pt-2"},tl={class:"text-xs text-muted-foreground"},sl={class:"flex items-center gap-1"},Bt=15,al=J({__name:"ConversionsCard",props:{conversions:{},clicks:{},eventBenchmarks:{}},emits:["openGameVariantModal","reverseReconciliation"],setup(u,{emit:E}){const o=u,D=E,f=m=>{if(m.clickId){const c=o.clicks.find(I=>I.id===m.clickId);if(c)return c}return m.gameOfferVariant?o.clicks.find(c=>c.gameOfferVariant?.id===m.gameOfferVariant?.id)??null:null},$=S(""),y=S("all"),i=S(1),k=O(()=>{let m=o.conversions;if(y.value==="RECONCILED"?m=m.filter(c=>c.providerStatus==="RECONCILED"||c.providerStatus==="RECONCILIATION"):y.value==="REJECTED"?m=m.filter(c=>c.providerStatus==="REJECTED"):y.value==="pending"?m=m.filter(c=>!c.providerStatus||c.providerStatus!=="RECONCILED"&&c.providerStatus!=="RECONCILIATION"&&c.providerStatus!=="REJECTED"):y.value==="review_hold"?m=m.filter(c=>c.reviewStatus==="pending_review"):y.value==="denied"&&(m=m.filter(c=>c.reviewStatus==="denied")),$.value.trim()){const c=$.value.toLowerCase();m=m.filter(I=>[I.externalContentId,I.contentName,I.eventName,I.gameOfferVariant?.anchor,I.gameOfferVariant?.offerN
1ame].some(Q=>Q&&Q.toLowerCase().includes(c)))}return m}),R=O(()=>Math.ceil(k.value.length/Bt)),w=O(()=>{const m=(i.value-1)*Bt;return k.value.slice(m,m+Bt)}),b=m=>{y.value=m,i.value=1},N=()=>{i.value=1},L=O(()=>{switch(y.value){case"RECONCILED":return"Reconciled";case"REJECTED":return"Rejected";case"pending":return"Pending";case"review_hold":return"Held (Review)";case"denied":return"Denied";default:return"All Status"}}),h=m=>new Date(m).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),M=m=>new Date(m).toLocaleDateString([],{month:"short",day:"numeric"}),q=m=>new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}).format(m),x=m=>{if(m==null)return"-";const c=Math.floor(m/86400),I=Math.floor(m%86400/3600),H=Math.floor(m%3600/60),Q=m%60;return c>0?`${c}d ${I}h`:I>0?`${I}h ${H}m`:H>0?`${H}m ${Q}s`:`${Q}s`},A=m=>{if(m==null)return"-";const c=Math.floor(m/3600),I=Math.floor(m%3600/60);return c>0?`${c}h ${I}m`:`${I}m`},C=Is,F=m=>{if(!m.contentId||!m.eventId||[3,4,5,6,12,13].includes(m.taskType)||m.providerStatus==="RECONCILED"||m.providerStatus==="RECONCILIATION")return null;const c=`${m.contentId}:${m.eventId}`;return o.eventBenchmarks[c]??null},V=m=>o.conversions.some(c=>c.contentId===m&&c.saleAmount>.99),T=[3,9,10,13,16],ie=O(()=>{const m=new Map;for(const c of o.conversions)c.contentId!==null&&(c.saleAmount>.8?m.set(c.contentId,!0):m.has(c.contentId)||m.set(c.contentId,!1));return m}),he=m=>m.taskType===null||!T.includes(m.taskType)||!m.expectsSaleAmount||m.contentId===null?!1:ie.value.get(m.contentId)===!1,ue=(m,c)=>m.contentId&&V(m.contentId)?c.spender:c.nonSpender,xe=m=>{if(m.clickToConversionSeconds===null)return"";const c=F(m);if(!c)return"";const I=ue(m,c);switch(Ht(m.clickToConversionSeconds,I)){case"below-p5":return"bg-red-500";case"below-p10":return"bg-orange-500";case"unknown":return"bg-gray-400";default:return"bg-green-500"}},P=m=>{if(m.clickToConversionSeconds===null)return"";const c=F(m);if(!c)return"";const I=!!m.contentId&&V(m.contentId),H=[],Q=(Ne,ce,_e)=>{const Ce=C(m.clickToConversionSeconds,ce),Le=Ce!==null?` | logz=${Ce>0?"+":""}${Ce.toFixed(1)}`:"",Me=ce.p5Seconds!==null?` | p5 ${A(ce.p5Seconds)} / p10 ${A(ce.p10Seconds)}`:"";return`${_e?"> ":"  "}${Ne}: avg ${A(ce.avgSeconds)} | med ${A(ce.medianSeconds)} | σ ${A(ce.stddevSeconds)} | n=${ce.count}${Le}${Me}`};return c.nonSpender.count>0&&H.push(Q("Non-spender",c.nonSpender,!I)),c.spender.count>0&&H.push(Q("Spender",c.spender,I)),c.banned.count>0&&H.push(Q("Banned",c.banned,!1)),H.join(`
2`)};return(m,c)=>(a(),U(t(W),{id:"conversions",class:"scroll-mt-12"},{default:r(()=>[n(t(Z),{class:"pb-2"},{default:r(()=>[e("div",$n,[e("div",null,[n(t(X),{class:"text-lg"},{default:r(()=>[...c[3]||(c[3]=[v("Conversions",-1)])]),_:1}),n(t(te),{class:"text-xs"},{default:r(()=>[v(" Last 30 days ("+s(k.value.length)+" of "+s(u.conversions.length)+" conversions) ",1)]),_:1})])]),e("div",Cn,[e("div",Sn,[n(t(je),{class:"absolute top-1/2 left-2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground"}),n(t(be),{modelValue:$.value,"onUpdate:modelValue":c[0]||(c[0]=I=>$.value=I),placeholder:"Search conversions...",class:"h-8 pl-7 text-xs",onInput:N},null,8,["modelValue"])]),n(t($t),null,{default:r(()=>[n(t(Ct),{"as-child":""},{default:r(()=>[n(t(j),{variant:"outline",size:"sm",class:"h-8 w-[130px] justify-between text-xs"},{default:r(()=>[v(s(L.value)+" ",1),n(t(mt),{class:"ml-1 h-3.5 w-3.5"})]),_:1})]),_:1}),n(t(St),{align:"end"},{default:r(()=>[n(t(Tt),{"model-value":y.value,"onUpdate:modelValue":b},{default:r(()=>[n(t(ae),{value:"all"},{default:r(()=>[...c[4]||(c[4]=[v("All Status",-1)])]),_:1}),n(t(ae),{value:"RECONCILED"},{default:r(()=>[...c[5]||(c[5]=[v("Reconciled",-1)])]),_:1}),n(t(ae),{value:"REJECTED"},{default:r(()=>[...c[6]||(c[6]=[v("Rejected",-1)])]),_:1}),n(t(ae),{value:"pending"},{default:r(()=>[...c[7]||(c[7]=[v("Pending",-1)])]),_:1}),n(t(ae),{value:"review_hold"},{default:r(()=>[...c[8]||(c[8]=[v("Held (Review)",-1)])]),_:1}),n(t(ae),{value:"denied"},{default:r(()=>[...c[9]||(c[9]=[v("Denied",-1)])]),_:1})]),_:1},8,["model-value"])]),_:1})]),_:1})])]),_:1}),n(t(K),null,{default:r(()=>
2[u.conversions.length===0?(a(),l("div",Rn," No conversions found ")):k.value.length===0?(a(),l("div",An," No conversions match your filters ")):(a(),l("div",Dn,[e("table",In,[c[10]||(c[10]=e("thead",null,[e("tr",{class:"border-b"},[e("th",{class:"px-1 py-1 text-left font-medium whitespace-nowrap"}," Time "),e("th",{class:"px-1 py-1 text-left font-medium"}," Content "),e("th",{class:"w-1/3 px-1 py-1 text-left font-medium"}," Event "),e("th",{class:"px-1 py-1 text-right font-medium whitespace-nowrap"}," Rev "),e("th",{class:"px-1 py-1 text-right font-medium whitespace-nowrap"}," Payout "),e("th",{class:"px-1 py-1 text-right font-medium whitespace-nowrap"}," Sale "),e("th",{class:"px-1 py-1 text-left font-medium whitespace-nowrap"}," Status "),e("th",{class:"px-1 py-1 text-right font-medium whitespace-nowrap"}," C2C ")])],-1)),e("tbody",null,[(a(!0),l(B,null,G(w.value,I=>(a(),l("tr",{key:I.id,class:"border-b hover:bg-muted/50"},[e("td",Tn,[e("span",En,s(M(I.createdAt))+" "+s(h(I.createdAt)),1)]),e("td",Vn,[I.gameOfferVariant?(a(),l("button",{key:0,class:"text-left text-blue-600 hover:underline dark:text-blue-400",title:I.gameOfferVariant.anchor||I.contentName||"",onClick:H=>D("openGameVariantModal",I.gameOfferVariant,f(I))},[e("span",Ln,s(I.gameOfferVariant.anchor||I.contentName||"-"),1)],8,Nn)):(a(),l("span",{key:1,class:"block max-w-[120px] truncate",title:I.contentName||""},s(I.contentName||"-"),9,Mn))]),e("td",Un,[v(s(I.eventName||"-")+" ",1),he(I)?(a(),l("span",Pn," IAP — no sale ")):p("",!0)]),e("td",Fn,s(q(I.revenue)),1),e("td",qn,s(q(I.payout)),1),e("td",zn,[I.saleAmount?(a(),l("span",Bn,s(q(I.saleAmount)),1)):(a(),l("span",On,"-"))]),e("td",jn,[e("span",{class:z({"text-green-600":(I.providerStatus==="RECONCILED"||I.providerStatus==="RECONCILIATION")&&!I.reconciliationReversedAt,"text-red-600":I.providerStatus==="REJECTED"})},s(I.providerStatus||"-"),3),I.providerStatus==="RECONCILED"||I.providerStatus==="RECONCILIATION"?(a(),l(B,{key:0},[I.reconciliationReversedAt?(a(),l("span",Gn," REVERSED ")):(a(),l("button",{key:1,class:"ml-1 text-[10px] text-muted-foreground underline hover:text-foreground",onClick:Ae(H=>D("reverseReconciliation",I.id),["stop"])}," Reverse ",8,Hn))],64)):p("",!0),I.reviewStatus==="pending_review"||I.reviewStatus==="denied"?(a(),l("div",Jn,[I.reviewStatus==="pending_review"?(a(),l("span",{key:0,class:"rounded bg-amber-100 px-1 text-[10px] font-medium text-amber-700",title:I.reviewReason??""}," HELD ",8,Qn)):(a(),l("span",{key:1,class:"rounded bg-red-100 px-1 text-[10px] font-medium text-red-700",title:I.reviewReason??""}," DENIED ",8,Yn)),I.reviewReason?(a(),l("span",Kn,s(I.reviewReason),1)):p("",!0)])):p("",!0)]),e("td",Wn,[e("span",Zn,[v(s(x(I.clickToConversionSeconds))+" ",1),I.clickToConversionSeconds!==null&&F(I)?(a(),l("span",{key:0,class:z(["inline-block h-2 w-2 shrink-0 rounded-full",xe(I)]),title:P(I)},null,10,Xn)):p("",!0)])])]))),128))])]),R.value>1?(a(),l("div",el,[e("span",tl," Page "+s(i.value)+" of "+s(R.value),1),e("div",sl,[n(t(j),{variant:"outline",size:"sm",class:"h-7 w-7 p-0",disabled:i.value===1,onClick:c[1]||(c[1]=I=>i.value--)},{default:r(()=>[n(t(Dt),{class:"h-4 w-4"})]),_:1},8,["disabled"]),n(t(j),{variant:"outline",size:"sm",class:"h-7 w-7 p-0",disabled:i.value===R.value,onClick:c[2]||(c[2]=I=>i.value++)},{default:r(()=>[n(t(It),{class:"h-4 w-4"})]),_:1},8,["disabled"])])])):p("",!0)]))]),_:1})]),_:1}))}}),ol={class:"space-y-2"},nl={class:"space-y-2"},ll={key:0,class:"text-sm text-destructive"},rl={class:"flex justify-end gap-2"},dl=J({__name:"CreditUserModal",props:{open:{type:Boolean},isProcessing:{type:Boolean},error:{}},emits:["update:open","credit"],setup(u,{emit:E}){const o=u,D=E,f=S(""),$=S("");ps(()=>o.open,i=>{i&&(f.value="",$.value="")});const y=()=>{const i=parseFloat(f.value);!i||i<=0||i>500||$.value.trim()&&D("credit",{amount:i,description:$.value.trim()})};return(i,k)=>(a(),U(t(oe),{open:o.open,"onUpdate:open":k[3]||(k[3]=R=>D("update:open",R))},{default:r(()=>[n(t(le),{class:"sm:max-w-md"},{default:r(()=>[n(t(re),null,{default:r(()=>[n(t(ne),null,{default:r(()=>[...k[4]||(k[4]=[v("Credit User Account",-1)])]),_:1}),n(t(me),null,{default:r(()=>[...k[5]||(k[5]=[v(" Manually add credits to this user's account (max $500) ",-1)])]),_:1})]),_:1}),e("form",{onSubmit:Ae(y,["prevent"]),class:"space-y-4"}
2,[e("div",ol,[n(t(Re),{for:"credit-amount"},{default:r(()=>[...k[6]||(k[6]=[v("Amount (USD)",-1)])]),_:1}),n(t(be),{id:"credit-amount",modelValue:f.value,"onUpdate:modelValue":k[0]||(k[0]=R=>f.value=R),type:"number",step:"0.01",min:"0.01",max:"500",placeholder:"0.00",disabled:o.isProcessing,required:""},null,8,["modelValue","disabled"])]),e("div",nl,[n(t(Re),{for:"credit-description"},{default:r(()=>[...k[7]||(k[7]=[v("Description",-1)])]),_:1}),n(t(be),{id:"credit-description",modelValue:$.value,"onUpdate:modelValue":k[1]||(k[1]=R=>$.value=R),type:"text",placeholder:"Reason for credit...",disabled:o.isProcessing,required:""},null,8,["modelValue","disabled"])]),o.error?(a(),l("div",ll,s(o.error),1)):p("",!0),e("div",rl,[n(t(j),{type:"button",variant:"outline",disabled:o.isProcessing,onClick:k[2]||(k[2]=R=>D("update:open",!1))},{default:r(()=>[...k[8]||(k[8]=[v(" Cancel ",-1)])]),_:1},8,["disabled"]),n(t(j),{type:"submit",disabled:o.isProcessing},{default:r(()=>[v(s(o.isProcessing?"Processing...":"Credit Account"),1)]),_:1},8,["disabled"])])],32)]),_:1})]),_:1},8,["open"]))}}),il={class:"flex items-center justify-between"},ul={key:0},cl={key:0,class:"text-xs text-muted-foreground"},ml={key:1,class:"space-y-3"},fl={class:"mb-2 flex items-center justify-between"},vl={class:"text-xs text-muted-foreground"},pl={class:"text-xs text-muted-foreground"},xl={class:"grid grid-cols-3 gap-2 text-xs"},gl={class:"text-amber-500"},yl={class:"text-amber-500"},kl={class:"text-amber-500"},bl={key:0,class:"mt-2 rounded bg-muted/50 p-2 text-xs"},hl={class:"mt-2 flex items-center gap-3 text-xs text-muted-foreground"},_l={class:"inline-flex items-center gap-1"},wl={class:"inline-flex items-center gap-1"},$l={class:"inline-flex items-center gap-1"},Cl=J({__name:"FeedbackSurveysCard",props:{feedbackSurveys:{}},setup(u){const E=u,o=O(()=>E.feedbackSurveys.length===0?null:(E.feedbackSurveys.reduce((i,k)=>i+(k.satisfactionRating+k.recommendationRating+k.easeOfUseRating)/3,0)/E.feedbackSurveys.length).toFixed(1)),D=y=>new Date(y).toLocaleDateString([],{month:"short",day:"numeric",year:"numeric"}),f=y=>new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}).format(y),$=y=>"★".repeat(y)+"☆".repeat(5-y);return(y,i)=>(a(),U(t(W),{id:"feedback-surveys",class:"scroll-mt-12"},{default:r(()=>[n(t(Z),{class:"pb-2"},{default:r(()=>[e("div",il,[e("div",null,[n(t(X),{class:"text-lg"},{default:r(()=>[...i[0]||(i[0]=[v("Feedback Surveys",-1)])]),_:1}),n(t(te),{class:"text-xs"},{default:r(()=>[v(s(u.feedbackSurveys.length)+" response"+s(u.feedbackSurveys.length!==1?"s":"")+" ",1),o.value?(a(),l("span",ul," · Avg rating: "+s(o.value)+"/5 ",1)):p("",!0)]),_:1})])])]),_:1}),n(t(K),null,{default:r(()=>[u.feedbackSurveys.length===0?(a(),l("div",cl," No feedback survey responses found ")):(a(),l("div",ml,[(a(!0),l(B,null,G(u.feedbackSurveys,k=>(a(),l("div",{key:k.id,class:"rounded-md border p-3"},[e("div",fl,[e("span",vl,s(D(k.createdAt)),1),e("span",pl," Reward: "+s(f(k.rewardAmount)),1)]),e("div",xl,[e
2("div",null,[i[1]||(i[1]=e("span",{class:"text-muted-foreground"},"Satisfaction",-1)),e("div",gl,s($(k.satisfactionRating)),1)]),e("div",null,[i[2]||(i[2]=e("span",{class:"text-muted-foreground"},"Recommendation",-1)),e("div",yl,s($(k.recommendationRating)),1)]),e("div",null,[i[3]||(i[3]=e("span",{class:"text-muted-foreground"},"Ease of Use",-1)),e("div",kl,s($(k.easeOfUseRating)),1)])]),k.comment?(a(),l("div",bl,' "'+s(k.comment)+'" ',1)):p("",!0),e("div",hl,[e("span",_l,[(a(),U(bt(k.clickedTrustpilot?t(Be):t(dt)),{class:z(["h-3 w-3",k.clickedTrustpilot?"text-green-600":"text-muted-foreground"])},null,8,["class"])),i[4]||(i[4]=v(" Trustpilot ",-1))]),e("span",wl,[(a(),U(bt(k.trustpilotAfsSent?t(Be):t(dt)),{class:z(["h-3 w-3",k.trustpilotAfsSent?"text-green-600":"text-muted-foreground"])},null,8,["class"])),i[5]||(i[5]=v(" AFS Sent ",-1))]),e("span",$l,[(a(),U(bt(k.googleReviewShown?t(Be):t(dt)),{class:z(["h-3 w-3",k.googleReviewShown?"text-green-600":"text-muted-foreground"])},null,8,["class"])),i[6]||(i[6]=v(" Google Review ",-1))])])]))),128))]))]),_:1})]),_:1}))}}),Sl={class:"mb-4 grid grid-cols-2 gap-x-4 gap-y-3 text-sm"},Rl={class:"mt-0.5"},Al={key:1,class:"text-muted-foreground"},Dl={class:"mt-0.5"},Il=["href"],Tl={key:2,class:"ml-1 text-xs text-muted-foreground"},El={key:3,class:"text-muted-foreground"},Vl={class:"mt-0.5"},Nl=["href"],Ll={key:2,class:"ml-1 text-xs text-red-600"},Ml={key:3,class:"ml-1 text-xs text-muted-foreground"},Ul={key:4,class:"text-muted-foreground"},Pl={class:"mt-0.5"},Fl={class:"mt-0.5 font-mono"},ql={class:"mt-0.5 font-mono text-xs"},zl={class:"col-span-2"},Bl={class:"mt-0.5 font-mono text-xs"},Ol={key:0,class:"border-t pt-3"},jl={class:"overflow-x-auto"},Gl={class:"w-full text-xs"},Hl={class:"px-2 py-1.5 whitespace-nowrap"},Jl={class:"px-2 py-1.5 whitespace-nowrap"},Ql={class:"capitalize"},Yl={class:"px-2 py-1.5 text-center whitespace-nowrap"},Kl=["onClick"],Wl={key:1,class:"text-muted-foreground"},Zl={key:1,class:"border-t pt-3 text-xs text-muted-foreground"},Xl={key:0,class:"space-y-4"},er={class:"grid grid-cols-2 gap-4 text-sm"},tr={class:"mt-1 font-mono text-xs"},sr={class:"mt-1 capitalize"},ar={class:"mt-1 capitalize"},or={class:"mt-1"},nr={class:"border-t pt-4"},lr={key:0,class:"grid grid-cols-2 gap-2 text-sm"},rr={class:"font-mono text-xs"},dr={key:1,class:"text-sm text-muted-foreground"},ir={class:"border-t pt-4"},ur={key:0,class:"mt-3"},cr={class:"max-h-96 overflow-x-auto overflow-y-auto rounded bg-muted p-4 text-xs"},mr={key:0,class:"space-y-4"},fr={class:"grid grid-cols-2 gap-4 text-sm"},vr={class:"mt-1 font-mono text-xs"},pr={class:"mt-1"},xr={class:"mt-1"},gr={class:"mt-1"},yr={class:"mt-1"},kr={class:"mt-1"},br={key:0,class:"rounded-lg border bg-muted/30 p-4"},hr={class:"grid grid-cols-2 gap-3 text-sm"},_r={class:"font-mono text-xs"},wr={key:0,class:"mt-3"},$r={class:"mt-1 flex flex-wrap gap-1"},Cr={key:1,class:"mt-3"},Sr={class:"mt-1 flex flex-wrap gap-1"},Rr={class:"border-t pt-4"},Ar={key:0,class:"grid grid-cols-2 gap-2 text-sm"},Dr={class:"font-mono text-xs"},Ir={key:1,class:"text-sm text-muted-foreground"},Tr={key:1,class:"py-8 text-center text-muted-foreground"},Er=J({__name:"FraudCard",props:{verisoulChecks:{},latestVerisoulCheck:{},latestSumsubCheck:{},userUuid:{},medianLatency:{},clickTimezones:{},clickLanguages:{}},setup(u){const E=u,o=S(!1),D=S(null),f=S(!1),$=q=>{D.value=q,o.value=!0,f.value=!1},y=S(!1),i=()=>{y.value=!0},k=q=>new Date(q).toLocaleString(),R=O(()=>{const q=D.value?.riskSignals;return!q||typeof q!="object"?[]:Object.entries(q).filter(([,x])=>x===!0).map(([x])=>x)}),w=O(()=>E.verisoulChecks.length===0?null:E.verisoulChecks[0].rawResponse?.account||null),b=O(()=>E.verisoulChecks.length===0?null:E.verisoulChecks[0].rawResponse?.multiple_accounts??null),N=O(()=>w.value?.risk_signal_average||null),L=O(()=>{const q=N.value;return!q||typeof q!="object"?[]:Object.entries(q).filter(([,x])=>typeof x=="number"&&x>.3).map(([x])=>x)}),h=O(()=>w.value?.email?.risk_signals||[]),M=O(()=>L.value.length+h.value.length);return(q,x)=>(a(),l(B,null,[n(t(W),{class:"scroll-mt-12"},{default:r(()=>[n(t(Z),{class:"pb-3"},{default:r(()=>[n(t(X),{class:"text-lg"},{default:r(()=>[...x[4]||(x[4]=[v("Fraud",-1)])]),_:1}),n(t(te),{class:"text-xs"},{default:r(()=>[...x[5]||(x[5]=[v("Verisoul risk signals and fraud detection information",-1)])]),_:1})]),_:1}),n(t(K),null,{default:r(()=>[e("dl",Sl,[e("div",null,[x[6]||(x[6]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Account Risk Signals ",-1)),e("dd",Rl,[w.value?(a(),l("button",{key:0,onClick:x[0]||(x[0]=A=>i()),class:z(["cursor-pointer underline transition-opacity hover:opacity-80",M.value>0?"font-semibold text-red-600":"text-green-600"])},s(M.value)+" elevated ",3)):(a(),l("span",Al,"N/A"))])]),e("div",null,[x[7]||(x[7]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Verisoul Decision ",-1)),e("dd",Dl,[u.latestVerisoulCheck?(a(),l("a",{key:0,href:`https://dashboard.verisoul.ai/babki/account-investigation/${u.userUuid}`,target:"_blank",rel:"noopener noreferrer",class:z(["cursor-pointer underline transition-opacity hover:opacity-80",u.latestVerisoulCheck.decision==="allow"||u.latestVerisoulCheck.decision==="Real"?"text-green-600":"font-semibold text-red-600"])},s(u.latestVerisoulCheck.decision),11,Il)):p("",!0),u.latestVerisoulCheck?.riskScore!==null&&u.latestVerisoulCheck?.riskScore!==void 0?(a(),l("span",{key:1,class:z(["ml-1 font-mono text-sm",u.latestVerisoulCheck.riskScore>=.5?"font-semibold text-red-600":u.latestVerisoulCheck.riskScore>=.3?"text-yellow-600":"text-green-600"])},s((u.latestVerisoulCheck.riskScore*100).toFixed(1))+"% ",3)):p("",!0),u.latestVerisoulCheck?(a(),l("span",Tl," ("+s(new Date(u.latestVerisoulCheck.createdAt).toLocaleDateString([],{month:"short",day:"numeric",year:"numeric"}))+") ",1)):(a(),l("span",El,"N/A"))])]),e("div",null,[x[8]||(x[8]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Sumsub Verification ",-1)),e("dd",Vl,[u.latestSumsubCheck?.applicantId?(a(),l("a",{key:0,href:`https://cockpit.sumsub.com/checkus/applicant/${u.latestSumsubCheck.applicantId}/basicInfo?clientId=babki.app`,target:"_blank",rel:"noopener noreferrer",class:z(["cursor-pointer underline transition-opacity hover:opacity-80",u.latestSumsubCheck.reviewAnswer==="GREEN"?"text-green-600":u.latestSumsubCheck.reviewAnswer==="RED"?"font-semibold text-red-600":"text-yellow-600"])},s(u.latestSumsubCheck.reviewAnswer||u.latestSumsubCheck.status),11,Nl)):u.latestSumsubCheck?(a(),l("span",{key:1,class:z([u.latestSumsubCheck.reviewAnswer==="GREEN"?"text-green-600":u.latestSumsubCheck.reviewAnswer==="RED"?"font-semibold text-red-600":"text-yellow-600"])},s(u.latestSumsubCheck.reviewAnswer||u.latestSumsubCheck.status),3)):p("",!0),u.latestSumsubCheck?.reviewRejectType?(a(),l("span",Ll," ("+s(u.latestSumsubCheck.reviewRejectType)+") ",1)):p("",!0),u.latestSumsubCheck?(a(),l("span",Ml," ("+s(new Date(u.latestSumsubCheck.createdAt).toLocaleDateString([],{month:"short",day:"numeric",year:"numeric"}))+") ",1)):(a(),l("span",Ul,"N/A"))])]),e("div",null,[x[9]||(x[9]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Last Verisoul Check ",-1)),e("dd",Pl,s(u.verisoulChecks.length>0?k(u.verisoulChecks[0].createdAt):"-"),1)]),e("div",null,[x[10]||(x[10]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Median Click Latency ",-1)),e("dd",Fl,s(u.medianLatency?`${u.medianLatency}ms`:"-"),1)]),e("div",null,[x[11]||(x[11]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Click Timezones (30d) ",-1)),e("dd",ql,s(u.clickTimezones.join(", ")||"-"),1)]),e("div",zl,[x[12]||(x[
212]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Click Languages (30d) ",-1)),e("dd",Bl,s(u.clickLanguages.join(", ")||"-"),1)])]),u.verisoulChecks.length>0?(a(),l("div",Ol,[x[14]||(x[14]=e("h3",{class:"mb-2 text-xs font-medium"},"Recent Verisoul Checks",-1)),e("div",jl,[e("table",Gl,[x[13]||(x[13]=e("thead",null,[e("tr",{class:"border-b"},[e("th",{class:"px-2 py-1.5 text-left font-medium"}," Date "),e("th",{class:"px-2 py-1.5 text-left font-medium"}," Check Type "),e("th",{class:"px-2 py-1.5 text-center font-medium"}," Risk Signals ")])],-1)),e("tbody",null,[(a(!0),l(B,null,G(u.verisoulChecks,A=>(a(),l("tr",{key:A.id,class:"border-b hover:bg-muted/50"},[e("td",Hl,s(k(A.createdAt)),1),e("td",Jl,[e("span",Ql,s(A.checkType),1)]),e("td",Yl,[A.riskSignals&&typeof A.riskSignals=="object"?(a(),l("button",{key:0,onClick:C=>$(A),class:z(["cursor-pointer underline transition-opacity hover:opacity-80",Object.values(A.riskSignals).some(C=>C)?"font-semibold text-red-600":"text-green-600"])},s(Object.values(A.riskSignals).filter(C=>C).length)+" active ",11,Kl)):(a(),l("span",Wl,"-"))])]))),128))])])])])):(a(),l("div",Zl," No Verisoul checks found "))]),_:1})]),_:1}),n(t(oe),{open:o.value,"onUpdate:open":x[2]||(x[2]=A=>o.value=A)},{default:r(()=>[n(t(le),{class:"max-h-[80vh] max-w-3xl overflow-y-auto"},{default:r(()=>[n(t(re),null,{default:r(()=>[n(t(ne),null,{default:r(()=>[...x[15]||(x[15]=[v("Verisoul Check Details",-1)])]),_:1}),n(t(me),null,{default:r(()=>[...x[16]||(x[16]=[v(" Risk signals and session information from Verisoul ",-1)])]),_:1})]),_:1}),D.value?(a(),l("div",Xl,[e("div",er,[e("div",null,[x[17]||(x[17]=e("span",{class:"font-medium text-muted-foreground"},"Session ID:",-1)),e("p",tr,s(D.value.sessionId),1)]),e("div",null,[x[18]||(x[18]=e("span",{class:"font-medium text-muted-foreground"},"Check Type:",-1)),e("p",sr,s(D.value.checkType),1)]),e("div",null,[x[19]||(x[19]=e("span",{class:"font-medium text-muted-foreground"},"Decision:",-1)),e("p",ar,s(D.value.decision),1)]),e("div",null,[x[20]||(x[20]=e("span",{class:"font-medium text-muted-foreground"},"Active Signals:",-1)),e("p",or,s(R.value.length)+" detected ",1)])]),e("div",nr,[x[21]||(x[21]=e("h3",{class:"mb-3 font-semibold"},"Risk Signals",-1)),D.value.riskSignals&&typeof D.value.riskSignals=="object"?(a(),l("div",lr,[(a(!0),l(B,null,G(D.value.riskSignals,(A,C)=>(a(),l("div",{key:C,class:z(["flex items-center justify-between rounded border px-3 py-2",A?"border-red-200 bg-red-50 dark:border-red-900 dark:bg-red-950":"border-green-200 bg-green-50 dark:border-green-900 dark:bg-green-950"])},[e("span",rr,s(C),1),e("span",{class:z(A?"font-semibold text-red-600":"text-green-600")},s(A?"TRUE":"false"),3)],2))),128))])):(a(),l("p",dr," No risk signals available "))]),e("div",ir,[n(t(j),{onClick:x[1]||(x[1]=A=>f.value=!f.value),variant:"outline",class:"flex w-full items-center justify-center gap-2"},{default:r(()=>[e("span",null,s(f.value?"Hide":"Show")+" Full JSON Response",1),f.value?p("",!0):(a(),U(t(mt),{key:0,class:"h-4 w-4"})),f.value?(a(),U(t(va),{key:1,class:"h-4 w-4"})):p("",!0)]),_:1}),f.value?(a(),l("div",ur,[e("pre",cr,s(JSON.stringify(D.value.rawResponse,null,2)),1)])):p("",!0)])])):p("",!0)]),_:1})]),_:1},8,["open"]),n(t(oe),{open:y.value,"onUpdate:open":x[3]||(x[3]=A=>y.value=A)},{default:r(()=>[n(t(le),{class:"max-h-[80vh] max-w-3xl overflow-y-auto"},{default:r(()=>[n(t(re),null,{default:r(()=>[n(t(ne),null,{default:r(()=>[...x[22]||(x[22]=[v("Account Risk Signals",-1)])]),_:1}),n(t(me),null,{default:r(()=>[...x[23]||(x[23]=[v(" Account-level risk signals and email verification from Verisoul ",-1)])]),_:1})]),_:1}),w.value?(a(),l("div",mr,[e("div",fr,[e("div",null,[x[24]||(x[24]=e("span",{class:"font-medium text-muted-foreground"},"Account ID:",-1)),e("p",vr,s(w.value.account?.id||"N/A"),1)]),e("div",null,[x[25]||(x[25]=e("span",{class:"font-medium text-muted-foreground"},"Sessions:",-1)),e("p",pr,s(w.value.num_sessions||0)+" total ",1)]),e("div",null,[x[26]||(x[26]=e("span",{class:"font-medium text-muted-foreground"},"First Seen:",-1)),e("p",xr,s(w.value.first_seen?new Date(w.value.first_seen).toLocaleDateString():"N/A"),1)]),e("div",null,[x[27]||(x[27]=e("span",{class:"font-medium text-muted-foreground"},"Countries:",-1)),e("p",gr,s(w.value.countries?.length?w.value.countries.join(", "):"N/A"),1)]),e("div",null,[x[28]||(x[28]=e("span",{class:"font-medium text-muted-foreground"},"Unique Devices (7d):",-1)),e("p",yr,s(w.value.unique_devices?.["7_day"]||0),1)]),e("div",null,[x[29]||(x[29]=e("span",{class:"font-medium text-muted-foreground"},"Unique Networks (7d):",-1)),e("p",kr,s(w.value.unique_networks?.["7_day"]||0),1)]),e("div",null,[x[30]||(x[30]=e("span",{class:"font-medium text-muted-foreground"},"Multiple Accounts:",-1)),e("p",{class:z(["mt-1",b.value>0?"font-semibold text-red-600":"text-green-600"])},s(b.value??"N/A"),3)])]),w.value.email?(a(),l("div",br,[x[39]||(x[39]=e("h3",{class:"mb-3 font-semibold"},"Email Verification",-1)),e("div",hr,[e("div",null,[x[31]||(x[31]=e("span",{class:"text-muted-foreground"},"Email:",-1)),e("p",_r,s(w.value.email.email),1)]),e("div",null,[x[32]||(x[32]=e("span",{class:"text-muted-foreground"},"Valid:",-1)),e("span",{class:z(w.value.email.valid?"text-green-600":"font-semibold text-red-600")},s(w.value.email.valid?"Yes":"No"),3)]),e("div",null,[x[33]||(x[33]=e("span",{class:"text-muted-foreground"},"Domain Type:",-1)),e("span",{class:z(w.value.email.domain_type==="invalid"?"font-semibold text-red-600":"")},s(w.value.email.domain_type),3)]),e("div",null,[x[34]||(x[34]=e("span",{class:"text-muted-foreground"},"Email Score:",-1)),e("span",{class:z(w.value.email.email_score>=.5?"font-semibold text-red-600":w.value.email.email_score>=.3?"text-yellow-600":"text-green-600")},s((w.value.email.email_score*100).toFixed(0))+"% ",3)]),e("div",null,[x[35]||(x[35]=e("span",{class:"text-muted-foreground"},"Disposable:",-1)),e("span",{class:z(w.value.email.disposable?"font-semibold text-red-600":"text-green-600")},s(w.value.email.disposable?"Yes":"No"),3)]),e("div",null,[x[36]||(x[36]=e("span",{class:"text-muted-foreground"},"Personal:",-1)),e("span",null,s(w.value.email.personal?"Yes":"No"),1)])]),w.value.email.risk_signals&&w.value.email.risk_signals.length>0?(a(),l("div",wr,[x[37]||(x[37]=e("span",{class:"text-sm text-muted-foreground"},"Email Risk Signals:",-1)),e("div",$r,[(a(!0),l(B,null,G(w.value.email.risk_signals,A=>(a(),l("span",{key:A,class:"rounded bg-red-100 px-2 py-0.5 text-xs font-medium text-red-700 dark:bg-red-900 dark:text-red-300"},s(A),1))),128))])])):p("",!0),w.value.email.trust_signals&&w.value.email.trust_signals.length>0?(a(),l("div",Cr,[x[38]||(x[38]=e("span",{class:"text-sm text-muted-foreground"},"Email Trust Signals:",-1)),e("div",Sr,[(a(!0),l(B,null,G(w.value.email.trust_signals,A=>(a(),l("span",{key:A,class:"rounded bg-green-100 px-2 py-0.5 text-xs font-medium text-green-700 dark:bg-green-900 dark:text-green-300"},s(A),1))),128))])])):p("",!0)])):p("",!0),e("div",Rr,[x[40]||(x[40]=e("h3",{class:"mb-3 font-semibold"}," Risk Signal Averages (Account History) ",-1)),N.value?(a(),l("div",Ar,[(a(!0),l(B,null,G(N.value,(A,C)=>(a(),l("div",{key:C,class:z(["flex items-center justify-between rounded border px-3 py-2",A>.3?"border-red-200 bg-red-50 dark:border-red-900 dark:bg-red-950":A>0?"border-yellow-200 bg-yellow-50 dark:border-yellow-900 dark:bg-yellow-950":"border-green-200 bg-green-50 dark:border-green-900 dark:bg-green-950"])},[e("span",Dr,s(C),1),e("span",{class:z(A>.3?"font-semibold text-red-600":A>0?"text-yellow-600":"text-green-600")},s((A*100).toFixed(1))+"% ",3)],2))),128))])):(a(),l("p",Ir," No risk signal averages available "))])])):(a(),l("div",Tr," No account data available "))]),_:1})]),_:1},8,["open"])],64))}}),Vr={key:0,class:"flex-1 space-y-4 overflow-y-auto p-6"},Nr={class:"flex gap-4"},Lr={class:"flex flex-shrink-0 flex-col items-center gap-2"},Mr=["src","alt"],Ur={key:1,class:"flex h-20 w-20 items-center justify-center rounded-xl bg-gray-100 dark:bg-gray-800"},Pr={key:2,class:"flex items-center gap-1 rounded-full bg-gray-100 px-2 py-1 dark:bg-gray-800"},Fr={class:"text-xs font-medium text-gray-700 dark:text-gray-300"},qr={class:"flex-1 space-y-2"},zr={class:"flex flex-wrap gap-2 text-xs text-gray-500 dark:text-gray-400"},Br={key:0},Or={class:"rounded-lg bg-blue-50 p-4 dark:bg-blue-900/20"},jr={class:"flex items-center justify-between"}
2,Gr={class:"text-2xl font-bold text-blue-600 dark:text-blue-400"},Hr={class:"text-right"},Jr={class:"text-2xl font-bold text-gray-900 dark:text-gray-100"},Qr={key:0,class:"space-y-2"},Yr={class:"space-y-2"},Kr={class:"flex items-start justify-between"},Wr={class:"flex-1 space-y-1"},Zr={class:"flex items-center gap-2"},Xr={class:"text-sm font-medium text-gray-900 dark:text-gray-100"},ed={key:0,class:"rounded-full bg-green-100 px-1.5 py-0.5 text-[10px] font-medium text-green-700 dark:bg-green-900/30 dark:text-green-400"},td={key:1,class:"rounded-full bg-purple-100 px-1.5 py-0.5 text-[10px] font-medium text-purple-700 dark:bg-purple-900/30 dark:text-purple-400"},sd={key:2,class:"flex items-center gap-0.5 rounded-full bg-emerald-100 px-1.5 py-0.5 text-[10px] font-medium text-emerald-700 dark:bg-emerald-900/30 dark:text-emerald-400"},ad={key:3,class:"flex items-center gap-0.5 rounded-full bg-yellow-100 px-1.5 py-0.5 text-[10px] font-medium text-yellow-700 dark:bg-yellow-900/30 dark:text-yellow-400"},od={key:4,class:"flex items-center gap-0.5 rounded-full bg-red-100 px-1.5 py-0.5 text-[10px] font-medium text-red-700 dark:bg-red-900/30 dark:text-red-400"},nd={key:5,class:"flex items-center gap-0.5 rounded-full bg-blue-100 px-1.5 py-0.5 text-[10px] font-medium text-blue-700 dark:bg-blue-900/30 dark:text-blue-400"},ld=["title"],rd={key:7,class:"rounded-full bg-red-100 px-1.5 py-0.5 text-[10px] font-medium text-red-700 dark:bg-red-900/30 dark:text-red-400",title:"IAP purchase event on an offer that forwards sale_amount for other users — but no sale_amount was recorded for any of this user's conversions on this offer."},dd={class:"flex flex-wrap gap-2 text-xs text-gray-500 dark:text-gray-400"},id={key:0},ud={key:1},cd={class:"font-mono text-[10px] break-all select-all"},md={key:0,class:"mt-1 space-y-0.5 rounded bg-gray-100 px-2 py-1 font-mono text-[10px] text-gray-500 dark:bg-gray-700 dark:text-gray-400"},fd={key:0},vd={key:1},pd={key:2},xd={key:3,class:"mt-0.5 border-t border-gray-200 pt-0.5 dark:border-gray-600"},gd={class:"flex items-center gap-2"},yd={class:"text-right"},kd={class:"text-sm font-semibold text-blue-600 dark:text-blue-400"},bd={class:"text-xs text-gray-500 dark:text-gray-400"},hd=["onClick"],_d={key:0,class:"mt-2 flex items-start gap-1.5 rounded-md border border-orange-300 bg-orange-50 px-2 py-1.5 text-[11px] text-orange-700 dark:border-orange-700 dark:bg-orange-900/30 dark:text-orange-400"},wd={key:1,class:"mt-2 border-t border-gray-200 pt-2 dark:border-gray-700"},$d={class:"text-gray-500 dark:text-gray-400"},Cd={key:0,class:"ml-1 text-[10px]"},Sd={class:"flex items-center gap-2"},Rd={class:"font-medium text-gray-700 dark:text-gray-300"},Ad={key:0,class:"rounded bg-amber-100 px-1 text-[10px] font-medium text-amber-700 dark:bg-amber-900/30 dark:text-amber-400",title:"Held for review — not credited to the user"},Dd={key:1,class:"rounded bg-red-100 px-1 text-[10px] font-medium text-red-700 dark:bg-red-900/30 dark:text-red-400"},Id=["onClick"],Td={key:2,class:"mt-2 border-t border-gray-200 pt-2 dark:border-gray-700"},Ed={class:"flex items-center justify-between text-xs"},Vd={class:"text-gray-500 dark:text-gray-400"},Nd={class:"flex items-center gap-2"},Ld={class:"font-medium text-gray-700 dark:text-gray-300"},Md={key:1,class:"space-y-2"},Ud={class:"text-gray-600 dark:text-gray-400"},Pd={class:"ml-1 text-[10px]"},Fd={class:"flex items-center gap-2"},qd={class:"font-medium text-gray-700 dark:text-gray-300"},zd=["onClick"],Bd={key:2,class:"space-y-2"},Od={class:"text-sm text-gray-600 dark:text-gray-400"},jd={key:3,class:"space-y-2"},Gd={class:"list-inside list-disc space-y-1 text-sm text-gray-600 dark:text-gray-400"},Hd={key:4,class:"space-y-2"},Jd={class:"flex flex-wrap gap-1"},Qd={key:5,class:"space-y-3 border-t pt-4"},Yd={class:"space-y-2 text-sm"},Kd={class:"flex items-center gap-2"},Wd={class:"text-gray-900 dark:text-gray-100"},Zd={class:"flex items-center gap-2"},Xd={class:"font-mono text-xs text-gray-900 dark:text-gray-100"},ei={key:0,class:"flex items-center gap-2"},ti={class:"text-gray-900 dark:text-gray-100"},si={key:1,class:"flex items-center gap-2"},ai={class:"text-gray-900 dark:text-gray-100"},oi={key:2,class:"flex items-center gap-2"},ni={class:"text-gray-900 dark:text-gray-100"},li={key:3,class:"flex items-center gap-2"},ri={class:"font-mono text-gray-900 dark:text-gray-100"},di={key:4,class:"flex items-center gap-2"},ii={class:"text-gray-900 dark:text-gray-100"},ui={key:5,class:"flex items-center gap-2"},ci={class:"text-gray-900 dark:text-gray-100"},mi={key:6,class:"flex items-center gap-2"},fi={class:"text-gray-900 dark:text-gray-100"},vi={key:7,class:"flex items-center gap-2"},pi={class:"text-gray-900 capitalize dark:text-gray-100"},xi={key:8,class:"flex items-center gap-2"},gi={class:"text-gray-900 capitalize dark:text-gray-100"},yi=J({__name:"GameVariantModal",props:{open:{type:Boolean},variant:{},eventConversions:{},manualCredits:{},clickId:{},click:{},userId:{},eventBenchmarks:{},contentId:{}},emits:["update:open","creditEvent","approveHeld"],setup(u,{emit:E}){const o=u,D=E,{can:f}=Xt(),$=(P,m)=>{D("approveHeld",{conversionId:P.id,eventName:P.eventName??m?.name??"this event",payout:P.payout})},y=P=>
2{if(!o.clickId||!o.userId||!o.variant)return;const c=(typeof P.points=="string"?parseFloat(P.points):P.points)/100;D("creditEvent",{clickId:o.clickId,eventId:P.uuid,eventName:P.name,offerName:o.variant.anchor,amount:c})},i=P=>`$${(P/100).toFixed(2)}`,k=P=>{const m=P.points;return typeof m=="string"?parseFloat(m):m},R=P=>{const m=P.payout;return typeof m=="string"?parseFloat(m):m},w=O(()=>xa({appId:o.variant?.appId,categories:o.variant?.metadata?.categories})),b=P=>{if(P<60)return`${P}m`;const m=Math.floor(P/60),c=P%60;return c>0?`${m}h ${c}m`:`${m}h`},N=[3,9,10,13,16],L=P=>{const c=h(P).filter(H=>H.taskType!==null&&N.includes(H.taskType)&&H.expectsSaleAmount&&H.contentId!==null);if(c.length===0)return!1;const I=o.eventConversions??[];return c.some(H=>!I.some(Q=>Q.contentId===H.contentId&&Q.saleAmount>.8))},h=P=>o.eventConversions?.length?o.eventConversions.filter(m=>m.eventId&&P.uuid?m.eventId===P.uuid:m.eventName?.toLowerCase()===P.name?.toLowerCase()):[],M=P=>o.manualCredits?.length?o.manualCredits.find(m=>m.eventId===P.uuid)??null:null,q=P=>P.reviewStatus==="pending_review",x=P=>h(P).filter(q),A=O(()=>{const P=o.variant?.events??[],m=new Set(P.flatMap(c=>h(c).map(I=>I.id)));return(o.eventConversions??[]).filter(c=>q(c)&&!m.has(c.id))}),C=P=>{const m=h(P),c=M(P);return c?{status:"manual",conversions:m,manualCredit:c}:m.length===0?{status:"none",conversions:[],manualCredit:null}:m.some(q)?{status:"held",conversions:m,manualCredit:null}:m.some(Q=>Q.providerStatus==="RECONCILED"||Q.providerStatus==="RECONCILIATION"||Q.providerStatus==="COMPLETED")?{status:"credited",conversions:m,manualCredit:null}:m.some(Q=>Q.providerStatus==="REJECTED")?{status:"rejected",conversions:m,manualCredit:null}:{status:"pending",conversions:m,manualCredit:null}},F=P=>new Date(P).toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}),V=P=>{if(P==null)return"-";const m=Math.floor(P/3600),c=Math.floor(P%3600/60);return m>0?`${m}h ${c}m`:`${c}m`},T=P=>{if(!o.contentId||!o.eventBenchmarks)return null;const m=`${o.contentId}:${P.uuid}`;return o.eventBenchmarks[m]??null},ie=Is,he=P=>{switch(P){case"below-p5":return"text-red-600 dark:text-red-400";case"below-p10":return"text-orange-600 dark:text-orange-400";case"unknown":return"text-gray-500";default:return"text-green-600 dark:text-green-400"}},ue=P=>o.eventConversions?.length?o.eventConversions.find(c=>c.eventId&&P.uuid?c.eventId===P.uuid:c.eventName?.toLowerCase()===P.name?.toLowerCase())?.clickToConversionSeconds??null:null,xe=P=>{if(!o.click?.createdAt)return null;const m=new Date(o.click.createdAt).getTime();let c=null,I="ttc";if(P.ttc_minutes&&P.ttc_minutes>0?(c=P.ttc_minutes*60*1e3,I="ttc"):o.variant?.sessionHours&&o.variant.sessionHours>0&&(c=o.variant.sessionHours*60*60*1e3,I="session"),c===null)return null;const H=new Date(m+c);return{expired:Date.now()>H.getTime(),expiresAt:H,source:I}};return(P,m)=>(a(),U(t(Ss),{open:o.open,"onUpdate:open":m[1]||(m[1]=c=>D("update:open",c))},{default:r(()=>[n(t(hs),null,{default:r(()=>[n(t(_s),{class:"fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0"}),n(t(ws),{class:"fixed top-1/2 left-1/2 z-50 flex max-h-[85vh] w-[90vw] max-w-2xl -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-2xl bg-white shadow-lg data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] dark:bg-gray-900"},{default:r(()=>[e("button",{type:"button",class:"absolute top-4 right-4 z-10 rounded-full p-1 text-gray-400 hover:bg-gray-100 hover:text-gray-600 dark:hover:bg-gray-800",onClick:m[0]||(m[0]=c=>D("update:open",!1))},[n(t(dt),{size:20})]),o.variant?(a(),l("div",Vr,[e("div",Nr,[e("div",Lr,[o.variant.iconUrl?(a(),l("img",{key:0,src:o.variant.iconUrl,alt:o.variant.offerN
2ame,class:"h-20 w-20 rounded-xl object-cover"},null,8,Mr)):(a(),l("div",Ur,[...m[2]||(m[2]=[e("span",{class:"text-2xl text-gray-400"},"?",-1)])])),w.value?(a(),l("div",Pr,[n(t(ga),{size:14,class:"text-gray-600 dark:text-gray-400"}),e("span",Fr,s(w.value.label),1)])):p("",!0)]),e("div",qr,[n(t($s),{class:"text-2xl font-bold text-gray-900 dark:text-gray-100"},{default:r(()=>[v(s(o.variant.anchor||o.variant.offerName),1)]),_:1}),o.variant.metadata?.description?(a(),U(t(Cs),{key:0,class:"text-sm text-gray-600 dark:text-gray-400"},{default:r(()=>[v(s(o.variant.metadata.description),1)]),_:1})):p("",!0),e("div",zr,[e("span",null,"Offer ID: "+s(o.variant.offerId),1),o.variant.sessionHours?(a(),l("span",Br," | Session: "+s(o.variant.sessionHours)+"h ",1)):p("",!0)])])]),e("div",Or,[e("div",jr,[e("div",null,[m[3]||(m[3]=e("p",{class:"text-sm text-gray-600 dark:text-gray-400"}," Total Available ",-1)),e("p",Gr,s(i(o.variant.totalPoints)),1)]),e("div",Hr,[m[4]||(m[4]=e("p",{class:"text-sm text-gray-600 dark:text-gray-400"}," Events ",-1)),e("p",Jr,s(o.variant.events?.length||0),1)])])]),o.variant.events?.length?(a(),l("div",Qr,[m[13]||(m[13]=e("h3",{class:"text-lg font-semibold text-gray-900 dark:text-gray-100"}," Events ",-1)),e("div",Yr,[(a(!0),l(B,null,G(o.variant.events,c=>(a(),l("div",{key:c.uuid,class:"rounded-lg bg-gray-50 p-3 dark:bg-gray-800"},[e("div",Kr,[e("div",Wr,[e("div",Zr,[e("span",Xr,s(c.name),1),c.payable?(a(),l("span",ed," Payable ")):p("",!0),c.multiple_conversions_allowed?(a(),l("span",td," Multi ")):p("",!0),C(c).status==="credited"?(a(),l("span",sd,[n(t(Gt),{size:10}),m[5]||(m[5]=v(" Credited ",-1))])):C(c).status==="pending"?(a(),l("span",ad,[n(t(ke),{size:10}),m[6]||(m[6]=v(" Pending ",-1))])):C(c).status==="rejected"?(a(),l("span",od,[n(t(rt),{size:10}),m[7]||(m[7]=v(" Rejected ",-1))])):C(c).status==="manual"?(a(),l("span",nd,[n(t(Gt),{size:10}),m[8]||(m[8]=v(" Manual ",-1))])):C(c).status==="held"?(a(),l("span",{key:6,class:"flex items-center gap-0.5 rounded-full bg-amber-100 px-1.5 py-0.5 text-[10px] font-medium text-amber-700 dark:bg-amber-900/30 dark:text-amber-400",title:x(c)[0]?.reviewReason??"Held for review — not credited"},[n(t(ro),{size:10}),m[9]||(m[9]=v(" Held ",-1))],8,ld)):p("",!0),L(c)?(a(),l("span",rd," IAP — no sale ")):p("",!0)]),e("div",dd,[c.ttc_minutes?(a(),l("span",id," TTC: "+s(b(c.ttc_minutes)),1)):p("",!0),c.type_id?(a(),l("span",ud," Type: "+s(c.type_id),1)):p("",!0),e("span",cd,s(c.uuid),1)]),T(c)?(a(),l("div",md,[T(c).nonSpender.count>0?(a(),l("div",fd," Non-spender: avg "+s(V(T(c).nonSpender.avgSeconds))+", med "+s(V(T(c).nonSpender.medianSeconds))+", σ "+s(V(T(c).nonSpender.stddevSeconds))+", p5/p10 "+s(V(T(c).nonSpender.p5Seconds))+"/"+s(V(T(c).nonSpender.p10Seconds))+" (n="+s(T(c).nonSpender.count)+") ",1)):p("",!0),T(c).spender.count>0?(a(),l("div",vd," Spender: avg "+s(V(T(c).spender.avgSeconds))+", med "+s(V(T(c).spender.medianSeconds))+", σ "+s(V(T(c).spender.stddevSeconds))+", p5/p10 "+s(V(T(c).spender.p5Seconds))+"/"+s(V(T(c).spender.p10Seconds))+" (n="+s(T(c).spender.count)+") ",1)):p("",!0),T(c).banned.count>0?(a(),l("div",pd," Banned: avg "+s(V(T(c).banned.avgSeconds))+", med "+s(V(T(c).banned.medianSeconds))+", σ "+s(V(T(c).banned.stddevSeconds))+", p5/p10 "+s(V(T(c).banned.p5Seconds))+"/"+s(V(T(c).banned.p10Seconds))+" (n="+s(T(c).banned.count)+") ",1)):p("",!0),ue(c)!==null?(a(),l("div",xd,[v(" User: "+s(V(ue(c)))+" ",1),T(c).nonSpender.count>=5?(a(),l(B,{key:0},[m[10]||(m[10]=v(" — Non-spender: ",-1)),e("span",{class:z(he(t(Ht)(ue(c),T(c).nonSpender)))},s(t(ie)(ue(c),T(c).nonSpender)?.toFixed(1)??"N/A")+"σ ",3)],64)):p("",!0),T(c).spender.count>=5?(a(),l(B,{key:1},[m[11]||(m[11]=v(" | Spender: ",-1)),e("span",{class:z(he(t(Ht)(ue(c),T(c).spender)))},s(t(ie)(ue(c),T(c).spender)?.toFixed(1)??"N/A")+"σ ",3)],64)):p("",!0)])):p("",!0)])):p("",!0)]),e("div",gd,[e("div",yd,[e("p",kd,s(i(k(c))),1),e("p",bd," $"+s(R(c).toFixed(2))+" rev ",1)]),o.clickId&&o.userId&&C(c).status==="none"?(a(),l("button",{key:0,type:"button",class:"rounded bg-blue-600 px-2 py-1 text-xs font-medium text-white hover:bg-blue-700 focus:ring-2 focus:ring-blue-500 focus:ring-offset-1 focus:outline-none",onClick:I=>y(c)}," Credit ",8,hd)):p("",!0)])]),o.clickId&&o.userId&&C(c).status==="none"&&xe(c)?.expired?(a(),l("div",_d,[n(t(ya),{class:"mt-0.5 h-3 w-3 shrink-0"}),e("span",null," Past attribution window — expired "+s(F(xe(c).expiresAt.toISOString()))+" (based on "+s(xe(c).source==="ttc"?"event TT
2C":"offer session")+"). Crediting still allowed. ",1)])):p("",!0),C(c).conversions.length>0?(a(),l("div",wd,[(a(!0),l(B,null,G(C(c).conversions,(I,H)=>(a(),l("div",{key:H,class:"flex items-center justify-between gap-2 py-0.5 text-xs"},[e("span",$d,[v(s(F(I.createdAt))+" ",1),I.reviewReason?(a(),l("span",Cd,s(I.reviewReason),1)):p("",!0)]),e("div",Sd,[e("span",Rd," $"+s(I.payout.toFixed(2)),1),e("span",{class:z({"text-emerald-600 dark:text-emerald-400":I.providerStatus==="RECONCILED"||I.providerStatus==="RECONCILIATION"||I.providerStatus==="COMPLETED","text-yellow-600 dark:text-yellow-400":I.providerStatus==="PENDING"||I.providerStatus==="NONE","text-red-600 dark:text-red-400":I.providerStatus==="REJECTED"})},s(I.providerStatus||"-"),3),q(I)?(a(),l("span",Ad," HELD ")):I.reviewStatus==="denied"?(a(),l("span",Dd," DENIED ")):p("",!0),q(I)&&t(f)("credit-users")?(a(),l("button",{key:2,type:"button",class:"rounded bg-emerald-600 px-2 py-0.5 text-[11px] font-medium text-white hover:bg-emerald-700 focus:ring-2 focus:ring-emerald-500 focus:ring-offset-1 focus:outline-none",onClick:Q=>$(I,c)}," Approve ",8,Id)):p("",!0)])]))),128))])):p("",!0),C(c).manualCredit?(a(),l("div",Td,[e("div",Ed,[e("span",Vd,s(F(C(c).manualCredit.createdAt)),1),e("div",Nd,[e("span",Ld," $"+s(C(c).manualCredit.amount.toFixed(2)),1),m[12]||(m[12]=e("span",{class:"text-blue-600 dark:text-blue-400"}," MANUAL ",-1))])])])):p("",!0)]))),128))])])):p("",!0),A.value.length?(a(),l("div",Md,[m[14]||(m[14]=e("h3",{class:"text-sm font-semibold text-gray-900 dark:text-gray-100"}," Held — event not in this variant ",-1)),(a(!0),l(B,null,G(A.value,c=>(a(),l("div",{key:c.id,class:"flex items-center justify-between gap-2 rounded-lg bg-amber-50 px-3 py-2 text-xs dark:bg-amber-900/20"},[e("span",Ud,[v(s(c.eventName||c.eventId||"Unknown event")+" ",1),e("span",Pd,s(F(c.createdAt))+" "+s(c.reviewReason),1)]),e("div",Fd,[e("span",qd," $"+s(c.payout.toFixed(2)),1),t(f)("credit-users")?(a(),l("button",{key:0,type:"button",class:"rounded bg-emerald-600 px-2 py-0.5 text-[11px] font-medium text-white hover:bg-emerald-700 focus:ring-2 focus:ring-emerald-500 focus:ring-offset-1 focus:outline-none",onClick:I=>$(c)}," Approve ",8,zd)):p("",!0)])]))),128))])):p("",!0),o.variant.metadata?.requirements?(a(),l("div",Bd,[m[15]||(m[15]=e("h3",{class:"text-sm font-semibold text-gray-900 dark:text-gray-100"}," Requirements ",-1)),e("p",Od,s(o.variant.metadata.requirements),1)])):p("",!0),o.variant.metadata?.things_to_know?.length?(a(),l("div",jd,[m[16]||(m[16]=e("h3",{class:"text-sm font-semibold text-gray-900 dark:text-gray-100"}," Things to Know ",-1)),e("ul",Gd,[(a(!0),l(B,null,G(o.variant.metadata.things_to_know,(c,I)=>(a(),l("li",{key:I},s(c),1))),128))])])):p("",!0),o.variant.metadata?.categories?.length?(a(),l("div",Hd,[m[17]||(m[17]=e("h3",{class:"text-sm font-semibold text-gray-900 dark:text-gray-100"}," Categories ",-1)),e("div",Jd,[(a(!0),l(B,null,G(o.variant.metadata.categories,c=>(a(),l("span",{key:c,class:"rounded-full bg-gray-100 px-2 py-0.5 text-xs text-gray-600 dark:bg-gray-800 dark:text-gray-400"},s(c),1))),128))])])):p("",!0),o.click?(a(),l("div",Qd,[m[29]||(m[29]=e("h3",{class:"text-sm font-semibold text-gray-900 dark:text-gray-100"}," Click Details ",-1)),e("div",Yd,[e("div",Kd,[n(t(ht),{size:16,class:"text-gray-400 dark:text-gray-500"}),m[18]||(m[18]=e("span",{class:"text-gray-600 dark:text-gray-400"},"Clicked:",-1)),e("span",Wd,s(F(o.click.createdAt)),1)]),e("div",Zd,[n(t(ht),{size:16,class:"text-gray-400 dark:text-gray-500"}),m[19]||(m[19]=e("span",{class:"text-gray-600 dark:text-gray-400"},"Signature:",-1)),e("span",Xd,s(o.click.clickSignature),1)]),o.click.position!==null&&o.click.position!==void 0?(a(),l("div",ei,[n(t(ht),{size:16,class:"text-gray-400 dark:text-gray-500"}),m[20]||(m[20]=e("span",{class:"text-gray-600 dark:text-gray-400"},"Position:",-1)),e("span",ti,s(o.click.position),1)])):p("",!0),o.click.deviceType||o.click.browser?(a(),l("div",si,[n(t(Oe),{size:16,class:"text-gray-400 dark:text-gray-500"}),m[21]||(m[21]=e("span",{class:"text-gray-600 dark:text-gray-400"},"Device:",-1)),e("span",ai,s(o.click.deviceType||"")+" "+s(o.click.deviceType&&o.click.browser?" / ":"")+" "+s(o.click.browser||"")+" "+s(o.click.platform?` (${o.click.platform})`:""),1)])):p("",!0),o.click.city||o.click.state||o.click.countryCode?(a(),l("div",oi,[n(t(it),{size:16,class:"text-gray-400 dark:text-gray-500"}),m[22]||(m[22]=e("span",{class:"text-gray-600 dark:text-gray-400"},"Location:",-1)),e("span",ni,s(o.click.city)+s(o.click.city&&o.click.state?", ":"")+s(o.click.state)+" "+s(o.click.countryCode?`(${o.click.countryCode})`:""),1)])):p("",!0),o.click.ipAddress?(a(),l("div",li,[n(t(it),{size:16,class:"text-gray-400 dark:text-gray-500"}),m[23]||(m[23]=e("span",{class:"text-gray-600 dark:text-gray-400"},"IP:",-1)),e("span",ri,s(o.click.ipAddress),1)])):p("",!0),o.click.browserTimezone?(a(),l("div",di,[n(t(ke),{size:16,class:"text-gray-400 dark:text-gray-500"}),m[24]||(m[24]=e("span",{class:"text-gray-600 dark:text-gray-400"},"Timezone:",-1)),e("span",ii,s(o.click.browserTimezone),1)])):p("",!0),o.click.browserLanguages?.length?(a(),l("div",ui,[n(t(it),{size:16,class:"text-gray-400 dark:text-gray-500"}),m[25]||(m[25]=e("span",{class:"text-gray-600 dark:text-gray-400"},"Languages:",-1)),e("span",ci,s(o.click.browserLanguages.join(", ")),1)])):p("",!0),o.click.latencyMs?(a(),l("div",mi,[n(t(ke),{size:16,class:"text-gray-400 dark:text-gray-500"}),m[26]||(m[26]=e("span",{class:"text-gray-600 dark:text-gray-400"},"RTT Latency:",-1)),e("span",fi,s(o.click.latencyMs)+"ms",1)])):p("",!0),o.click.source?(a(),l("div",vi,[n(t(Oe),{size:16,class:"text-gray-400 dark:text-gray-500"}
2),m[27]||(m[27]=e("span",{class:"text-gray-600 dark:text-gray-400"},"Source:",-1)),e("span",pi,s(o.click.source),1)])):p("",!0),o.click.section?(a(),l("div",xi,[n(t(Oe),{size:16,class:"text-gray-400 dark:text-gray-500"}),m[28]||(m[28]=e("span",{class:"text-gray-600 dark:text-gray-400"},"Section:",-1)),e("span",gi,s(o.click.section),1)])):p("",!0)])])):p("",!0)])):p("",!0)]),_:1})]),_:1})]),_:1},8,["open"]))}}),Jt=u=>u?u==="Real"?"text-green-600":u==="Fake"?"font-semibold text-red-600":"text-orange-600":"text-muted-foreground",Ts=u=>u>=.5?"font-semibold text-red-600":u>=.3?"text-yellow-600":"text-green-600",ki={key:0},bi={class:"grid grid-cols-2 gap-x-4 gap-y-3 text-sm"},hi={class:"mt-0.5"},_i={class:"mt-0.5"},wi={class:"mt-0.5"},$i={class:"mt-0.5"},Ci={class:"mt-0.5"},Si={class:"mt-0.5"},Ri={class:"mt-0.5"},Ai=["href"],Di={key:1,class:"text-muted-foreground"},Ii={class:"mt-0.5"},Ti={key:1,class:"text-xs text-muted-foreground"},Ei={key:2,class:"mt-4 border-t pt-3"},Vi={class:"overflow-x-auto"},Ni={class:"w-full text-xs"},Li={class:"px-2 py-1.5 whitespace-nowrap"},Mi={class:"px-2 py-1.5 whitespace-nowrap"},Ui={class:"px-2 py-1.5 whitespace-nowrap"},Pi={class:"px-2 py-1.5 font-mono whitespace-nowrap"},Fi={class:"px-2 py-1.5 whitespace-nowrap"},qi={class:"px-2 py-1.5 text-center whitespace-nowrap"},zi=["href"],Bi={key:1,class:"text-muted-foreground"},Oi=J({__name:"IdVerificationCard",props:{checks:{}},setup(u){const E=u,o=O(()=>E.checks.find(w=>w.status==="completed")||null),D=w=>new Date(w).toLocaleString(),f=w=>new Date(w).toLocaleDateString([],{month:"short",day:"numeric",year:"numeric"}),$=O(()=>{if(!o.value)return null;const w=o.value.personFirstName,b=o.value.personLastName;return!w&&!b?null:[w,b].filter(Boolean).join(" ")}),y=O(()=>{if(!o.value)return null;const w=[o.value.personAddressCity,o.value.personAddressState,o.value.personAddressCountry].filter(Boolean);return w.length>0?w.join(", "):null}),i=O(()=>{if(!o.value)return null;const w=[o.value.sessionCity,o.value.sessionState,o.value.sessionCountryCode].filter(Boolean);return w.length>0?w.join(", "):null}),k=w=>w.verisoulSessionId?`https://dashboard.verisoul.ai/babki/id-check/${w.verisoulSessionId}`:null,R=w=>{switch(w){case"completed":return"bg-green-100 text-green-700 dark:bg-green-900 dark:text-green-300";
2case"pending":return"bg-yellow-100 text-yellow-700 dark:bg-yellow-900 dark:text-yellow-300";case"failed":return"bg-red-100 text-red-700 dark:bg-red-900 dark:text-red-300";default:return"bg-gray-100 text-gray-700 dark:bg-gray-800 dark:text-gray-300"}};return(w,b)=>(a(),U(t(W),{class:"scroll-mt-12"},{default:r(()=>[n(t(Z),{class:"pb-3"},{default:r(()=>[n(t(X),{class:"text-lg"},{default:r(()=>[...b[0]||(b[0]=[v("ID Verification",-1)])]),_:1}),n(t(te),{class:"text-xs"},{default:r(()=>[...b[1]||(b[1]=[v(" Verisoul ID check results and document verification ",-1)])]),_:1})]),_:1}),n(t(K),null,{default:r(()=>[o.value?(a(),l("div",ki,[e("dl",bi,[e("div",null,[b[2]||(b[2]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Document Name ",-1)),e("dd",hi,s($.value||"-"),1)]),e("div",null,[b[3]||(b[3]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Date of Birth ",-1)),e("dd",_i,s(o.value.personDateOfBirth||"-"),1)]),e("div",null,[b[4]||(b[4]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Document Address ",-1)),e("dd",wi,s(y.value||"-"),1)]),e("div",null,[b[5]||(b[5]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Session Location ",-1)),e("dd",$i,s(i.value||"-"),1)]),e("div",null,[b[6]||(b[6]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Decision ",-1)),e("dd",Ci,[e("span",{class:z(["font-medium",t(Jt)(o.value.decision)])},s(o.value.decision||"-"),3),o.value.riskScore!==null?(a(),l("span",{key:0,class:z(["ml-1 font-mono text-sm",t(Ts)(o.value.riskScore)])},s((o.value.riskScore*100).toFixed(1))+"% ",3)):p("",!0)])]),e("div",null,[b[7]||(b[7]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Enrolled ",-1)),e("dd",Si,[e("span",{class:z(o.value.isEnrolled?"text-green-600":"text-orange-600")},s(o.value.isEnrolled?"Yes":"No"),3)])]),e("div",null,[b[9]||(b[9]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Verisoul Dashboard ",-1)),e("dd",Ri,[k(o.value)?(a(),l("a",{key:0,href:k(o.value),target:"_blank",rel:"noopener noreferrer",class:"inline-flex items-center gap-1 text-blue-600 underline transition-opacity hover:opacity-80"},[b[8]||(b[8]=v(" View ",-1)),n(t(Ee),{class:"h-3 w-3"})],8,Ai)):(a(),l("span",Di,"-"))])]),e("div",null,[b[10]||(b[10]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Verified At ",-1)),e("dd",Ii,s(D(o.value.createdAt)),1)])])])):(a(),l("div",Ti," No completed ID verification ")),u.checks.length>0?(a(),l("div",Ei,[b[12]||(b[12]=e("h3",{class:"mb-2 text-xs font-medium"},"All Attempts",-1)),e("div",Vi,[e("table",Ni,[b[11]||(b[11]=e("thead",null,[e("tr",{class:"border-b"},[e("th",{class:"px-2 py-1.5 text-left font-medium"}," Date "),e("th",{class:"px-2 py-1.5 text-left font-medium"}," Status "),e("th",{class:"px-2 py-1.5 text-left font-medium"}," Decision "),e("th",{class:"px-2 py-1.5 text-left font-medium"}," Risk Score "),e("th",{class:"px-2 py-1.5 text-left font-medium"}," Name "),e("th",{class:"px-2 py-1.5 text-center font-medium"}," Dashboard ")])],-1)),e("tbody",null,[(a(!0),l(B,null,G(u.checks,N=>(a(),l("tr",{key:N.id,class:"border-b hover:bg-muted/50"},[e("td",Li,s(f(N.createdAt)),1),e("td",Mi,[e("span",{class:z(["rounded px-1.5 py-0.5 text-xs font-medium",R(N.status)])},s(N.status),3)]),e("td",Ui,[e("span",{class:z(t(Jt)(N.decision))},s(N.decision||"-"),3)]),e("td",Pi,s(N.riskScore!==null?N.riskScore.toFixed(4):"-"),1),e("td",Fi,s([N.personFirstName,N.personLastName].filter(Boolean).join(" ")||"-"),1),e("td",qi,[k(N)?(a(),l("a",{key:0,href:k(N),target:"_blank",rel:"noopener noreferrer",class:"inline-flex items-center text-blue-600 transition-opacity hover:opacity-80"},[n(t(Ee),{class:"h-3 w-3"})],8,zi)):(a(),l("span",Bi," - "))])]))),128))])])])])):p("",!0)]),_:1})]),_:1}))}}),ji={class:"flex items-center justify-between"},Gi={class:"mt-2 flex items-center gap-2"},Hi={class:"relative flex-1"},Ji={key:0,class:"text-xs text-muted-foreground"},Qi={key:1,class:"text-xs text-muted-foreground"},Yi={key:2},Ki={class:"w-full text-xs"},Wi={class:"px-1 py-0.5"},Zi={class:"whitespace-nowrap"},Xi={class:"px-1 py-0.5 whitespace-nowrap"},eu={class:"capitalize"},tu={class:"px-1 py-0.5"},su=["title"],au={class:"px-1 py-0.5 text-right font-mono"},ou={class:"px-1 py-0.5 text-right font-mono font-medium"},nu={key:0,class:"mt-2 flex items-center justify-between border-t pt-2"},lu={class:"text-xs text-muted-foreground"},ru={class:"flex items-center gap-1"},Ot=15,du=J({__name:"LedgerCard",props:{ledgerEntries:{}},setup(u){const E=u,o=S(""),D=S("all"),f=S(1),$=O(()=>{let h=E.ledgerEntries;if(D.value==="credit"?h=h.filter(M=>M.entryType==="credit"):D.value==="debit"&&(h=h.filter(M=>M.entryType==="debit")),o.value.trim()){const M=o.value.toLowerCase();h=h.filter(q=>[q.transactionType,q.description,q.transactionId].some(A=>A&&A.toLowerCase().includes(M)))}return h}),y=O(()=>Math.ceil($.value.length/Ot)),i=O(()=>{const h=(f.value-1)*Ot;return $.value.slice(h,h+Ot)}),k=h=>{D.value=h,f.value=1},R=()=>{f.value=1},w=O(()=>{switch(D.value){case"credit":return"Credits";case"debit":return"Debits";default:return"All Types"}}),b=h=>new Date(h).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),N=h=>new Date(h).toLocaleDateString([],{month:"short",day:"numeric"}),L=h=>new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}).format(h);
2return(h,M)=>(a(),U(t(W),{id:"ledger",class:"scroll-mt-12"},{default:r(()=>[n(t(Z),{class:"pb-2"},{default:r(()=>[e("div",ji,[e("div",null,[n(t(X),{class:"text-lg"},{default:r(()=>[...M[3]||(M[3]=[v("Ledger History",-1)])]),_:1}),n(t(te),{class:"text-xs"},{default:r(()=>[v(" All transactions ("+s($.value.length)+" of "+s(u.ledgerEntries.length)+" entries) ",1)]),_:1})])]),e("div",Gi,[e("div",Hi,[n(t(je),{class:"absolute top-1/2 left-2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground"}),n(t(be),{modelValue:o.value,"onUpdate:modelValue":M[0]||(M[0]=q=>o.value=q),placeholder:"Search ledger...",class:"h-8 pl-7 text-xs",onInput:R},null,8,["modelValue"])]),n(t($t),null,{default:r(()=>[n(t(Ct),{"as-child":""},{default:r(()=>[n(t(j),{variant:"outline",size:"sm",class:"h-8 w-[130px] justify-between text-xs"},{default:r(()=>[v(s(w.value)+" ",1),n(t(mt),{class:"ml-1 h-3.5 w-3.5"})]),_:1})]),_:1}),n(t(St),{align:"end"},{default:r(()=>[n(t(Tt),{"model-value":D.value,"onUpdate:modelValue":k},{default:r(()=>[n(t(ae),{value:"all"},{default:r(()=>[...M[4]||(M[4]=[v("All Types",-1)])]),_:1}),n(t(ae),{value:"credit"},{default:r(()=>[...M[5]||(M[5]=[v("Credits",-1)])]),_:1}),n(t(ae),{value:"debit"},{default:r(()=>[...M[6]||(M[6]=[v("Debits",-1)])]),_:1})]),_:1},8,["model-value"])]),_:1})]),_:1})])]),_:1}),n(t(K),null,{default:r(()=>[u.ledgerEntries.length===0?(a(),l("div",Ji," No ledger entries found ")):$.value.length===0?(a(),l("div",Qi," No entries match your filters ")):(a(),l("div",Yi,[e("table",Ki,[M[7]||(M[7]=e("thead",null,[e("tr",{class:"border-b"},[e("th",{class:"px-1 py-1 text-left font-medium"}," Time "),e("th",{class:"px-1 py-1 text-left font-medium"}," Type "),e("th",{class:"px-1 py-1 text-left font-medium"}," Description "),e("th",{class:"px-1 py-1 text-right font-medium"}," Amount "),e("th",{class:"px-1 py-1 text-right font-medium"}," Balance ")])],-1)),e("tbody",null,[(a(!0),l(B,null,G(i.value,q=>(a(),l("tr",{key:q.id,class:"border-b hover:bg-muted/50"},[e("td",Wi,[e("span",Zi,s(N(q.createdAt))+" "+s(b(q.createdAt)),1)]),e("td",Xi,[e("span",eu,s(q.transactionType),1)]),e("td",tu,[e("span",{class:"block max-w-[200px] truncate",title:q.description},s(q.description),9,su)]),e("td",au,[e("span",{class:z(q.entryType==="credit"?"text-green-600":"text-red-600")},s(q.entryType==="credit"?"+":"-")+s(L(q.amount)),3)]),e("td",ou,s(L(q.runningBalance)),1)]))),128))])]),y.value>1?(a(),l("div",nu,[e("span",lu," Page "+s(f.value)+" of "+s(y.value),1),e("div",ru,[n(t(j),{variant:"outline",size:"sm",class:"h-7 w-7 p-0",disabled:f.value===1,onClick:M[1]||(M[1]=q=>f.value--)},{default:r(()=>[n(t(Dt),{class:"h-4 w-4"})]),_:1},8,["disabled"]),n(t(j),{variant:"outline",size:"sm",class:"h-7 w-7 p-0",disabled:f.value===y.value,onClick:M[2]||(M[2]=q=>f.value++)},{default:r(()=>[n(t(It),{class:"h-4 w-4"})]),_:1},8,["disabled"])])])):p("",!0)]))]),_:1})]),_:1}))}}),iu={key:0,class:"flex flex-col items-center gap-2 py-4"},uu={key:0,class:"text-xs text-destructive"},cu={key:1,class:"py-4 text-center"},mu={key:2},fu={class:"w-full text-xs"},vu={class:"px-2 py-1.5 font-mono text-muted-foreground"},pu={class:"px-2 py-1.5"},xu={class:"px-2 py-1.5"},gu={key:0,class:"ml-1 rounded bg-muted px-1 font-mono text-[10px] text-muted-foreground",title:"Country this answer was localized for"},yu={class:"px-2 py-1.5 whitespace-nowrap text-muted-foreground"},ku=J({__name:"ProfilingQuestionsCard",props:{userId:{}},setup(u){const E=u,D=Yt()?.appContext.config.globalProperties.route,f=S([]),$=S(!1),y=S(!1),i=S(""),k=b=>new Date(b).toLocaleString(),R=b=>Array.isArray(b.optionLabels)&&b.optionLabels.length>0?b.optionLabels.join(", "):Array.isArray(b.answerValue)?b.answerValue.join(", "):b.o
2ptionLabel||b.answerValue||"-",w=async()=>{$.value=!0,i.value="";try{const{data:b}=await ee.post(D("admin.users.profilingQuestions"),{user_id:E.userId});f.value=b.answers,y.value=!0}catch{i.value="Failed to load profiling answers"}finally{$.value=!1}};return(b,N)=>(a(),U(t(W),{id:"profiling-questions",class:"scroll-mt-12"},{default:r(()=>[n(t(Z),{class:"pb-3"},{default:r(()=>[n(t(X),{class:"text-lg"},{default:r(()=>[...N[0]||(N[0]=[v("Profiling Questions",-1)])]),_:1}),y.value?(a(),U(t(te),{key:0,class:"text-xs"},{default:r(()=>[v(s(f.value.length)+" question"+s(f.value.length!==1?"s":"")+" answered ",1)]),_:1})):p("",!0)]),_:1}),n(t(K),null,{default:r(()=>[y.value?f.value.length===0?(a(),l("div",cu,[...N[1]||(N[1]=[e("p",{class:"text-xs text-muted-foreground"}," No profiling answers found for this user ",-1)])])):(a(),l("div",mu,[e("table",fu,[N[2]||(N[2]=e("thead",null,[e("tr",{class:"border-b"},[e("th",{class:"w-10 px-2 py-1.5 text-left font-medium"}," ID "),e("th",{class:"w-1/2 px-2 py-1.5 text-left font-medium"}," Question "),e("th",{class:"px-2 py-1.5 text-left font-medium"}," Answer "),e("th",{class:"px-2 py-1.5 text-left font-medium whitespace-nowrap"}," Answered At ")])],-1)),e("tbody",null,[(a(!0),l(B,null,G(f.value,L=>(a(),l("tr",{key:L.id,class:"border-b hover:bg-muted/50"},[e("td",vu,s(L.questionId),1),e("td",pu,s(L.questionText),1),e("td",xu,[v(s(R(L))+" ",1),L.answerCountry?(a(),l("span",gu,s(L.answerCountry),1)):p("",!0)]),e("td",yu,s(k(L.answeredAt)),1)]))),128))])])])):(a(),l("div",iu,[n(t(j),{variant:"outline",size:"sm",disabled:$.value,onClick:w},{default:r(()=>[$.value?(a(),U(t(Zt),{key:0,class:"mr-2 h-4 w-4 animate-spin"})):p("",!0),v(" "+s($.value?"Loading...":"Load Profiling Answers"),1)]),_:1},8,["disabled"]),i.value?(a(),l("p",uu,s(i.value),1)):p("",!0)]))]),_:1})]),_:1}))}}),bu={key:0,class:"text-warning"},hu={key:0,class:"mb-3 text-sm text-destructive"},_u={key:1,class:"text-xs text-muted-foreground"},wu={key:2,class:"overflow-x-auto"},$u={class:"w-full text-xs"},Cu={class:"px-2 py-1.5 font-mono"},Su={class:"px-2 py-1.5"},Ru={class:"px-2 py-1.5"},Au={class:"px-2 py-1.5 text-right"},Du={key:0,class:"text-muted-foreground"},Iu={class:"px-2 py-1.5"},Tu={key:0,class:"mt-1 flex flex-wrap items-center gap-1"},Eu=["onClick"],Vu={key:0,class:"rounded bg-red-100 px-1.5 py-0.5 text-[10px] font-medium text-red-700 dark:bg-red-900 dark:text-red-300",title:"Tremendous matched this user against one of their fraud lists"},Nu={class:"px-2 py-1.5 text-center"},Lu=["onClick"],Mu={key:1,class:"text-muted-foreground"},Uu={class:"px-2 py-1.5 whitespace-nowrap"},Pu={class:"px-2 py-1.5 whitespace-nowrap"},Fu=["title"],qu={class:"px-2 py-1.5"},zu={class:"px-2 py-1.5 text-center"},Bu={key:0,class:"flex justify-center gap-1"},Ou={key:1,class:"text-muted-foreground"},ju={key:0,class:"space-y-4"},Gu={class:"flex items-center gap-3"},Hu={key:0,class:"ml-auto font-mono text-xs text-muted-foreground"},Ju={key:0,class:"space-y-1.5"},Qu={class:"flex items-center gap-2"},Yu={class:"font-mono font-medium"},Ku={class:"text-muted-foreground"},Wu={key:0,class:"text-muted-foreground"},Zu={key:1,class:"text-xs text-muted-foreground"},Xu={key:0,class:"space-y-4"},ec={class:"flex flex-wrap items-center gap-2"},tc={key:0,class:"rounded bg-muted px-2 py-0.5 text-xs font-medium capitalize"},sc={key:1,class:"rounded bg-red-100 px-2 py-0.5 text-xs font-medium text-red-700 dark:bg-red-900 dark:text-red-300"},ac={key:0,class:"space-y-1.5"},oc={key:1,class:"text-xs text-muted-foreground"},nc={class:"grid grid-cols-3 gap-3 text-xs"},lc={class:"mt-0.5 capitalize"},rc={class:"mt-0.5 font-mono"},dc={class:"mt-0.5"},ic={class:"mt-0.5 truncate font-mono"},uc={class:"mt-0.5"},cc={class:"mt-0.5"},mc={key:0,class:"text-muted-foreground"},fc={key:0},vc={class:"grid grid-cols-3 gap-3 text-xs"},pc={class:"mt-0.5"},xc={class:"mt-0.5"},gc=J({__name:"RedemptionsCard",props:{redemptions:{},processingRedemptionId:{},error:{}},emits:["approve","reject"],setup(u,{emit:E}){const{can:o}=Xt(),D=u,f=E,$=S(!1),y=S(null),i=F=>{y.value=F,$.value=!0},k=S(!1),R=S(null),w=F=>{R.value=F,k.value=!0},b=O(()=>D.redemptions.filter(F=>F.fraudReview?.status==="flagged").length),N=O(()=>y.value?.riskFactors?[...y.value.riskFactors].sort((F,V)=>Math.abs(V.weight)-Math.abs(F.weight)):[]),L=F=>
2new Date(F).toLocaleString(),h=(F,V="USD")=>new Intl.NumberFormat("en-US",{style:"currency",currency:V}).format(F),M=F=>{switch(F){case"completed":return"text-green-600";case"pending":case"pending_retry":case"processing":return"text-yellow-600";case"failed":case"cancelled":return"text-red-600";default:return""}},q=F=>F>=.5?"bg-red-100 text-red-700 dark:bg-red-900 dark:text-red-300":F>=.3?"bg-yellow-100 text-yellow-700 dark:bg-yellow-900 dark:text-yellow-300":"bg-green-100 text-green-700 dark:bg-green-900 dark:text-green-300",x=F=>{switch(F){case"flagged":return"bg-amber-100 text-amber-700 dark:bg-amber-900 dark:text-amber-300";case"blocked":return"bg-red-100 text-red-700 dark:bg-red-900 dark:text-red-300";case"released":return"bg-green-100 text-green-700 dark:bg-green-900 dark:text-green-300";default:return"bg-gray-100 text-gray-700 dark:bg-gray-800 dark:text-gray-300"}},A=F=>{switch(F){case"flagged":return"Under Review";case"blocked":return"Blocked";case"released":return"Released";default:return F}},C=F=>F.toLowerCase().includes("on a tremendous fraud list");return(F,V)=>(a(),l(B,null,[n(t(W),{id:"redemptions",class:"scroll-mt-12"},{default:r(()=>[n(t(Z),{class:"pb-3"},{default:r(()=>[n(t(X),{class:"text-lg"},{default:r(()=>[...V[2]||(V[2]=[v("Redemptions",-1)])]),_:1}),n(t(te),{class:"text-xs"},{default:r(()=>[v(s(u.redemptions.length)+" redemption"+s(u.redemptions.length!==1?"s":"")+" ",1),b.value>0?(a(),l("span",bu," · "+s(b.value)+" held by Tremendous for review ",1)):p("",!0)]),_:1})]),_:1}),n(t(K),null,{default:r(()=>[u.error?(a(),l("div",hu,s(u.error),1)):p("",!0),u.redemptions.length===0?(a(),l("div",_u," No redemptions found ")):(a(),l("div",wu,[e("table",$u,[V[3]||(V[3]=e("thead",null,[e("tr",{class:"border-b"},[e("th",{class:"px-2 py-1.5 text-left font-medium"}," Order ID "),e("th",{class:"px-2 py-1.5 text-left font-medium"}," Option "),e("th",{class:"px-2 py-1.5 text-left font-medium"}," Delivery Address "),e("th",{class:"px-2 py-1.5 text-right font-medium"}," Amount "),e("th",{class:"px-2 py-1.5 text-left font-medium"}," Status "),e("th",{class:"px-2 py-1.5 text-center font-medium"}," Score "),e("th",{class:"px-2 py-1.5 text-left font-medium"}," Initiated At "),e("th",{class:"px-2 py-1.5 text-left font-medium"}," Completed At "),e("th",{class:"px-2 py-1.5 text-left font-medium"}," Error "),e("th",{class:"px-2 py-1.5 text-left font-medium"}," Actioned By "),e("th",{class:"px-2 py-1.5 text-center font-medium"}," Actions ")])],-1)),e("tbody",null,[(a(!0),l(B,null,G(u.redemptions,T=>(a(),l("tr",{key:T.id,class:"border-b hover:bg-muted/50"},[e("td",Cu,s(T.tremendousOrderId||"-"),1),e("td",Su,s(T.optionName||"-"),1),e("td",Ru,s(T.deliveryAddress),1),e("td",Au,[v(s(h(T.amountRedeemed,T.currencyCode))+" ",1),T.currencyCode!=="USD"&&T.usdCost?(a(),l("div",Du,s(h(T.usdCost)),1)):p("",!0)]),e("td",Iu,[e("span",{class:z([M(T.status),"font-medium capitalize"])},s(T.status),3),T.fraudReview?(a(),l("div",Tu,[e("button",{onClick:ie=>w(T.fraudReview),class:z(["cursor-pointer rounded px-1.5 py-0.5 text-[10px] font-medium transition-opacity hover:opacity-80",x(T.fraudReview.status)])},s(A(T.fraudReview.status)),11,Eu),T.fraudReview.onFraudList?(a(),l("span",Vu," Fraud List ")):p("",!0)])):p("",!0)]),e("td",Nu,[T.fraudScore?(a(),l("button",{key:0,onClick:ie=>i(T.fraudScore),class:z(["cursor-pointer rounded px-1.5 py-0.5 font-mono text-xs font-medium transition-opacity hover:opacity-80",q(T.fraudScore.fraudProbability)])},s((T.fraudScore.fraudProbability*100).toFixed(1))+"% ",11,Lu)):(a(),l("span",Mu,"-"))]),e("td",Uu,s(L(T.createdAt)),1),e("td",Pu,s(T.completedAt?L(T.completedAt):"-"),1),e("td",{class:"max-w-[200px] truncate px-2 py-1.5 text-red-600",title:T.errorMessage||""},s(T.errorMessage||"-"),9,Fu),e("td",qu,s(T.adminActionBy||"-"),1),e("td",zu,[t(o)("manage-redemptions")&&(T.status==="pending"||T.status==="pending_retry")?(a(),l("div",Bu,[n(t(j),{size:"sm",variant:"outline",class:"h-6 px-2 text-xs",disabled:u.processingRedemptionId===T.id,onClick:ie=>f("approve",T.id)},{default:r(()=>[v(s(u.processingRedemptionId===T.id?"...":"Approve"),1)]),_:2},1032,["disabled","onClick"]),n(t(j),{size:"sm",variant:"destructive",class:"h-6 px-2 text-xs",disabled:u.processingRedemptionId===T.id,onClick:ie=>f("reject",T.id)},{default:r(()=>[v(s(u.processingRedemptionId===T.id?"...":"Reject"),1)]),_:2},1032,["disabled","onClick"])])):(a(),l("span",Ou,"-"))])]))),128))])])]))]),_:1})]),_:1}),n(t(oe),{open:$.value,"onUpdate:open":V[0]||(V[0]=T=>$.value=T)},{default:r(()=>[n(t(le),{class:"max-h-[80vh] max-w-2xl overflow-y-auto"},{default:r(()=>[n(t(re),null,{default:r(()=>[n(t(ne),null,{default:r(()=>[...V[4]||(V[4]=[v("Fraud Score Details",-1)])]),_:1}),n(t(me),null,{default:r(()=>[...V[5]||(V[5]=[v(" Risk factors breakdown for this redemption ",-1)])]),_:1})]),_:1}),y.value?(a(),l("div",ju,[e("div",Gu,[e("span",{class:z(["font-mono text-lg font-semibold",y.value.fraudProbability>=.5?"text-red-600":y.value.fraudProbability>=.3?"text-yellow-600":"text-green-600"])},s((y.value.fraudProbability*100).toFixed(1))+"% ",3),e("span",{class:z(["rounded px-2 py-0.5 text-xs font-medium",y.value.prediction==="FRAUD"?"bg-red-100 text-red-700 dark:bg-red-900 dark:text-red-300":"bg-green-100 text-green-700 dark:bg-green-900 dark:text-green-300"])},s(y.value.prediction),3),y.value.modelVersion?(a(),l("span",Hu," v"+s(y.value.modelVersion),1
2)):p("",!0),e("span",{class:z(["text-xs text-muted-foreground",{"ml-auto":!y.value.modelVersion}])},s(new Date(y.value.scoredAt).toLocaleDateString([],{month:"short",day:"numeric",year:"numeric"})),3)]),N.value.length>0?(a(),l("div",Ju,[(a(!0),l(B,null,G(N.value,T=>(a(),l("div",{key:T.feature,class:z(["flex items-center justify-between rounded border px-3 py-1.5 text-xs",T.weight>0?"border-red-200 bg-red-50 dark:border-red-900 dark:bg-red-950":"border-green-200 bg-green-50 dark:border-green-900 dark:bg-green-950"])},[e("div",Qu,[e("span",Yu,s(T.feature),1),e("span",Ku,"= "+s(T.value),1),T.direction?(a(),l("span",Wu,"("+s(T.direction)+")",1)):p("",!0)]),e("span",{class:z(["font-mono font-semibold",T.weight>0?"text-red-600":"text-green-600"])},s(T.weight>0?"+":"")+s(T.weight.toFixed(3)),3)],2))),128))])):(a(),l("div",Zu," No risk factors available "))])):p("",!0)]),_:1})]),_:1},8,["open"]),n(t(oe),{open:k.value,"onUpdate:open":V[1]||(V[1]=T=>k.value=T)},{default:r(()=>[n(t(le),{class:"max-h-[80vh] max-w-2xl overflow-y-auto"},{default:r(()=>[n(t(re),null,{default:r(()=>[n(t(ne),null,{default:r(()=>[...V[6]||(V[6]=[v("Tremendous Fraud Review",-1)])]),_:1}),n(t(me),null,{default:r(()=>[...V[7]||(V[7]=[v(" Tremendous held this reward when the user tried to claim it ",-1)])]),_:1})]),_:1}),R.value?(a(),l("div",Xu,[e("div",ec,[e("span",{class:z(["rounded px-2 py-0.5 text-xs font-medium",x(R.value.status)])},s(A(R.value.status)),3),R.value.risk?(a(),l("span",tc,s(R.value.risk)+" risk ",1)):p("",!0),R.value.onFraudList?(a(),l("span",sc," On a Tremendous fraud list ")):p("",!0)]),e("div",null,[V[8]||(V[8]=e("h4",{class:"mb-1.5 text-xs font-medium"},"Reasons",-1)),R.value.reasons.length>0?(a(),l("div",ac,[(a(!0),l(B,null,G(R.value.reasons,T=>(a(),l("div",{key:T,class:z(["rounded border px-3 py-1.5 text-xs",C(T)?"border-red-200 bg-red-50 font-medium text-red-700 dark:border-red-900 dark:bg-red-950 dark:text-red-300":"border-border"])},s(T),3))),128))])):(a(),l("div",oc," Not yet retrieved from Tremendous "))]),e("dl",nc,[e("div",null,[V[9]||(V[9]=e("dt",{class:"font-medium text-muted-foreground"}," Claimed With ",-1)),e("dd",lc,s(R.value.raw?.redemption_method||"-"),1)]),e("div",null,[V[10]||(V[10]=e("dt",{class:"font-medium text-muted-foreground"}," Claim IP ",-1)),e("dd",rc,s(R.value.raw?.geo?.ip||"-"),1)]),e("div",null,[V[11]||(V[11]=e("dt",{class:"font-medium text-muted-foreground"}," Claim Location ",-1)),e("dd",dc,s([R.value.raw?.geo?.city,R.value.raw?.geo?.country].filter(Boolean).join(", ")||"-"),1)]),e("div",null,[V[12]||(V[12]=e("dt",{class:"font-medium text-muted-foreground"}," Device ID ",-1)),e("dd",ic,s(R.value.raw?.device_id||"-"),1)]),e("div",null,[V[13]||(V[13]=e("dt",{class:"font-medium text-muted-foreground"}," Flagged At ",-1)),e("dd",uc,s(R.value.flaggedAt?L(R.value.flaggedAt):"-"),1)]),e("div",null,[V[14]||(V[14]=e("dt",{class:"font-medium text-muted-foreground"}," Reviewed ",-1)),e("dd",cc,[v(s(R.value.reviewedAt?L(R.value.reviewedAt):"-")+" ",1),R.value.reviewedBy?(a(),l("span",mc," by "+s(R.value.reviewedBy),1)):p("",!0)])])]),R.value.raw?.related_rewards?(a(),l("div",fc,[V[18]||(V[18]=e("h4",{class:"mb-1.5 text-xs font-medium"},"Related Rewards",-1)),e("dl",vc,[e("div",null,[V[15]||(V[15]=e("dt",{class:"font-medium text-muted-foreground"}," Count ",-1)),e("dd",pc,s(R.value.raw.related_rewards.count??"-"),1)]),e("div",null,[V[16]||(V[16]=e("dt",{class:"font-medium text-muted-foreground"}," Blocked ",-1)),e("dd",{class:z(["mt-0.5",R.value.raw.related_rewards.blocked_count>0?"font-medium text-red-600":""])},s(R.value.raw.related_rewards.blocked_count??"-"),3)]),e("div",null,[V[17]||(V[17]=e("dt",{class:"font-medium text-muted-foreground"}," Aggregated Value ",-1)),e("dd",xc,s(R.value.raw.related_rewards.aggregated_value!=null?h(R.value.raw.related_rewards.aggregated_value,R.value.raw.related_rewards.currency_code||"USD"):"-"),1)])])])):p("",!0)])):p("",!0)]),_:1})]),_:1},8,["open"])],64))}}),yc={key:0,class:"flex-1 space-y-4 overflow-y-auto p-6"},kc={class:"space-y-2"},bc={class:"flex items-center justify-between"},hc={key:0},_c={class:"rounded-lg bg-blue-50 p-4 dark:bg-blue-900/20"},wc={key:0,class:"text-center"},$c={class:"text-2xl font-bold text-gray-900 dark:text-gray-100"},Cc={key:1,class:"grid grid-cols-3 gap-4"},Sc={class:"text-lg font-bold text-gray-900 dark:text-gray-100"}
2,Rc={class:"text-lg font-bold text-blue-600 dark:text-blue-400"},Ac={class:"text-lg font-bold text-green-600 dark:text-green-400"},Dc={key:2,class:"mt-2 border-t border-blue-200 pt-2 dark:border-blue-800"},Ic={class:"text-xs text-gray-600 dark:text-gray-400"},Tc={key:3,class:"mt-3 border-t border-blue-200 pt-3 text-center dark:border-blue-800"},Ec={key:0,class:"space-y-3"},Vc={class:"space-y-2 text-sm"},Nc={class:"flex items-center gap-2"},Lc={class:"text-gray-900 dark:text-gray-100"},Mc={key:0,class:"flex items-center gap-2"},Uc={class:"text-gray-900 dark:text-gray-100"},Pc={key:1,class:"flex items-center gap-2"},Fc={class:"text-gray-900 dark:text-gray-100"},qc={key:2,class:"flex items-center gap-2"},zc={key:3,class:"flex items-center gap-2"},Bc={class:"text-gray-900 dark:text-gray-100"},Oc={key:4,class:"flex items-center gap-2"},jc={class:"text-gray-900 dark:text-gray-100"},Gc={key:1,class:"space-y-3 border-t pt-4"},Hc={class:"space-y-2 text-sm"},Jc={class:"flex items-center gap-2"},Qc={class:"text-gray-900 dark:text-gray-100"},Yc={key:0,class:"flex items-center gap-2"},Kc={class:"text-gray-900 dark:text-gray-100"},Wc={key:1,class:"flex items-center gap-2"},Zc={class:"text-gray-900 dark:text-gray-100"},Xc={key:2,class:"flex items-center gap-2"},em={class:"font-mono text-gray-900 dark:text-gray-100"},tm={key:3,class:"flex items-center gap-2"},sm={class:"text-gray-900 dark:text-gray-100"},am={key:4,class:"flex items-center gap-2"},om={class:"text-gray-900 capitalize dark:text-gray-100"},nm={key:5,class:"flex items-center gap-2"},lm={class:"text-gray-900 capitalize dark:text-gray-100"},rm={class:"space-y-2 border-t pt-4"},dm={class:"space-y-1 font-mono text-xs text-gray-500"},im={key:0},um={key:1},cm=J({__name:"SurveyClickModal",props:{open:{type:Boolean},surveyConversion:{},userId:{}}
2,emits:["update:open","creditClick","creditScreenoutTopUp"],setup(u,{emit:E}){const o=u,D=E,f=()=>{!o.surveyConversion?.click?.id||!o.surveyConversion?.click?.surveyPromisedReward||D("creditClick",{clickId:o.surveyConversion.click.id,amount:o.surveyConversion.click.surveyPromisedReward})},$=()=>{!o.surveyConversion?.click?.id||!N.value||D("creditScreenoutTopUp",{clickId:o.surveyConversion.click.id,amount:N.value})},y=L=>`$${L.toFixed(2)}`,i=L=>new Date(L).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit"}),k=L=>{if(L==null)return"-";if(L<60)return`${L}s`;if(L<3600){const q=Math.floor(L/60),x=L%60;return x>0?`${q}m ${x}s`:`${q}m`}const h=Math.floor(L/3600),M=Math.floor(L%3600/60);return M>0?`${h}h ${M}m`:`${h}h`},R=O(()=>{if(!o.surveyConversion)return null;const L=o.surveyConversion.activityType,h=o.surveyConversion.providerStatus,M=o.surveyConversion.payout;return L==="COMPLETE"?h==="REJECTED"?{status:"rejected",label:"Rejected",color:"red",icon:rt}:M>0||h==="RECONCILED"||h==="RECONCILIATION"?{status:"credited",label:"Credited",color:"emerald",icon:Gt}:{status:"pending",label:"Pending",color:"yellow",icon:ke}:L==="SCREENOUT"?{status:"screenout",label:"Screened Out",color:"orange",icon:rt}:L==="OVERQUOTA"?{status:"overquota",label:"Over Quota",color:"gray",icon:rt}:L?{status:"unknown",label:L||"Unknown",color:"gray",icon:ke}:{status:"pending",label:"No Conversion Yet",color:"gray",icon:ke}}),w=O(()=>{if(!o.surveyConversion?.click?.surveyPromisedReward||!o.surveyConversion.payout||o.surveyConversion.payout===0)return null;const L=o.surveyConversion.click.surveyPromisedReward,M=o.surveyConversion.payout-L;return{amount:M,percentage:(M/L*100).toFixed(1),isPositive:M>=0}}),b=O(()=>!o.surveyConversion?.activityType&&o.surveyConversion?.id===0),N=O(()=>{if(o.surveyConversion?.activityType!=="SCREENOUT")return null;const L=o.surveyConversion?.click?.surveyPromisedReward;if(!L)return null;const h=Number((L-o.surveyConversion.payout).toFixed(2));return h>=.01?h:null});return(L,h)=>(a(),U(t(Ss),{open:o.open,"onUpdate:open":h[1]||(h[1]=M=>D("update:open",M))},{default:r(()=>[n(t(hs),null,{default:r(()=>[n(t(_s),{class:"fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0"}),n(t(ws),{class:"fixed top-1/2 left-1/2 z-50 flex max-h-[85vh] w-[90vw] max-w-xl -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-2xl bg-white shadow-lg data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] dark:bg-gray-900"},{default:r(()=>[e("button",{type:"button",class:"absolute top-4 right-4 z-10 rounded-full p-1 text-gray-400 hover:bg-gray-100 hover:text-gray-600 dark:hover:bg-gray-800",onClick:h[0]||(h[0]=M=>D("update:open",!1))},[n(t(dt),{size:20})]),o.surveyConversion?(a(),l("div",yc,[e("div",kc,[e("div",bc,[n(t($s),{class:"text-xl font-bold text-gray-900 dark:text-gray-100"},{default:r(()=>[...h[2]||(h[2]=[v(" Survey Click Details ",-1)])]),_:1}),R.value?(a(),l("span",{key:0,class:z(["flex items-center gap-1 rounded-full px-3 py-1 text-sm font-medium",R.value.color==="emerald"&&"bg-emerald-100 text-emerald-700 dark:bg-emerald-900/30 dark:text-emerald-400",R.value.color==="yellow"&&"bg-yellow-100 text-yellow-700 dark:bg-yellow-900/30 dark:text-yellow-400",R.value.color==="red"&&"bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-400",R.value.color==="orange"&&"bg-orange-100 text-orange-700 dark:bg-orange-900/30 dark:text-orange-400",R.value.color==="gray"&&"bg-gray-100 text-gray-700 dark:bg-gray-800 dark:text-gray-400"])},[(a(),U(bt(R.value.icon),{size:14})),v(" "+s(R.value.label),1)],2)):p("",!0)]),n(t(Cs),{class:"text-sm text-gray-500 dark:text-gray-400"},{default:r(()=>[v(s(o.surveyConversion.surveyNetworkName||"Survey")+" ",1),o.surveyConversion.externalSurveyId?(a(),l("span",hc," · ID: "+s(o.surveyConversion.externalSurveyId),1)):p("",!0)]),_:1})]),e("div",_c,[b.value?(a(),l("div",wc,[h[3]||(h[3]=e("p",{class:"text-xs text-gray-600 dark:text-gray-400"}," Promised Reward ",-1)),e("p",$c,s(o.surveyConversion.click?.surveyPromisedReward?y(o.surveyConversion.click.surveyPromisedReward):"-"),1),h[4]||(h[4]=e("p",{class:"mt-1 text-xs text-gray-500 dark:text-gray-400"}," Awaiting conversion callback ",-1)),o.userId&&o.surveyConversion.click?.surveyPromisedReward?(a(),l("button",{key:0,t
2ype:"button",class:"mt-3 rounded-lg bg-blue-600 px-4 py-2 text-sm font-medium text-white hover:bg-blue-700 focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 focus:outline-none",onClick:f}," Credit User "+s(y(o.surveyConversion.click.surveyPromisedReward)),1)):p("",!0)])):(a(),l("div",Cc,[e("div",null,[h[5]||(h[5]=e("p",{class:"text-xs text-gray-600 dark:text-gray-400"}," Promised ",-1)),e("p",Sc,s(o.surveyConversion.click?.surveyPromisedReward?y(o.surveyConversion.click.surveyPromisedReward):"-"),1)]),e("div",null,[h[6]||(h[6]=e("p",{class:"text-xs text-gray-600 dark:text-gray-400"}," Actual Payout ",-1)),e("p",Rc,s(y(o.surveyConversion.payout)),1)]),e("div",null,[h[7]||(h[7]=e("p",{class:"text-xs text-gray-600 dark:text-gray-400"}," Revenue ",-1)),e("p",Ac,s(y(o.surveyConversion.revenue)),1)])])),w.value?(a(),l("div",Dc,[e("p",Ic,[h[8]||(h[8]=v(" Payout difference: ",-1)),e("span",{class:z(w.value.isPositive?"text-green-600 dark:text-green-400":"text-red-600 dark:text-red-400")},s(w.value.isPositive?"+":"")+s(y(w.value.amount))+" ("+s(w.value.percentage)+"%) ",3)])])):p("",!0),o.userId&&R.value?.status==="screenout"&&N.value&&!o.surveyConversion.screenoutToppedUp?(a(),l("div",Tc,[e("button",{type:"button",class:"rounded-lg bg-blue-600 px-4 py-2 text-sm font-medium text-white hover:bg-blue-700 focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 focus:outline-none",onClick:$}," Credit Full Survey Value "+s(y(N.value)),1)])):p("",!0)]),b.value?p("",!0):(a(),l("div",Ec,[h[15]||(h[15]=e("h3",{class:"text-sm font-semibold text-gray-900 dark:text-gray-100"}," Conversion Details ",-1)),e("div",Vc,[e("div",Nc,[n(t(ke),{size:16,class:"text-gray-400 dark:text-gray-500"}),h[9]||(h[9]=e("span",{class:"text-gray-600 dark:text-gray-400"},"Converted:",-1)),e("span",Lc,s(i(o.surveyConversion.createdAt)),1)]),o.surveyConversion.clickToConversionSeconds?(a(),l("div",Mc,[n(t(ke),{size:16,class:"text-gray-400 dark:text-gray-500"}),h[10]||(h[10]=e("span",{class:"text-gray-600 dark:text-gray-400"},"Time to complete:",-1)),e("span",Uc,s(k(o.surveyConversion.clickToConversionSeconds)),1)])):p("",!0),o.surveyConversion.surveyLoi?(a(),l("div",Pc,[n(t(ke),{size:16,class:"text-gray-400 dark:text-gray-500"}),h[11]||(h[11]=e("span",{class:"text-gray-600 dark:text-gray-400"},"Length of Interview:",-1)),e("span",Fc,s(o.surveyConversion.surveyLoi)+" min",1)])):p("",!0),o.surveyConversion.providerStatus?(a(),l("div",qc,[n(t(ka),{size:16,class:"text-gray-400 dark:text-gray-500"}),h[12]||(h[12]=e("span",{class:"text-gray-600 dark:text-gray-400"},"Provider Status:",-1)),e("span",{class:z(["font-medium",o.surveyConversion.providerStatus==="RECONCILED"||o.surveyConversion.providerStatus==="RECONCILIATION"?"text-emerald-600 dark:text-emerald-400":o.surveyConversion.providerStatus==="REJECTED"?"text-red-600 dark:text-red-400":"text-gray-900 dark:text-gray-100"])},s(o.surveyConversion.providerStatus),3)])):p("",!0),o.surveyConversion.screenoutReason?(a(),l("div",zc,[n(t(rt),{size:16,class:"text-orange-400 dark:text-orange-500"}),h[13]||(h[13]=e("span",{class:"text-gray-600 dark:text-gray-400"},"Screenout Reason:",-1)),e("span",Bc,s(o.surveyConversion.screenoutReason),1)])):p("",!0),o.surveyConversion.surveyRating!==null&&o.surveyConversion.surveyRating!==void 0?(a(),l("div",Oc,[h[14]||(h[14]=e("span",{class:"text-gray-600 dark:text-gray-400"},"User Rating:",-1)),e("span",jc,s(o.surveyConversion.surveyRating)+"/5 ",1)])):p("",!0)])])),o.surveyConversion.click?(a(),l("div",Gc,[h[23]||(h[23]=e("h3",{class:"text-sm font-semibold text-gray-900 dark:text-gray-100"}," Click Details ",-1)),e("div",Hc,[e("div",Jc,[n(t(ht),{size:16,class:"text-gray-400 dark:text-gray-500"}),h[16]||(h[16]=e("span",{class:"text-gray-600 dark:text-gray-400"},"Clicked:",-1)),e("span",Qc,s(i(o.surveyConversion.click.createdAt)),1)]),o.surveyConversion.click.deviceType||o.surveyConversion.click.browser?(a(),l("div",Yc,[n(t(Oe),{size:16,class:"text-gray-400 dark:text-gray-500"}),h[17]||(h[17]=e("span",{class:"text-gray-600 dark:text-gray-400"},"Device:",-1)),e("span",Kc,s(o.surveyConversion.click.deviceType||"")+" "+s(o.surveyConversion.click.deviceType&&o.surveyConversion.click.browser?" / ":"")+" "+s(o.surveyConversion.click.browser||"")+" "+s(o.surveyConversion.click.platform?` (${o.surveyConversion.click.platform})`:""),1)])):p("",!0),o.surveyConversion.click.city||o.surveyConversion.click.state||o.surveyConversion.click.countryCode?(a(),l("div",Wc,[n(t(it),{size:16,class:"text-gray-400 dark:text-gray-500"}),h[18]||(h[18]=e("span",{class:"text-gray-600 dark:text-gray-400"},"Location:",-1)),e("span",Zc,s(o.surveyConversion.click.city)+s(o.surveyConversion.click.city&&o.surveyConversion.click.state?", ":"")+s(o.surveyConversion.click.state)+" "+s(o.surveyConversion.click.countryCode?`(${o.surveyConversion.click.countryCode})`:""),1)])):p("",!0),o.surveyConversion.click.ipAddress?(a(),l("div",Xc,[n(t(it),{size:16,class:"text-gray-400 dark:text-gray-500"}),h[19]||(h[19]=e("span",{class:"text-gray-600 dark:text-gray-400"},"IP:",-1)),e("span",em,s(o.surveyConversion.click.ipAddress),1)])):p("",!0),o.surveyConversion.click.browserTimezone?(a(),l("div",tm,[n(t(ke),{size:16,class:"text-gray-400 dark:text-gray-500"}),h[20]||(h[20]=e("span",{class:"text-gray-600 dark:text-gray-400"},"Timezone:",-1)),e("span",sm,s(o.surveyConversion.click.browserTimezone),1)])):p("",!0),o.surveyConversion.click.source?(a(),l("div",am,[n(t(Oe),{size:16,class:"text-gray-400 dark:text-gray-500"}),h[21]||(h[21]=e("span",{class:"text-gray-600 dark:text-gray-400"},"Source:",-1)),e("span",om,s(o.surveyConversion.click.source),1)])):p("",!0),o.surveyConversion.click.section?(a(),l("div",nm,[n(t(Oe),{size:16,class:"text-gray-400 dark:text-gray-500"}),h[22]||(h[22]=e("span",{class:"text-gray-600 dark:text-gray-400"},"Section:",-1)),e("span",lm,s(o.surveyConversion.click.section),1)])):p("",!0)])])):p("",!0),e("div",rm,[h[24]||(h[24]=e("h3",{class:"text-xs font-semibold text-gray-500 dark:text-gray-400"}," Technical Details ",-1)),e("div",dm,[o.surveyConversion.externalTransactionId?(a(),l("div",im," Transaction: "+s(o.surveyConversion.externalTransactionId),1)):p("",!0),o.surveyConversion.click?(a(),l("div",um," Click Signature: "+s(o.surveyConversion.click.clickSignature),1)):p("",!0),e("div",null," Conversion ID: "+s(o.surveyConversion.id),1)])])])):p("",!0)]),_:1})]),_:1})]),_:1},8,["open"]))}}),mm={class:"flex items-center justify-between"},fm={class:"mt-2 flex items-center gap-2"},vm={class:"relative flex-1"},pm={key:0,class:"text-xs text-muted-foreground"},xm={key:1,class:"text-xs text-muted-foreground"},gm={key:2},ym={class:"w-full text-xs"},km=["onClick"],bm={class:"px-1 py-0.5"},hm={class:"whitespace-nowrap"},_m={class:"px-1 py-0.5 font-mono"},wm={class:"text-blue-600 hover:underline dark:text-blue-400"},$m={class:"px-1 py-0.5 text-right font-mono"},Cm={class:"px-1 py-0.5 text-right font-mono"},Sm={class:"px-1 py-0.5"},Rm={class:"px-1 py-0.5"},Am=["title"],Dm={class:"px-1 py-0.5 text-right font-mono"},Im={key:0,class:"mt-2 flex items-center justify-between border-t pt-2"},Tm={class:"text-xs text-muted-foreground"},Em={class:"flex items-center gap-1"},jt=15,Vm=J({__name:"SurveyConversionsCard",props:{surveyConversions:{}},emits:["openSurveyClickModal"],setup(u,{emit:E}){const o=u,D=E,f=S(""),$=S("all"),y=S(1),i=O(()=>{let x=o.surveyConversions;if($.value==="COMPLETE"?x=x.filter(A=>A.activityType==="COMPLETE"):$.value==="SCREENOUT"&&(x=x.filter(A=>A.activityType==="SCREENOUT")),f.value.trim()){const A=f.value.toLowerCase();x=x.filter(C=>[C.externalSurveyId,C.surveyNetworkName,C.activityType,C.click?.ipAddress,C.click?.city,C.click?.state].some(V=>V&&V.toLowerCase().includes(A)))}return x}),k=O(()=>Math.ceil(i.value.length/jt)),R=O(()=>{const x=(y.value-1)*jt;return i.value.slice(x,x+jt)}),w=x=>{$.value=x,y.value=1},b=()=>{y.value=1},N=O(()=>{switch($.value){case"COMPLETE":return"Complete";case"SCREENOUT":return"Screenout";default:return"All Activity"}}),L=x=>new Date(x).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),h=x=>new Date(x).toLocaleDateString([],{month:"short",day:"numeric"}),M=x=>new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}).format(x),q=x=>{if(x==null)return"-";const A=Math.floor(x/86400),C=Math.floor(x%86400/3600),F=Math.floor(x%3600/60),V=x%60;return A>0?`${A}d ${C}h`:C>0?`${C}h ${F}m`:F>0?`${F}m ${V}s`:`${V}s`};return(x,A)=>(a(),U(t(W),{id:"surveys",class:"scroll-mt-12"},{default:r(()=>[n(t(Z),{class:"pb-2"},{default:r(()=>[e("div",mm,[e("div",null,[n(t(X),{class:"text-lg"},{default:r(()=>[...A[3]||(A[3]=[v("Survey Conversions",-1)])]),_:1}),n(t(te),{class:"text-xs"},{default:r(()=>[v(" Last 30 days ("+s(i.value.length)+" of "+s(u.surveyConversions.length)+" conversions) ",1)]),_:1})])]),e("div",fm,[e("div",vm,[n(t(je),{class:"absolute top-1/2 left-2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground"}),n(t(be),{modelValue:f.value,"onUpdate:modelValue":A[0]||(A[0]=C=>f.value=C),placeholder:"Search surveys...",class:"h-8 pl-7 text-xs",onInput:b},null,8,["modelValue"])]),n(t($t),null,{default:r(()=>[n(t(Ct),{"as-child":""},{default:r(()=>[n(t(j),{variant:"outline",size:"sm",class:"h-8 w-[130px] justify-between text-xs"},{default:r(()=>[v(s(N.value)+" ",1),n(t(mt),{class:"ml-1 h-3.5 w-3.5"})]),_:1})]),_:1}),n(t(St),{align:"end"},{default:r(()=>[n(t(Tt),{"model-value":$.value,"onUpdate:modelValue":w},{default:r(()=>
2[n(t(ae),{value:"all"},{default:r(()=>[...A[4]||(A[4]=[v("All Activity",-1)])]),_:1}),n(t(ae),{value:"COMPLETE"},{default:r(()=>[...A[5]||(A[5]=[v("Complete",-1)])]),_:1}),n(t(ae),{value:"SCREENOUT"},{default:r(()=>[...A[6]||(A[6]=[v("Screenout",-1)])]),_:1})]),_:1},8,["model-value"])]),_:1})]),_:1})])]),_:1}),n(t(K),null,{default:r(()=>[u.surveyConversions.length===0?(a(),l("div",pm," No survey conversions found ")):i.value.length===0?(a(),l("div",xm," No survey conversions match your filters ")):(a(),l("div",gm,[e("table",ym,[A[7]||(A[7]=e("thead",null,[e("tr",{class:"border-b"},[e("th",{class:"px-1 py-1 text-left font-medium"}," Time "),e("th",{class:"px-1 py-1 text-left font-medium"}," Survey ID "),e("th",{class:"px-1 py-1 text-right font-medium"}," Rev "),e("th",{class:"px-1 py-1 text-right font-medium"}," Payout "),e("th",{class:"px-1 py-1 text-left font-medium"}," Activity "),e("th",{class:"px-1 py-1 text-left font-medium"}," Network "),e("th",{class:"px-1 py-1 text-right font-medium"}," C2C ")])],-1)),e("tbody",null,[(a(!0),l(B,null,G(R.value,C=>(a(),l("tr",{key:C.id,class:"cursor-pointer border-b hover:bg-muted/50",onClick:F=>D("openSurveyClickModal",C)},[e("td",bm,[e("span",hm,s(h(C.createdAt))+" "+s(L(C.createdAt)),1)]),e("td",_m,[e("span",wm,s(C.externalSurveyId||"-"),1)]),e("td",$m,s(M(C.revenue)),1),e("td",Cm,s(M(C.payout)),1),e("td",Sm,[e("span",{class:z([C.activityType==="COMPLETE"?"text-emerald-600 dark:text-emerald-400":C.activityType==="SCREENOUT"?"text-orange-600 dark:text-orange-400":""])},s(C.activityType||"-"),3)]),e("td",Rm,[e("span",{class:"block max-w-[80px] truncate",title:C.surveyNetworkName||""},s(C.surveyNetworkName||"-"),9,Am)]),e("td",Dm,s(q(C.clickToConversionSeconds)),1)],8,km))),128))])]),k.value>1?(a(),l("div",Im,[e("span",Tm," Page "+s(y.value)+" of "+s(k.value),1),e("div",Em,[n(t(j),{variant:"outline",size:"sm",class:"h-7 w-7 p-0",disabled:y.value===1,onClick:A[1]||(A[1]=C=>y.value--)},{default:r(()=>[n(t(Dt),{class:"h-4 w-4"})]),_:1},8,["disabled"]),n(t(j),{variant:"outline",size:"sm",class:"h-7 w-7 p-0",disabled:y.value===k.value,onClick:A[2]||(A[2]=C=>y.value++)},{default:r(()=>[n(t(It),{class:"h-4 w-4"})]),_:1},8,["disabled"])])])):p("",!0)]))]),_:1})]),_:1}))}}),Nm={class:"grid grid-cols-2 gap-x-4 gap-y-3 text-sm"},Lm={class:"mt-0.5"},Mm={class:"mt-0.5 font-mono text-xs"},Um={class:"mt-0.5"},Pm={class:"mt-0.5"},Fm={key:0,class:"ml-1 text-xs text-orange-600 dark:text-orange-400"},qm={key:0,class:"col-span-2"},zm={class:"mt-0.5"},Bm={class:"text-muted-foreground"},Om={class:"mt-0.5"},jm={class:"mt-0.5"},Gm={key:0,class:"flex flex-wrap gap-1"},Hm={key:1,class:"text-muted-foreground"},Jm={class:"mt-0.5 font-semibold"},Qm={class:"mt-0.5"},Ym={class:"mt-0.5"},Km={class:"mt-0.5"},Wm={class:"mt-0.5"},Zm={class:"mt-0.5"},Xm={class:"mt-0.5"},ef={class:"mt-0.5 font-semibold"},tf={class:"mt-0.5"},sf={class:"mt-0.5"},af={key:1},of={class:"mt-0.5"},nf={key:0},lf={class:"text-muted-foreground"},rf={key:1,class:"text-muted-foreground"},df={key:1},uf={class:"mt-0.5 text-orange-600 dark:text-orange-400"},cf={class:"text-xs text-muted-foreground"},mf={key:0},ff={class:"mt-0.5"},vf={key:0,class:"ml-1 rounded bg-green-100 px-1.5 py-0.5 text-[10px] font-medium text-green-800 dark:bg-green-900 dark:text-green-100"},pf={class:"mt-0.5"},xf={key:1},gf=["href"],yf={class:"space-y-3"},kf={class:"grid grid-cols-2 gap-x-4 gap-y-1"},bf={class:"capitalize"},hf=["href"],_f={key:1,class:"text-muted-foreground"},wf=J({__name:"UserInformationCard",props:{userData:{},socialAccounts:{},referralCount:{},surveyReconciliationStats:{},emailHistory:{},verisoulLinkedAccounts:{}},emits:["openReferralsModal","adjustSurveyReconDebt"],setup(u){const E=S(!1),o=D=>new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}).format(D);return(D,f)=>(a(),l(B,null,[n(t(W),null,{default:r(()=>[n(t(Z),{class:"pb-3"},{default:r(()=>[n(t(X),{class:"text-lg"},{default:r(()=>[...f[4]||(f[4]=[v("User Information",-1)])]),_:1})]),_:1}),n(t(K),null,{default:r(()=>[e("dl",Nm,[e("div",null,[f[5]||(f[5]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," ID ",-1)),e("dd",Lm,s(u.userData.id),1)]),e("div",null,[f[6]||(f[6]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," UUID ",-1)),e("dd",Mm,s(u.userData.uuid),1)]),e("div",null,[f[7]||(f[7]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Name ",-1)),e("dd",Um,s(u.userData.name),1)]),e("div",null,[f[8]||(f[8]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Email ",-1)),e("dd",Pm,[v(s(u.userData.email)+" ",1),u.userData.pendingEmail?(a(),l("span",Fm," (pending: "+s(u.userData.pendingEmail)+") ",1)):p("",!0)])]),u.emailHistory.length>0?(a(),l("div",qm,[f[9]||(f[9]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Email History ",-1)),e("dd",zm,[(a(!0),l(B,null,G(u.emailHistory,($,y)=>(a(),l("div",{key:y,class:"flex items-center justify-between text-xs"},[e("span",null,s($.email),1),e("span",Bm,s(new Date($.changedAt).toLocaleDateString()),1)]))),128))])])):p("",!0),e("div",null,[f[10]||(f[10]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Phone Verified ",-1)),e("dd",Om,[e("span",{class:z(u.userData.hasVerifiedPhone?"text-green-600":"text-orange-600")},s(u.userData.hasVerifiedPhone?"Yes":"No"),3)])]),e("div",null,[f[11]||(f[11]=e("dt",{class:"text-xs font-medium text-muted-foreground"}
2," Linked Accounts ",-1)),e("dd",jm,[u.socialAccounts.length>0?(a(),l("div",Gm,[(a(!0),l(B,null,G(u.socialAccounts,$=>(a(),l("span",{key:$.id,class:"inline-flex items-center rounded-full bg-blue-100 px-2 py-0.5 text-xs font-medium text-blue-800 capitalize dark:bg-blue-900 dark:text-blue-200"},s($.provider),1))),128))])):(a(),l("span",Hm," None "))])]),e("div",null,[f[12]||(f[12]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Current Balance ",-1)),e("dd",Jm,s(o(u.userData.currentBalance)),1)]),e("div",null,[f[13]||(f[13]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Lifetime Earned ",-1)),e("dd",Qm,s(o(u.userData.lifetimeEarned)),1)]),e("div",null,[f[14]||(f[14]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Lifetime Redeemed ",-1)),e("dd",Ym,s(o(u.userData.lifetimeRedeemed)),1)]),e("div",null,[f[15]||(f[15]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Net Revenue ",-1)),e("dd",Km,s(o(u.userData.netRevenue)),1)]),e("div",null,[f[16]||(f[16]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Gross Profit ",-1)),e("dd",{class:z(["mt-0.5 font-semibold",u.userData.netRevenue-(Math.max(0,u.userData.currentBalance)+u.userData.lifetimeRedeemed)>=0?"text-green-600 dark:text-green-400":"text-red-600 dark:text-red-400"])},s(o(u.userData.netRevenue-(Math.max(0,u.userData.currentBalance)+u.userData.lifetimeRedeemed))),3)]),e("div",null,[f[17]||(f[17]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Manually Credited ",-1)),e("dd",Wm,s(o(u.userData.manualCreditTotal)),1)]),e("div",null,[f[18]||(f[18]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Reconciled Revenue ",-1)),e("dd",Zm,s(o(u.userData.reconciledRevenue)),1)]),e("div",null,[f[19]||(f[19]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Total IAP ",-1)),e("dd",Xm,s(o(u.userData.totalIap)),1)]),e("div",null,[f[20]||(f[20]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Net Account Value ",-1)),e("dd",ef,s(o(u.userData.netRevenue+u.userData.totalIap-(Math.max(0,u.userData.currentBalance)+u.userData.lifetimeRedeemed))),1)]),e("div",null,[f[21]||(f[21]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Referrer ID ",-1)),e("dd",tf,s(u.userData.referrerId||"-"),1)]),e("div",null,[f[22]||(f[22]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Referrals ",-1)),e("dd",sf,[u.referralCount>0?(a(),l("button",{key:0,onClick:f[0]||(f[0]=$=>D.$emit("openReferralsModal")),class:"cursor-pointer text-blue-600 underline hover:text-blue-800"},s(u.referralCount),1)):(a(),l("span",af,"0"))])]),e("div",null,[f[23]||(f[23]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Survey Reconciliation ",-1)),e("dd",of,[u.surveyReconciliationStats&&u.surveyReconciliationStats.total>0?(a(),l("span",nf,[v(s(u.surveyReconciliationStats.reconciled)+"/"+s(u.surveyReconciliationStats.total)+" ",1),e("span",lf," ("+s(Math.round(u.surveyReconciliationStats.reconciled/u.surveyReconciliationStats.total*100))+"%) ",1)])):(a(),l("span",rf,"-"))])]),u.userData.surveyReconDebt>0?(a(),l("div",df,[f[25]||(f[25]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Survey Recon Debt ",-1)),e("dd",uf,[v(s(o(u.userData.surveyReconDebt))+" ",1),e("span",cf,[v(" (min "+s(o(u.userData.reliefApplied?10:10+u.userData.surveyReconDebt*2)),1),u.userData.reliefApplied?(a(),l("span",mf," — relief")):p("",!0),f[24]||(f[24]=v(") ",-1))]),e("button",{type:"button",class:"ml-2 cursor-pointer text-xs text-blue-600 underline hover:text-blue-800",onClick:f[1]||(f[1]=$=>D.$emit("adjustSurveyReconDebt"))}," Adjust ")])])):p("",!0),e("div",null,[f[26]||(f[26]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Survey Margin (Babki) ",-1)),e("dd",ff,[v(s(o(u.userData.surveyMargin))+" ",1),u.userData.isSurveyDebtTrusted?(a(),l("span",vf," TRUSTED ")):p("",!0)])]),e("div",null,[f[27]||(f[27]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Linked Accounts (Verisoul) ",-1)),e("dd",pf,[u.verisoulLinkedAccounts.length>0?(a(),l("button",{key:0,onClick:f[2]||(f[2]=$=>E.value=!0),class:"cursor-pointer text-blue-600 underline hover:text-blue-800"},s(u.verisoulLinkedAccounts.length),1)):(a(),l("span",xf,"0"))])])]),e("a",{href:`https://clarity.microsoft.com/projects/view/uca8fgmsl7/impressions?date=Last%207%20days&CustomUserId=is%3B${u.userData.uuid}`,target:"_blank",rel:"noopener noreferrer",class:"mt-4 inline-flex items-center gap-1.5 text-sm text-blue-600 hover:text-blue-800 dark:text-blue-400 dark:hover:text-blue-300"},[n(t(Ee),{class:"h-3.5 w-3.5"}),f[28]||(f[28]=v(" View in Microsoft Clarity ",-1))],8,gf)]),_:1})]),_:1}),n(t(oe),{open:E.value,"onUpdate:open":f[3]||(f[3]=$=>E.value=$)},{default:r(()=>[n(t(le),{class:"max-h-[80vh] overflow-y-auto sm:max-w-lg"},{default:r(()=>[n(t(re),null,{default:r(()=>[n(t(ne),null,{default:r(()=>
2[...f[29]||(f[29]=[v("Linked Accounts (Verisoul)",-1)])]),_:1})]),_:1}),e("div",yf,[(a(!0),l(B,null,G(u.verisoulLinkedAccounts,$=>(a(),l("div",{key:$.id,class:"rounded-md border p-3 text-sm"},[$.linkedUser?(a(),l(B,{key:0},[e("dl",kf,[e("div",null,[f[30]||(f[30]=e("dt",{class:"text-xs text-muted-foreground"}," User ID ",-1)),e("dd",null,s($.linkedUser.id),1)]),e("div",null,[f[31]||(f[31]=e("dt",{class:"text-xs text-muted-foreground"}," Email ",-1)),e("dd",null,s($.linkedUser.email),1)]),e("div",null,[f[32]||(f[32]=e("dt",{class:"text-xs text-muted-foreground"}," Status ",-1)),e("dd",bf,s($.linkedUser.status),1)]),e("div",null,[f[33]||(f[33]=e("dt",{class:"text-xs text-muted-foreground"}," Score ",-1)),e("dd",null,s($.score),1)])]),e("a",{href:`/dash/users?search=${$.linkedUser.id}`,target:"_blank",rel:"noopener noreferrer",class:"mt-2 inline-flex items-center gap-1 text-xs text-blue-600 hover:text-blue-800"},[n(t(Ee),{class:"h-3 w-3"}),f[34]||(f[34]=v(" Open account ",-1))],8,hf)],64)):(a(),l("div",_f,[v(s($.email||$.linkedAccountId)+" ",1),f[35]||(f[35]=e("span",{class:"text-xs"},"(no matching user)",-1))]))]))),128))])]),_:1})]),_:1},8,["open"])],64))}}),$f={key:0,class:"mb-2 text-xs text-destructive"},Cf={class:"space-y-2"},Sf={class:"text-sm whitespace-pre-wrap"},Rf={class:"mt-2 flex items-center justify-between gap-2"},Af={class:"text-xs text-muted-foreground"},Df={class:"font-medium"},If={key:0},Tf=["disabled","onClick"],Ef=J({__name:"UserNotesCard",props:{notes:{}},emits:["deleted"],setup(u,{emit:E}){const o=E,f=Yt()?.appContext.config.globalProperties.route,$=S(null),y=S(""),i=R=>new Date(R).toLocaleString(),k=async R=>{if(confirm("Delete this note? This cannot be undone.")){$.value=R.id,y.value="";try{const{data:w}=await ee.delete(f("admin.users.notes.destroy",R.id));w.success?o("deleted",R.id):y.value=w.message||"Failed to delete note"}catch(w){y.value=w.response?.status===403?"You can only delete your own notes":w.response?.data?.message||"Failed to delete note"}finally{$.value=null}}};return(R,w)=>(a(),U(t(W),{id:"notes",class:"scroll-mt-12"},{default:r(()=>[n(t(Z),{class:"pb-3"},{default:r(()=>[n(t(X),{class:"text-lg"},{default:r(()=>[...w[0]||(w[0]=[v("Staff Notes",-1)])]),_:1}),n(t(te),{class:"text-xs"},{default:r(()=>[v(s(u.notes.length)+" note"+s(u.notes.length!==1?"s":"")+" on this user ",1)]),_:1})]),_:1}),n(t(K),null,{default:r(()=>[y.value?(a(),l("p",$f,s(y.value),1)):p("",!0),e("div",Cf,[(a(!0),l(B,null,G(u.notes,b=>(a(),l("div",{key:b.id,class:"rounded-md border bg-muted/30 p-3"},[e("p",Sf,s(b.body),1),e("div",Rf,[e("p",Af,[e("span",Df,s(b.authorName),1),b.authorEmail?(a(),l("span",If," ("+s(b.authorEmail)+")",1)):p("",!0),v(" · "+s(i(b.createdAt)),1)]),b.canDelete?(a(),l("button",{key:0,disabled:$.value===b.id,title:"Delete note",class:"text-muted-foreground transition-colors hover:text-destructive disabled:opacity-50",onClick:N=>k(b)}
2,[$.value===b.id?(a(),U(t(Zt),{key:0,class:"h-3.5 w-3.5 animate-spin"})):(a(),U(t(ba),{key:1,class:"h-3.5 w-3.5"}))],8,Tf)):p("",!0)])]))),128))])]),_:1})]),_:1}))}}),Vf=J({__name:"RadioGroup",props:{modelValue:{},defaultValue:{},disabled:{type:Boolean},orientation:{},dir:{},loop:{type:Boolean},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean}},emits:["update:modelValue"],setup(u,{emit:E}){const o=u,f=Rt(o,E);return($,y)=>(a(),U(t(eo),$e(t(f),{class:t(Wt)("grid gap-2",o.class)}),{default:r(()=>[de($.$slots,"default")]),_:3},16,["class"]))}}),Nf=J({__name:"RadioGroupItem",props:{id:{},value:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean},class:{}},setup(u){const E=u;return(o,D)=>(a(),U(t(oo),$e(E,{class:t(Wt)("aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",E.class)}),{default:r(()=>[n(t(lo),{class:"flex items-center justify-center"},{default:r(()=>[n(t(Ds),{class:"h-2.5 w-2.5 fill-current text-current"})]),_:1})]),_:1},16,["class"]))}}),Lf={class:"space-y-4"},Mf={class:"flex-1"},Uf={key:0,class:"mt-4 text-sm text-destructive"},Pf={key:0,class:"sticky top-0 z-10 -mx-4 border-b bg-slate-100 px-4 py-2 shadow-sm dark:bg-slate-800"},Ff={class:"flex flex-wrap gap-1.5"},qf=["onClick"],zf={class:"grid grid-cols-3 gap-3 text-sm"},Bf={class:"mt-0.5"},Of={class:"mt-0.5"},jf={class:"mt-0.5"},Gf={key:0,class:"mt-3 text-sm text-destructive"},Hf={key:1,class:"mt-3"},Jf={class:"grid grid-cols-1 gap-3 text-sm"},Qf={class:"mt-0.5 font-mono text-xs"},Yf={key:0,class:"mt-3 text-sm text-destructive"},Kf={class:"grid grid-cols-2 gap-3 text-sm"},Wf={class:"mt-0.5"},Zf={class:"mt-0.5"},Xf={key:0,class:"mt-3 text-sm text-destructive"},ev={key:1,class:"mt-3"},tv={class:"flex flex-wrap items-center gap-2 text-sm"},sv={key:0,class:"rounded bg-red-100 px-2 py-0.5 text-xs font-medium text-red-700 dark:bg-red-900 dark:text-red-300"},av={class:"mb-2 flex items-center justify-between"},ov={class:"flex gap-2"},nv={key:4,class:"mb-2 text-sm text-destructive"},lv={id:"user-info",class:"grid grid-cols-1 items-start gap-4 lg:grid-cols-2"},rv={class:"grid grid-cols-2 gap-x-4 gap-y-3 text-sm"},dv={class:"mt-0.5 font-mono text-xs break-all"},iv={class:"mt-0.5 font-mono text-xs break-all"},uv={key:0,class:"flex items-center gap-1"},cv=["title"],mv={key:1},fv={class:"mt-0.5"},vv={class:"mt-0.5"},pv={class:"mt-0.5"},xv={class:"mt-0.5"},gv={class:"mt-0.5"},yv={class:"mt-0.5"},kv={class:"mt-0.5 font-mono text-xs"},bv={class:"mt-0.5 font-mono text-xs"},hv={class:"col-span-2"},_v={class:"mt-0.5 font-mono text-xs"},wv={class:"mt-0.5"},$v={class:"mt-0.5"},Cv={class:"col-span-2"},Sv={class:"mt-0.5 font-mono text-xs break-all"},Rv={class:"col-span-2"},Av={class:"mt-0.5 font-mono text-xs break-all"},Dv={class:"col-span-2"},Iv={class:"mt-0.5"},Tv={class:"mt-0.5"},Ev={class:"mt-0.5 font-mono text-xs"},Vv={class:"mt-0.5 font-mono text-xs"},Nv={class:"mt-0.5 font-mono text-xs"},Lv={id:"fraud",class:"grid grid-cols-1 gap-4 lg:grid-cols-2"},Mv={class:"flex flex-col gap-4"},Uv={class:"grid grid-cols-3 gap-x-4 gap-y-3 text-sm"},Pv={class:"mt-0.5"},Fv={class:"mt-0.5"},qv={class:"mt-0.5 font-mono"},zv={class:"overflow-x-auto"},Bv={class:"w-full text-xs"},Ov={class:"px-2 py-1.5 whitespace-nowrap"},jv={class:"px-2 py-1.5"},Gv={class:"px-2 py-1.5"},Hv={key:0},Jv={class:"rounded-lg border border-green-200 bg-green-50 p-2 dark:border-green-800 dark:bg-green-950"},Qv={class:"flex items-center gap-2"},Yv={class:"font-mono text-sm font-medium text-green-600 dark:text-green-400"},Kv=["href"],Wv={key:0,class:"mt-1 flex flex-wrap gap-2 text-xs"},Zv={key:0,class:"rounded bg-green-100 px-1.5 py-0.5 text-green-700 dark:bg-green-900 dark:text-green-300"},Xv={key:1,class:"text-green-600 dark:text-green-400"},ep={key:1,class:"mt-2 border-t border-green-200 pt-2 dark:border-green-800"},tp={class:"text-xs text-green-600 dark:text-green-400"},sp={key:0,class:"ml-1"},ap={key:1,class:"ml-1 text-green-500 italic dark:text-green-500"},op={key:0,class:"mt-1 flex items-center gap-1 text-xs"},np={key:0,class:"inline-flex items-center gap-1 rounded bg-green-200 px-1.5 py-0.5 font-medium text-green-800 dark:bg-green-800 dark:text-green-200"}
2,lp={key:1,class:"inline-flex items-center gap-1 rounded bg-orange-100 px-1.5 py-0.5 font-medium text-orange-700 dark:bg-orange-900 dark:text-orange-300"},rp={key:1},dp={key:2,class:"mt-3"},ip={class:"mb-2 text-xs font-medium text-muted-foreground"},up={class:"overflow-x-auto"},cp={class:"w-full text-xs"},mp={class:"px-2 py-1.5 font-mono"},fp={class:"px-2 py-1.5"},vp={key:0},pp={key:0,class:"text-muted-foreground"},xp={key:1,class:"text-muted-foreground"},gp={class:"px-2 py-1.5 text-center"},yp={class:"px-2 py-1.5 whitespace-nowrap"},kp={class:"px-2 py-1.5 whitespace-nowrap"},bp={id:"devices",class:"grid scroll-mt-12 grid-cols-1 gap-4 lg:grid-cols-2"},hp={key:0,class:"text-xs text-muted-foreground"},_p={key:1,class:"overflow-x-auto"},wp={class:"w-full text-xs"},$p={class:"px-2 py-1.5"},Cp={class:"px-2 py-1.5"},Sp={class:"px-2 py-1.5"},Rp={class:"px-2 py-1.5 font-mono"},Ap={key:0,class:"text-xs text-muted-foreground"},Dp={key:1,class:"overflow-x-auto"},Ip={class:"w-full text-xs"},Tp={class:"px-2 py-1.5"},Ep={class:"px-2 py-1.5"},Vp={class:"px-2 py-1.5"},Np={key:2,class:"py-12 text-center text-muted-foreground"},Lp={class:"overflow-x-auto"},Mp={class:"w-full"},Up={class:"px-4 py-3 font-mono"},Pp={class:"px-4 py-3"},Fp={class:"px-4 py-3"},qp={class:"px-4 py-3 whitespace-nowrap"},zp={class:"px-4 py-3"},Bp=["href"],Op={class:"overflow-x-auto"},jp={class:"w-full"},Gp={class:"px-4 py-3 font-mono"},Hp={class:"px-4 py-3"},Jp={class:"px-4 py-3"},Qp={class:"px-4 py-3 whitespace-nowrap"},Yp={class:"px-4 py-3"},Kp=["href"],Wp={class:"overflow-x-auto"},Zp={class:"w-full"},Xp={class:"px-4 py-3 font-mono"},e1={class:"px-4 py-3"},t1={class:"px-4 py-3"},s1={class:"px-4 py-3 whitespace-nowrap"},a1={class:"px-4 py-3"},o1=["href"],n1={key:0,class:"text-sm text-destructive"},l1={class:"flex justify-end gap-2"},r1={key:0,class:"text-sm text-destructive"},d1={class:"flex justify-end gap-2"},i1={class:"py-4"},u1={key:0,class:"text-sm text-destructive"},c1={class:"flex justify-end gap-2"},m1={key:0,class:"grid grid-cols-2 gap-3 py-2 text-sm"},f1={class:"mt-0.5"},v1={class:"mt-0.5"},p1={class:"mt-0.5"},x1={key:1,class:"text-muted-foreground"},g1={key:1,class:"text-sm text-destructive"},y1={class:"flex justify-end gap-2"},$0=J({layout:pa,__name:"UserLookup",setup(u){const o=Yt()?.appContext.config.globalProperties.route,{can:D}=Xt(),f=S(""),$=S(!1),y=S(!1);da(()=>{const d=new URLSearchParams(window.location.search).get("search");d&&(f.value=d,se())});const i=S(null),k=S([]),R=S([]),w=S(!1),b=S(""),N=S([]),L=S([]),h=S([]),M=S([]),q=S([]),x=S([]),A=S({}),C=S([]),F=S(null),V=S([]),T=S([]),ie=S(null),he=S([]),ue=S([]),xe=S(null),P=S(null),m=S([]),c=S(null),I=S(null),H=S([]),Q=S([]),Ne=S([]),ce=S([]),_e=S([]),Ce=S([]),Le=S([]),Me=S([]),ge=S([]),Ge=S(""),He=S(null),De=S("");let Je=null;const Es=async g=>{Je=g,w.value=!0,b.value="";try{const{data:d}=await ee.post(o("admin.users.clicks"),{user_id:g});if(Je!==g)return;R.value=d.clicks||[]}catch{if(Je!==g)return;b.value="Failed to load click history"}finally{Je===g&&(w.value=!1)}},Et=g=>{const d=new URL(window.location.href);d.searchParams.set("search",String(g)),d.href!==window.location.href&&window.history.replaceState(window.history.state,"",d.href)},se=async()=>{if(f.value.trim()){$.value=!0,Ge.value="",y.value=!0,Je=null,R.value=[],w.value=!1,b.value="";try{const{data:g}=await ee.post(o("admin.users.search"),{query:f.value});g.found?(i.value=g.user,k.value=g.ledgerEntries,N.value=g.verisoulChecks||[],L.value=g.sameIpUsers,h.value=g.sameClickIdUsers,M.value=g.uniqueDevices,q.value=g.uniqueLocations,x.value=g.conversions,A.value=g.eventBenchmarks||{},C.value=g.surveyConversions,F.value=g.verifiedPhone,V.value=g.phoneAttempts,T.value=g.redemptions,ie.value=g.medianLatency,he.value=g.clickTimezones,ue.value=g.clickLanguages,xe.value=g.latestVerisoulCheck,P.value=g.latestSumsubCheck,m.value=g.idVerificationChecks||[],c.value=g.profilerData,I.value=g.surveyReconciliationStats,H.value=g.bitlabsStateChanges||[],Q.value=g.verisoulFailedChecks||[],Ne.value=g.socialAccounts||[],ce.value=g.manualOfferCredits||[],_e.value=g.referrals||[],Ce.value=g.feedbackSurveys||[],Le.value=g.emailHistory||[],Me.value=g.verisoulLinkedAccounts||[],ge.value=g.notes||[],Et(g.user.id),Es(g.user.id)):(i.value=null,k.value=[],R.value=[],N.value=[],L.value=[],h.value=[],M.value=[],q.value=[],x.value=[],A.value={},C.value=[],F.value=null,V.value=[],T.value=[],ie.value=null,he.value=[],ue.value=[],xe.value=null,P.value=null,m.value=[],c.value=null,I.value=null,H.value=[],Q.value=[],Ne.value=[],ce.value=[],_e.value=[],Ce.value=[],Le.value=[],Me.value=[],ge.value=[],Ge.value=g.message||"User not found",Et(f.value.trim()))}catch{Ge.value="An error occurred while searching",Et(f.value.trim()),i.value=null,k.value=[],R.value=[],N.value=[],L.value=[],h.value=[],M.value=[],q.value=[],x.value=[],C.value=[],F.value=null,V.value=[],T.value=[],ie.value=null,he.value=[],ue.value=[],xe.value=null,P.value=null,m.value=[],c.value=null,I.value=null,H.value=[],Q.value=[],Ne.value=[],ce.value=[],_e.value=[],Ce.value=[],Le.value=[],Me.value=[],ge.value=[]}finally{$.value=!1}}},ye=g=>
2new Date(g).toLocaleString(),Vt=S(null),es=g=>{navigator.clipboard.writeText(g),Vt.value=g,setTimeout(()=>{Vt.value=null},1500)},ft=S(!1),Nt=S(!1),vt=S(""),Vs=async g=>{if(i.value){Nt.value=!0,vt.value="";try{const{data:d}=await ee.post(o("admin.users.credit"),{user_id:i.value.id,amount:g.amount,description:g.description});d.success?(se(),ft.value=!1):vt.value=d.message||"Failed to credit user"}catch{vt.value="An error occurred while crediting user"}finally{Nt.value=!1}}},pt=S(!1),Lt=S(!1),xt=S(""),Ns=async g=>{if(i.value){Lt.value=!0,xt.value="";try{const{data:d}=await ee.post(o("admin.users.adjustSurveyReconDebt"),{user_id:i.value.id,new_value:g.newValue,reason:g.reason});d.success?(se(),pt.value=!1):xt.value=d.message||"Failed to adjust debt"}catch{xt.value="An error occurred while adjusting debt"}finally{Lt.value=!1}}},ts=S(!1),Qe=S(""),Ls=async g=>{if(!i.value)return;const d="Manual credit for survey";if(confirm(`Are you sure you want to credit this user $${g.amount.toFixed(2)} for this survey click?`)){ts.value=!0,Qe.value="";try{const{data:_}=await ee.post(o("admin.users.creditSurveyClick"),{user_id:i.value.id,click_id:g.clickId,amount:g.amount,description:d});_.success?(tt.value=!1,se()):(Qe.value=_.message||"Failed to credit survey click",alert(Qe.value))}catch{Qe.value="An error occurred while crediting survey click",alert(Qe.value)}finally{ts.value=!1}}},ss=S(!1),Ye=S(""),Ms=async g=>{if(!i.value)return;const d="Manual top-up: full survey value (unfair screenout)";if(confirm(`Are you sure you want to credit this user $${g.amount.toFixed(2)} to bring this screenout up to the full survey value?`)){ss.value=!0,Ye.value="";try{const{data:_}=await ee.post(o("admin.users.creditScreenoutDifference"),{user_id:i.value.id,click_id:g.clickId,amount:g.amount,description:d});_.success?(tt.value=!1,se()):(Ye.value=_.message||"Failed to credit screenout top-up",alert(Ye.value))}catch{Ye.value="An error occurred while crediting screenout top-up",alert(Ye.value)}finally{ss.value=!1}}},as=S(!1),Ke=S(""),Us=async g=>{if(!i.value)return;const d=`Manual credit for Game: ${g.offerName}: ${g.eventName}`;if(confirm(`Are you sure you want to credit this user $${g.amount.toFixed(2)} for "${g.eventName}"?`)){as.value=!0,Ke.value="";try{const{data:_}=await ee.post(o("admin.users.creditOfferEvent"),{user_id:i.value.id,click_id:g.clickId,event_id:g.eventId,amount:g.amount,description:d});_.success?(et.value=!1,se()):(Ke.value=_.message||"Failed to credit offer event",alert(Ke.value))}catch{Ke.value="An error occurred while crediting offer event",alert(Ke.value)}finally{as.value=!1}}},Mt=S(!1),Ps=async g=>{if(!(!i.value||Mt.value)&&confirm(`Approve this held conversion and credit the user $${g.payout.toFixed(2)} for "${g.eventName}"?`)){Mt.value=!0;try{const{data:d}=await ee.post(o("admin.users.approveHeldConversion"),{conversion_id:g.conversionId});d.success?(et.value=!1,se()):alert(d.message||"Failed to approve held conversion")}catch{alert("An error occurred while approving the held conversion")}finally{Mt.value=!1}}},we=S(!1),fe=S(""),We=S(!1),Ue=S(""),os=[{value:"vpn_proxy",label:"VPN/Proxy Usage"},{value:"offer_manipulation",label:"Offer/Survey Manipulation"},{value:"multiple_accounts",label:"Creating Multiple Accounts"},{value:"other",label:"Other"}],Fs=g=>g?os.find(_=>_.value===g)?.label||g:"Unknown",ve=S(!1),pe=S(""),Ze=S(!1),Se=O(()=>m.value.find(g=>g.status==="completed")??null),gt=O(()=>Se.value!==null),Xe=O(()=>T.value.filter(g=>g.fraudReview?.status==="flagged"||g.fraudReview?.status==="blocked")),qs=O(()=>Xe.value.some(g=>g.fraudReview?.onFraudList)),et=S(!1),ns=S(null),ls=S(null),rs=S([]),ds=S(null),is=S(null),us=S([]),cs=(g,d)=>{ns.value=g,ls.value=d?.id??null,is.value=d;const _=Y=>Y.gameOfferVariant!=null&&(Y.gameOfferVariant.id===g.id||Y.gameOfferVariant.offerId===g.offerId),ze=x.value.find(_);ds.value=d?.contentId??ze?.contentId??null,rs.value=x.value.filter(_).map(Y=>({id:Y.id,eventId:Y.eventId,eventName:Y.eventName,payout:Y.payout,saleAmount:Y.saleAmount,providerStatus:Y.providerStatus,reviewStatus:Y.reviewStatus,reviewReason:Y.reviewReason,createdAt:Y.createdAt,clickToConversionSeconds:Y.clickToConversionSeconds,taskType:Y.taskType,contentId:Y.contentId,expectsSaleAmount:Y.expectsSaleAmount})),us.value=d?ce.value.filter(Y=>Y.clickId===d.id).map(Y=>({eventId:Y.eventId,amount:Y.amount,createdAt:Y.createdAt})):[],et.value=!0},tt=S(!1),ms=S(null),Ut=g=>{ms.value=g,tt.value=!0},zs=g=>{const d=C.value.find(_=>_.click?.id===g.id);if(d)Ut(d);else{const _={id:0,externalSurveyId:String(g.contentId),externalTransactionId:null,revenue:0,payout:0,activityType:null,screenoutReason:null,surveyRating:null,surveyNetworkName:null,surveyLoi:null,countryCode:g.countryCode,providerStatus:null,clickToConversionSeconds:null,conversionTimestamp:null,createdAt:g.createdAt,click:{id:g.id,clickSignature:g.clickSignature,surveyPromisedReward:g.surveyPromisedReward,ipAddress:g.ipAddress,deviceType:g.deviceType,browser:g.browser,platform:g.platform,countryCode:g.countryCode,city:g.city,state:g.state,browserTimezone:g.browserTimezone,source:g.source,section:g.section,createdAt:g.createdAt}};Ut(_)}},Pt=S(!1),Bs=()=>{Pt.value=!0},Ft=S(!1),Os=()=>{Ft.value=!0},qt=S(!1),js=()=>{qt.value=!0},Gs=()=>{Ue.value="",fe.value="",We.value=!0},Hs=async()=>
2{if(!(!i.value||!Ue.value)){we.value=!0,fe.value="";try{const{data:g}=await ee.post(o("admin.users.ban"),{user_id:i.value.id,ban_reason:Ue.value});g.success?(We.value=!1,se()):fe.value=g.message||"Failed to ban user"}catch{fe.value="An error occurred while banning user"}finally{we.value=!1}}},Js=async()=>{if(i.value&&confirm("Are you sure you want to unban this user? They will be able to access the app again.")){we.value=!0,fe.value="";try{const{data:g}=await ee.post(o("admin.users.unban"),{user_id:i.value.id});g.success?se():fe.value=g.message||"Failed to unban user"}catch{fe.value="An error occurred while unbanning user"}finally{we.value=!1}}},Qs=()=>{if(i.value){if(pe.value="",gt.value){Ze.value=!0;return}confirm("Are you sure you want to require ID verification for this user? They will be blocked from accessing offers and surveys until they complete verification.")&&fs()}},fs=async()=>{if(i.value){ve.value=!0,pe.value="";try{const{data:g}=await ee.post(o("admin.users.requireVerification"),{user_id:i.value.id});g.success?(Ze.value=!1,se()):pe.value=g.message||"Failed to require verification"}catch{pe.value="An error occurred while requiring verification"}finally{ve.value=!1}}},Ys=async()=>{if(i.value&&confirm("Are you sure you want to remove the verification requirement? The user will regain full access.")){ve.value=!0,pe.value="";try{const{data:g}=await ee.post(o("admin.users.removeVerification"),{user_id:i.value.id});g.success?se():pe.value=g.message||"Failed to remove verification requirement"}catch{pe.value="An error occurred while removing verification requirement"}finally{ve.value=!1}}},yt=S(!1),st=S(""),kt=S(!1),at=S(""),ot=S(!1),nt=S(""),Pe=S(!1),Ie=S(""),Ks=async()=>{if(i.value&&confirm("Are you sure you want to delete this user? Their email will be anonymized and they will not be able to log in. This action cannot be undone.")){yt.value=!0,st.value="";try{const{data:g}=await ee.post(o("admin.users.delete"),{user_id:i.value.id});g.success?se():st.value=g.message||"Failed to delete user"}catch{st.value="An error occurred while deleting user"}finally{yt.value=!1}}},Ws=async()=>{if(!i.value)return;const d=i.value.autoApproveRedemptions?"disable":"enable";if(confirm(`Are you sure you want to ${d} auto-approve redemptions for this user?`)){kt.value=!0,at.value="";try{const{data:_}=await ee.post(o("admin.users.toggleAutoApprove"),{user_id:i.value.id});_.success?i.value.autoApproveRedemptions=_.auto_approve_redemptions:at.value=_.message||"Failed to toggle auto-approve"}catch{at.value="An error occurred while toggling auto-approve"}finally{kt.value=!1}}},Zs=()=>{i.value&&(nt.value=i.value.surveyConversionRate!==null?String(i.value.surveyConversionRate):"",ot.value=!0,Ie.value="")},Xs=async()=>{if(!i.value)return;const g=String(nt.value??"").trim();if(g!==""){const d=parseFloat(g);if(isNaN(d)||d<0||d>1){Ie.value="Rate must be a decimal between 0 and 1";return}}Pe.value=!0,Ie.value="";try{const{data:d}=await ee.post(o("admin.users.updateSurveyConversionRate"),{user_id:i.value.id,survey_conversion_rate:g===""?null:parseFloat(g)});d.success?(i.value.surveyConversionRate=d.survey_conversion_rate,ot.value=!1,nt.value=""):Ie.value=d.message||"Failed to update conversion rate"}catch{Ie.value="An error occurred while updating conversion rate"}finally{Pe.value=!1}},lt=S(!1),Te=S(""),Fe=S(!1),qe=S(""),ea=()=>{Te.value="",qe.value="",lt.value=!0},ta=async()=>{if(!(!i.value||!Te.value.trim())){Fe.value=!0,qe.value="";try{const{data:g}=await ee.post(o("admin.users.notes.store"),{user_id:i.value.id,body:Te.value.trim()});g.success?(ge.value.unshift(g.note),lt.value=!1,Te.value=""):qe.value=g.message||"Failed to add note"}catch(g){qe.value=g.response?.data?.errors?.body?.[0]||g.response?.data?.message||"An error occurred while adding the note"}finally{Fe.value=!1}}},sa=g=>{ge.value=ge.value.filter(d=>d.id!==g)},aa=async g=>{if(confirm("Are you sure you want to approve this redemption? The user will receive their reward.")){He.value=g,De.value="";try{const{data:d}=await ee.post(o("admin.redemptions.approve"),{redemption_id:g});d.success?se():De.value=d.message||"Failed to approve redemption"}catch(d){De.value=d.response?.data?.message||"An error occurred while approving redemption"}finally{He.value=null}}},oa=async g=>{if(confirm("Are you sure you want to reject this redemption? The order will be cancelled with Tremendous.")){He.value=g,De.value="";try{const{data:d}
2=await ee.post(o("admin.redemptions.reject"),{redemption_id:g});d.success?se():De.value=d.message||"Failed to reject redemption"}catch(d){De.value=d.response?.data?.message||"An error occurred while rejecting redemption"}finally{He.value=null}}},na=async g=>{if(confirm("Are you sure you want to reverse this reconciliation? This will credit the user's balance."))try{const{data:d}=await ee.post(o("admin.users.reverseReconciliation"),{user_id:i.value?.id,conversion_id:g});d.success?se():alert(d.message||"Failed to reverse reconciliation")}catch(d){alert(d.response?.data?.message||"An error occurred while reversing reconciliation")}},la=g=>{document.getElementById(g)?.scrollIntoView({behavior:"smooth"})};return(g,d)=>(a(),l("div",Lf,[d[103]||(d[103]=e("div",null,[e("h2",{class:"text-2xl font-bold tracking-tight"},"User Lookup"),e("p",{class:"text-sm text-muted-foreground"}," Search for a user by ID, UUID, or email address ")],-1)),n(t(W),null,{default:r(()=>[n(t(K),{class:"pt-6"},{default:r(()=>[e("form",{onSubmit:Ae(se,["prevent"]),class:"flex gap-4"},[e("div",Mf,[n(t(Re),{for:"search",class:"sr-only"},{default:r(()=>[...d[22]||(d[22]=[v("Search",-1)])]),_:1}),n(t(be),{id:"search",modelValue:f.value,"onUpdate:modelValue":d[0]||(d[0]=_=>f.value=_),placeholder:"User ID, UUID, or email...",disabled:$.value},null,8,["modelValue","disabled"])]),n(t(j),{type:"submit",disabled:$.value},{default:r(()=>[n(t(je),{class:"mr-2 h-4 w-4"}),v(" "+s($.value?"Searching...":"Search"),1)]),_:1},8,["disabled"])],32),Ge.value?(a(),l("div",Uf,s(Ge.value),1)):p("",!0)]),_:1})]),_:1}),i.value?(a(),l("nav",Pf,[e("div",Ff,[(a(!0),l(B,null,G([...ge.value.length?[{id:"notes",label:"Notes"}]:[],{id:"user-info",label:"User"},{id:"fraud",label:"Fraud"},{id:"profiler",label:"Profiler"},{id:"phone",label:"Phone"},{id:"devices",label:"Devices"},{id:"conversions",label:"Conversions"},{id:"surveys",label:"Surveys"},{id:"redemptions",label:"Redemptions"},{id:"ledger",label:"Ledger"},{id:"clicks",label:"Clicks"},{id:"profiling-questions",label:"Questions"}],_=>(a(),l("button",{key:_.id,onClick:ze=>la(_.id),class:"rounded-md bg-white px-2.5 py-1 text-xs font-medium text-slate-600 shadow-sm transition-colors hover:bg-slate-200 hover:text-slate-900 dark:bg-slate-700 dark:text-slate-300 dark:hover:bg-slate-600 dark:hover:text-white"},s(_.label),9,qf))),128))])])):p("",!0),i.value?(a(),l(B,{key:1},[i.value.isBanned?(a(),U(t(W),{key:0,class:"border-destructive"},{default:r(()=>[n(t(Z),{class:"pb-3"},{default:r(()=>[n(t(X),{class:"text-lg text-destructive"},{default:r(()=>[...d[23]||(d[23]=[v("User is Banned",-1)])]),_:1}),n(t(te),{class:"text-xs"},{default:r(()=>[...d[24]||(d[24]=[v(" This user's membership has been terminated due to a Terms of Service violation ",-1)])]),_:1})]),_:1}),n(t(K),null,{default:r(()=>[e("dl",zf,[e("div",null,[d[25]||(d[25]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Banned At ",-1)),e("dd",Bf,s(ye(i.value.bannedAt)),1)]),e("div",null,[d[26]||(d[26]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Banned By ",-1)),e("dd",Of,s(i.value.bannedBy?.email||"-"),1)]),e("div",null,[d[27]||(d[27]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Reason ",-1)),e("dd",jf,s(Fs(i.value.banReason)),1)])]),fe.value?(a(),l("div",Gf,s(fe.value),1)):p("",!0),t(D)("manage-user-status")?(a(),l("div",Hf,[n(t(j),{onClick:Js,disabled:we.value,variant:"outline",size:"sm"},{default:r(()=>[v(s(we.value?"Processing...":"Unban User"),1)]),_:1},8,["disabled"])])):p("",!0)]),_:1})]),_:1})):p("",!0),i.value.isDeleted?(a(),U(t(W),{key:1,class:"border-destructive"},{default:r(()=>[n(t(Z),{class:"pb-3"},{default:r(()=>[n(t(X),{class:"text-lg text-destructive"},{default:r(()=>[...d[28]||(d[28]=[v("User is Deleted",-1)])]),_:1}),n(t(te),{class:"text-xs"},{default:r(()=>[...d[29]||(d[29]=[v(" This user's account has been deleted. Their email has been anonymized and they cannot log in. ",-1)])]),_:1})]),_:1}),n(t(K),null,{default:r(()=>[e("dl",Jf,[e("div",null,[d[30]||(d[30]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Anonymized Email ",-1)),e("dd",Qf,s(i.value.email),1)])]),st.value?(a(),l("div",Yf,s(st.value),1)):p("",!0)]),_:1})]),_:1})):p("",!0),i.value.isVerificationRequired?(a(),U(t(W),{key:2,class:"border-warning"},{default:r(()=>[n(t(Z),{class:"pb-3"},{default:r(()=>[n(t(X),{class:"text-warning text-lg"},{default:r(()=>[...d[31]||(d[31]=[v("Verification Required",-1)])]),_:1}),n(t(te),{class:"text-xs"},{default:r(()=>[...d[32]||(d[32]=[v(" This user must complete ID verification to access offers and surveys ",-1)])]),_:1})]),_:1}),n(t(K),null,{default:r(()=>[e("dl",Kf,[e("div",null,[d[33]||(d[33]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Required At ",-1)),e("dd",Wf,s(ye(i.value.verificationRequiredAt)),1)]),e("div",null,[d[34]||(d[34]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Required By ",-1)),e("dd",Zf,s(i.value.verificationRequiredBy?.email||"-"),1)])]),pe.value?(a(),l("div",Xf,s(pe.value),1)):p("",!0),t(D)("manage-user-status")?(a(),l("div",ev,[n(t(j),{onClick:Ys,disabled:ve.value,variant:"outline",size:"sm"},{default:r(()=>[v(s(ve.value?"Processing...":"Remove Verification Requirement"),1)]),_:1},8,["disabled"])])):p("",!0)]),_:1})]),_:1})):p("",!0),Xe.value.length>0?(a(),U(t(W),{key:3,class:"border-warning"},{default:r(()=>[n(t(Z),{class:"pb-3"},{default:r(()=>[n(t(X),{class:"text-warning text-lg"},{default:r(()=>[...d[35]||(d[35]=[v("Reward Held by Tremendous",-1)])]),_:1}),n(t(te),{class:"text-xs"},{default:r(()=>[v(s(Xe.value.length)+" redemption"+s(Xe.value.length!==1?"s":"")+" "+s(Xe.value.length!==1?"were":"was")+" flagged by Tremendous fraud rules when the user tried to claim. The redemption still shows as completed on our side. ",1)]),_:1})]),_:1}),n(t(K),null,{default:r(()=>[e("div",tv,[qs.value?(a(),l("span",sv," Matched a Tremendous fraud list ")):p("",!0),d[36]||(d[36]=e("a",{href:"#redemptions",class:"text-xs underline underline-offset-2"}," View in redemptions ",-1))])]),_:1})]),_:1})):p("",!0),e("div",av,[d[40]||(d[40]=e("div",null,null,-1)),e("div",ov,[!i.value.isBanned&&t(D)("manage-user-status")?(a(),U(t(j),{key:0,onClick:Gs,size:"sm",variant:"destructive"},{default:r(()=>[...d[37]||(d[37]=[v(" Ban User ",-1)])]),_:1})):p("",!0),!i.value.isDeleted&&t(D)("manage-user-status")?(a(),U(t(j),{key:1,onClick:Ks,disabled:yt.value,size:"sm",variant:"destructive"},{default:r(()=>[v(s(yt.value?"Deleting...":"Delete User"),1)]),_:1},8,["disabled"])):p("",!0),!i.value.isBanned&&!i.value.isDeleted&&!i.value.isVerificationRequired&&t(D)("manage-user-status")?(a(),U(t(j),{key:2,onClick:Qs,disabled:ve.value,size:"sm",variant:"outline",class:z(gt.value?"border-amber-500 text-amber-600 hover:bg-amber-50 dark:text-amber-400 dark:hover:bg-amber-950":"")},{default:r(()=>[gt.value?(a(),U(t(Sa),{key:0,class:"mr-1 h-3.5 w-3.5"})):p("",!0),v(" "+s(ve.value?"Processing...":gt.value?"Re-request ID Verification":"Require ID Verification"),1)]),_:1},8,["disabled","class"])):p("",!0),!i.value.isBanned&&!i.value.isDeleted&&t(D)("manage-auto-approve")?(a(),U(t(j),{key:3,onClick:Ws,disabled:kt.value,size:"sm",variant:i.value.autoApproveRedemptions?"default":"outline"},{default:r(()=>[v(s(kt.value?"Processing...":i.value.autoApproveRedemptions?"Auto-Approve: ON":"Auto-Approve: OFF"),1)]),_:1},8,["disabled","variant"])):p("",!0),t(D)("credit-users")?(a(),U(t(j),{key:4,onClick:d[1]||(d[1]=_=>ft.value=!0),size:"sm"},{default:r(()=>[...d[38]||(d[38]=[v(" Credit User ",-1)])]),_:1})):p("",!0),!i.value.isBanned&&!i.value.isDeleted&&t(D)("manage-config")?(a(),U(t(j),{key:5,onClick:Zs,size:"sm",variant:i.value.surveyConversionRate!==null?"default":"outline"},{default:r(()=>[v(" Survey Rate: "+s(i.value.surveyConversionRate!==null?(i.value.surveyConversionRate*100).toFixed(0)+"%":"Default ("+(i.value.defaultSurveyConversionRate*100).toFixed(0)+"%)"),1)]),_:1},8,["variant"])):p("",!0),n(t(j),{onClick:ea,size:"sm",variant:"outline"},{default:r(()=>[n(t(Ra),{class:"mr-1 h-3.5 w-3.5"}),d[39]||(d[39]=v(" Add Note ",-1))]),_:1})])]),at.value?(a(),l("div",nv,s(at.value),1)):p("",!0),ge.value.length?(a(),U(Ef,{key:5,notes:ge.value,class:"mb-4",onDeleted:sa},null,8,["notes"])):p("",!0),e("div",lv,[n(wf,{userData:i.value,socialAccounts:Ne.value,referralCount:_e.value.length,surveyReconciliationStats:I.value,emailHistory:Le.value,verisoulLinkedAccounts:Me.value,onOpenReferralsModal:js,onAdjustSurveyReconDebt:d[2]||(d[2]=_=>pt.value=!0)},null,8,["userData","socialAccounts","referralCount","surveyReconciliationStats","emailHistory","verisoulLinkedAccounts"]),n(t(W),null,{default:r(()=>[n(t(Z),{class:"pb-3"},{default:r(()=>[n(t(X),{class:"text-lg"},{default:r(()=>[...d[41]||(d[41]=[v("Registration Information",-1)])]),_:1}),n(t(te),{class:"text-xs"},{default:r(()=>[...d[42]||(d[42]=[v("Device and location details",-1)])]),_:1})]),_:1}),n(t(K),null,{default:r(()=>[e("dl",rv,[e("div",null,[d[43]||(d[43]=e("dt",{class:"text-xs font-medium text-muted-foreground"}
2," IP Address ",-1)),e("dd",dv,[e("div",null,s(i.value.registrationIpAddress||"-"),1),L.value.length>0?(a(),l("button",{key:0,onClick:Bs,class:"mt-1 inline-block cursor-pointer text-xs text-blue-600 underline hover:text-blue-800"},s(L.value.length)+" other user"+s(L.value.length>1?"s":""),1)):p("",!0)])]),e("div",null,[d[44]||(d[44]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Click ID ",-1)),e("dd",iv,[i.value.externalClickId?(a(),l("div",uv,[e("span",{class:"max-w-[120px] truncate",title:i.value.externalClickId},s(i.value.externalClickId),9,cv),e("button",{onClick:d[3]||(d[3]=_=>es(i.value.externalClickId)),class:"flex-shrink-0 cursor-pointer rounded p-0.5 hover:bg-muted",title:"Copy to clipboard"},[Vt.value===i.value.externalClickId?(a(),U(t(Be),{key:0,class:"h-3 w-3 text-green-600"})):(a(),U(t(bs),{key:1,class:"h-3 w-3 text-muted-foreground"}))])])):(a(),l("span",mv,"-")),h.value.length>0?(a(),l("button",{key:2,onClick:Os,class:"mt-1 inline-block cursor-pointer text-xs text-blue-600 underline hover:text-blue-800"},s(h.value.length)+" other user"+s(h.value.length>1?"s":""),1)):p("",!0)])]),e("div",null,[d[45]||(d[45]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Device Type ",-1)),e("dd",fv,s(i.value.registrationDeviceType||"-"),1)]),e("div",null,[d[46]||(d[46]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Browser ",-1)),e("dd",vv,s(i.value.registrationBrowser||"-"),1)]),e("div",null,[d[47]||(d[47]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Platform ",-1)),e("dd",pv,s(i.value.registrationPlatform||"-"),1)]),e("div",null,[d[48]||(d[48]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Country ",-1)),e("dd",xv,s(i.value.registrationCountryName?`${i.value.registrationCountryName} (${i.value.registrationCountryCode})`:"-"),1)]),e("div",null,[d[49]||(d[49]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," State ",-1)),e("dd",gv,s(i.value.registrationState||"-"),1)]),e("div",null,[d[50]||(d[50]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," City ",-1)),e("dd",yv,s(i.value.registrationCity||"-"),1)]),e("div",null,[d[51]||(d[51]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Timezone ",-1)),e("dd",kv,s(i.value.timezone||"-"),1)]),e("div",null,[d[52]||(d[52]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Latency ",-1)),e("dd",bv,s(i.value.registrationLatencyMs?`${i.value.registrationLatencyMs}ms`:"-"),1)]),e("div",hv,[d[53]||(d[53]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Browser Languages ",-1)),e("dd",_v,s(i.value.registrationBrowserLanguages?.join(", ")||"-"),1)]),e("div",null,[d[54]||(d[54]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Registration Flow ",-1)),e("dd",wv,s(i.value.registrationFlow||"-"),1)]),e("div",null,[d[55]||(d[55]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," App Source ",-1)),e("dd",$v,s(i.value.registrationAppSource||"-"),1)]),e("div",Cv,[d[56]||(d[56]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Referral URL ",-1)),e("dd",Sv,s(i.value.registrationReferralUrl||"-"),1)]),e("div",Rv,[d[57]||(d[57]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," User Agent ",-1)),e("dd",Av,s(i.value.registrationUserAgent||"-"),1)]),e("div",Dv,[d[58]||(d[58]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Registered At ",-1)),e("dd",Iv,s(ye(i.value.createdAt)),1)]),e("div",null,[d[59]||(d[59]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Channel ",-1)),e("dd",Tv,s(i.value.channel||"-"),1)]),e("div",null,[d[60]||(d[60]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Campaign ID ",-1)),e("dd",Ev,s(i.value.campaignId||"-"),1)]),e("div",null,[d[61]||(d[61]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Ad Set ID ",-1)),e("dd",Vv,s(i.value.adSetId||"-"),1)]),e("div",null,[d[62]||(d[62]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Ad ID ",-1)),e("dd",Nv,s(i.value.adId||"-"),1)])])]),_:1})]),_:1})]),e("div",Lv,[n(Er,{"verisoul-checks":N.value,"latest-verisoul-check":xe.value,"latest-sumsub-check":P.value,"user-uuid":i.value?.uuid||null,"median-latency":ie.value,"click-timezones":he.value,"click-languages":ue.value},null,8,["verisoul-checks","latest-verisoul-check","latest-sumsub-check","user-uuid","median-latency","click-timezones","click-languages"]),e("div",Mv,[m.value.length>0?(a(),U(Oi,{key:0,checks:m.value},null,8,["checks"])):p("",!0),n(t(W),{id:"profiler",class:"scroll-mt-12"},{default:r(()=>[n(t(Z),{class:"pb-3"},{default:r(()=>[n(t(X),{class:"text-lg"},{default:r(()=>[...d[63]||(d[63]=[v("Profiler Information",-1)])]),_:1})]),_:1}),n(t(K),null,{default:r(()=>[e("dl",Uv,[e("div",null,[d[64]||(d[64]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Date of Birth ",-1)),e("dd",Pv,s(c.value?.dateOfBirth||"-"),1)]),e("div",null,[d[65]||(d[65]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Gender ",-1)),e("dd",Fv,s(c.value?.gender||"-"),1)]),e("div",null,[d[66]||(d[66]=e("dt",{class:"text-xs font-medium text-muted-foreground"}
2," Zip Code ",-1)),e("dd",qv,s(c.value?.zipCode||"-"),1)])])]),_:1})]),_:1}),H.value.length>0?(a(),U(t(W),{key:1,class:"scroll-mt-12"},{default:r(()=>[n(t(Z),{class:"pb-2"},{default:r(()=>[n(t(X),{class:"text-lg"},{default:r(()=>[...d[67]||(d[67]=[v("BitLabs Status",-1)])]),_:1}),n(t(te),{class:"text-xs"},{default:r(()=>[v(s(H.value.length)+" state change"+s(H.value.length!==1?"s":""),1)]),_:1})]),_:1}),n(t(K),{class:"pt-0"},{default:r(()=>[e("div",zv,[e("table",Bv,[d[68]||(d[68]=e("thead",null,[e("tr",{class:"border-b"},[e("th",{class:"px-2 py-1.5 text-left font-medium"}," Date "),e("th",{class:"px-2 py-1.5 text-left font-medium"}," Status "),e("th",{class:"px-2 py-1.5 text-left font-medium"}," Reason ")])],-1)),e("tbody",null,[(a(!0),l(B,null,G(H.value,_=>(a(),l("tr",{key:_.id,class:"border-b hover:bg-muted/50"},[e("td",Ov,s(ye(_.createdAt)),1),e("td",jv,[e("span",{class:z({"font-semibold text-red-600":_.banStatus==="banned","text-green-600":_.banStatus==="activated"})},s(_.banStatus),3)]),e("td",Gv,s(_.banReason||"-"),1)]))),128))])])])]),_:1})]),_:1})):p("",!0),n(Oo,{checks:Q.value},null,8,["checks"]),n(t(W),{id:"phone",class:"scroll-mt-12"},{default:r(()=>[n(t(Z),{class:"pb-2"},{default:r(()=>[n(t(X),{class:"text-lg"},{default:r(()=>[...d[69]||(d[69]=[v("Phone Verification",-1)])]),_:1})]),_:1}),n(t(K),{class:"pt-0"},{default:r(()=>[F.value?(a(),l("div",Hv,[e("div",Jv,[e("div",Qv,[e("span",Yv,s(F.value.phoneNumber),1),e("a",{href:`https://dashboard.verisoul.ai/babki/manual-lookup/phone/${F.value.phoneNumber.replace(/^\+/,"")}`,target:"_blank",rel:"noopener noreferrer",class:"text-green-600 hover:text-green-800 dark:text-green-400 dark:hover:text-green-300",title:"Lookup in Verisoul"},[n(t(je),{class:"h-3.5 w-3.5"})],8,Kv)]),F.value.lineType||F.value.carrierName?(a(),l("div",Wv,[F.value.lineType?(a(),l("span",Zv,s(F.value.lineType),1)):p("",!0),F.value.carrierName?(a(),l("span",Xv,s(F.value.carrierName),1)):p("",!0)])):p("",!0),F.value.cnamLookupPerformedAt?(a(),l("div",ep,[e("div",tp,[d[70]||(d[70]=e("span",{class:"font-medium"},"CNAM:",-1)),F.value.cnamName?(a(),l("span",sp,s(F.value.cnamName),1)):(a(),l("span",ap," No name found "))]),F.value.cnamNameMatches!==null?(a(),l("div",op,[F.value.cnamNameMatches?(a(),l("span",np,[n(t(Be),{class:"h-3 w-3"}),d[71]||(d[71]=v(" Name matches ",-1))])):(a(),l("span",lp," Name mismatch "))])):p("",!0)])):p("",!0)])])):(a(),l("div",rp,[...d[72]||(d[72]=[e("p",{class:"text-sm text-orange-600"}," No verified phone ",-1)])])),V.value.length>0?(a(),l("div",dp,[e("h3",ip," Failed Attempts ("+s(V.value.length)+") ",1),e("div",up,[e("table",cp,[d[73]||(d[73]=e("thead",null,[e("tr",{class:"border-b"},[e("th",{class:"px-2 py-1.5 text-left font-medium"}," Phone Number "),e("th",{class:"px-2 py-1.5 text-left font-medium"}," Carrier "),e("th",{class:"px-2 py-1.5 text-center font-medium"}," Attempts "),e("th",{class:"px-2 py-1.5 text-left font-medium"}," First Tried "),e("th",{class:"px-2 py-1.5 text-left font-medium"}," Last Tried ")])],-1)),e("tbody",null,[(a(!0),l(B,null,G(V.value,_=>(a(),l("tr",{key:_.id,class:"border-b hover:bg-muted/50"},[e("td",mp,s(_.phoneNumber),1),e("td",fp,[_.carrierName||_.lineType?(a(),l("span",vp,[v(s(_.carrierName||"")+" ",1),_.lineType?(a(),l("span",pp," ("+s(_.lineType)+") ",1)):p("",!0)])):(a(),l("span",xp,"-"))]),e("td",gp,s(_.verificationAttempts),1),e("td",yp,s(ye(_.createdAt)),1),e("td",kp,s(ye(_.updatedAt)),1)]))),128))])])])])):p("",!0)]),_:1})]),_:1})])]),e("div",bp,[n(t(W),null,{default:r(()=>[n(t(Z),{class:"pb-3"},{default:r(()=>[n(t(X),{class:"text-lg"},{default:r(()=>[...d[74]||(d[74]=[v("Unique Devices (Last 30 Days)",-1)])]),_:1}),n(t(te),{class:"text-xs"},{default:r(()=>[v(s(M.value.length)+" unique device"+s(M.value.length!==1?"s":"")+" from impressions and clicks",1)]),_:1})]),_:1}),n(t(K),null,{default:r(()=>[M.value.length===0?(a(),l("div",hp," No devices found ")):(a(),l("div",_p,[e("table",wp,[d[75]||(d[75]=e("thead",null,[e("tr",{class:"border-b"},[e("th",{class:"px-2 py-1.5 text-left font-medium"}," Device Type "),e("th",{class:"px-2 py-1.5 text-left font-medium"}," Browser "),e("th",{class:"px-2 py-1.5 text-left font-medium"}," Platform "),e("th",{class:"px-2 py-1.5 text-left font-medium"}
2," Timezone ")])],-1)),e("tbody",null,[(a(!0),l(B,null,G(M.value,(_,ze)=>(a(),l("tr",{key:ze,class:"border-b hover:bg-muted/50"},[e("td",$p,s(_.deviceType||"-"),1),e("td",Cp,s(_.browser||"-"),1),e("td",Sp,s(_.platform||"-"),1),e("td",Rp,s(_.timezone||"-"),1)]))),128))])])]))]),_:1})]),_:1}),n(t(W),null,{default:r(()=>[n(t(Z),{class:"pb-3"},{default:r(()=>[n(t(X),{class:"text-lg"},{default:r(()=>[...d[76]||(d[76]=[v("Unique Locations (Last 30 Days)",-1)])]),_:1}),n(t(te),{class:"text-xs"},{default:r(()=>[v(s(q.value.length)+" unique location"+s(q.value.length!==1?"s":"")+" from impressions and clicks",1)]),_:1})]),_:1}),n(t(K),null,{default:r(()=>[q.value.length===0?(a(),l("div",Ap," No locations found ")):(a(),l("div",Dp,[e("table",Ip,[d[77]||(d[77]=e("thead",null,[e("tr",{class:"border-b"},[e("th",{class:"px-2 py-1.5 text-left font-medium"}," City "),e("th",{class:"px-2 py-1.5 text-left font-medium"}," State "),e("th",{class:"px-2 py-1.5 text-left font-medium"}," Country ")])],-1)),e("tbody",null,[(a(!0),l(B,null,G(q.value,(_,ze)=>(a(),l("tr",{key:ze,class:"border-b hover:bg-muted/50"},[e("td",Tp,s(_.city||"-"),1),e("td",Ep,s(_.state||"-"),1),e("td",Vp,s(_.countryName?`${_.countryName} (${_.countryCode})`:"-"),1)]))),128))])])]))]),_:1})]),_:1})]),(a(),U(al,{key:i.value.id,conversions:x.value,clicks:R.value,"event-benchmarks":A.value,onOpenGameVariantModal:cs,onReverseReconciliation:na},null,8,["conversions","clicks","event-benchmarks"])),(a(),U(Vm,{key:i.value.id,"survey-conversions":C.value,onOpenSurveyClickModal:Ut},null,8,["survey-conversions"])),n(gc,{redemptions:T.value,"processing-redemption-id":He.value,error:De.value,onApprove:aa,onReject:oa},null,8,["redemptions","processing-redemption-id","error"]),(a(),U(du,{key:i.value.id,"ledger-entries":k.value},null,8,["ledger-entries"])),(a(),U(wn,{key:i.value.id,clicks:R.value,"is-loading":w.value,error:b.value,onOpenGameVariantModal:cs,onOpenSurveyClickFromClick:zs,onCopyToClipboard:es},null,8,["clicks","is-loading","error"])),n(Cl,{"feedback-surveys":Ce.value},null,8,["feedback-surveys"]),(a(),U(ku,{key:i.value.id,"user-id":i.value.id},null,8,["user-id"]))],64)):y.value&&!$.value&&!i.value?(a(),l("div",Np," No user found. Try searching with a different ID, UUID, or email. ")):p("",!0),n(t(oe),{open:Pt.value,"onUpdate:open":d[4]||(d[4]=_=>Pt.value=_)},{default:r(()=>[n(t(le),{class:"max-h-[95vh] !w-[95vw] !max-w-[1400px] overflow-y-auto"},{default:r(()=>[n(t(re),null,{default:r(()=>[n(t(ne),null,{default:r(()=>[...d[78]||(d[78]=[v("Users with Same IP Address",-1)])]),_:1}),n(t(me),null,{default:r(()=>[v(s(L.value.length)+" other user"+s(L.value.length>1?"s":"")+" registered from "+s(i.value?.registrationIpAddress),1)]),_:1})]),_:1}),e("div",Lp,[e("table",Mp,[d[80]||(d[80]=e("thead",null,[e("tr",{class:"border-b"},[e("th",{class:"px-4 py-3 text-left font-medium"}," UUID "),e("th",{class:"px-4 py-3 text-left font-medium"}," Name "),e("th",{class:"px-4 py-3 text-left font-medium"}," Email "),e("th",{class:"px-4 py-3 text-left font-medium"}," Registered "),e("th",{class:"px-4 py-3 text-left font-medium"}," Actions ")])],-1)),e("tbody",null,[(a(!0),l(B,null,G(L.value,_=>(a(),l("tr",{key:_.id,class:"border-b hover:bg-muted/50"},[e("td",Up,s(_.uuid),1),e("td",Pp,s(_.name),1),e("td",Fp,s(_.email),1),e("td",qp,s(ye(_.createdAt)),1),e("td",zp,[e("a",{href:`/dash/users?search=${_.uuid}`,target:"_blank",class:"inline-flex items-center gap-1 text-xs text-blue-600 hover:text-blue-800 hover:underline"},[n(t(Ee),{class:"h-3 w-3"}),d[79]||(d[79]=v(" View ",-1))],8,Bp)])]))),128))])])])]),_:1})]),_:1},8,["open"]),n(t(oe),{open:Ft.value,"onUpdate:open":d[5]||(d[5]=_=>Ft.value=_)},{default:r(()=>[n(t(le),{class:"max-h-[95vh] !w-[95vw] !max-w-[1400px] overflow-y-auto"},{default:r(()=>[n(t(re),null,{default:r(()=>[n(t(ne),null,{default:r(()=>[...d[81]||(d[81]=[v("Users with Same Click ID",-1)])]),_:1}),n(t(me),null,{default:r(()=>[v(s(h.value.length)+" other user"+s(h.value.length>1?"s":"")+" registered with click ID "+s(i.value?.externalClickId),1)]),_:1})]),_:1}),e("div",Op,[e("table",jp,[d[83]||(d[83]=e("thead",null,[e("tr",{class:"border-b"},[e("th",{class:"px-4 py-3 text-left font-medium"}," UUID "),e("th",{class:"px-4 py-3 text-left font-medium"}," Name "),e("th",{class:"px-4 py-3 text-left font-medium"}," Email "),e("th",{class:"px-4 py-3 text-left font-medium"}," Registered "),e("th",{class:"px-4 py-3 text-left font-medium"}," Actions ")])],-1)),e("tbody",null,[(a(!0),l(B,null,G(h.value,_=>(a(),l("tr",{key:_.id,class:"border-b hover:bg-muted/50"},[e("td",Gp,s(_.uuid),1),e("td",Hp,s(_.name),1),e("td",Jp,s(_.email),1),e("td",Qp,s(ye(_.createdAt)),1),e("td",Yp,[e("a",{href:`/dash/users?search=${_.uuid}`,target:"_blank",class:"inline-flex items-center gap-1 text-xs text-blue-600 hover:text-blue-800 hover:underline"},[n(t(Ee),{class:"h-3 w-3"}),d[82]||(d[82]=v(" View ",-1))],8,Kp)])]))),128))])])])]),_:1})]),_:1},8,["open"]),n(t(oe),{open:qt.value,"onUpdate:open":d[6]||(d[6]=_=>qt.value=_)},{default:r(()=>[n(t(le),{class:"max-h-[95vh] !w-[95vw] !max-w-[1400px] overflow-y-auto"},{default:r(()=>[n(t(re),null,{default:r(()=>[n(t(ne),null,{default:r(()=>[...d[84]||(d[84]=[v("Referred Users",-1)])]),_:1}),n(t(me),null,{default:r(()=>[v(s(_e.value.length)+" user"+s(_e.value.length>
21?"s":"")+" referred by "+s(i.value?.name||i.value?.email),1)]),_:1})]),_:1}),e("div",Wp,[e("table",Zp,[d[86]||(d[86]=e("thead",null,[e("tr",{class:"border-b"},[e("th",{class:"px-4 py-3 text-left font-medium"}," UUID "),e("th",{class:"px-4 py-3 text-left font-medium"}," Name "),e("th",{class:"px-4 py-3 text-left font-medium"}," Email "),e("th",{class:"px-4 py-3 text-left font-medium"}," Registered "),e("th",{class:"px-4 py-3 text-left font-medium"}," Actions ")])],-1)),e("tbody",null,[(a(!0),l(B,null,G(_e.value,_=>(a(),l("tr",{key:_.id,class:"border-b hover:bg-muted/50"},[e("td",Xp,s(_.uuid),1),e("td",e1,s(_.name),1),e("td",t1,s(_.email),1),e("td",s1,s(ye(_.createdAt)),1),e("td",a1,[e("a",{href:`/dash/users?search=${_.uuid}`,target:"_blank",class:"inline-flex items-center gap-1 text-xs text-blue-600 hover:text-blue-800 hover:underline"},[n(t(Ee),{class:"h-3 w-3"}),d[85]||(d[85]=v(" View ",-1))],8,o1)])]))),128))])])])]),_:1})]),_:1},8,["open"]),n(t(oe),{open:ot.value,"onUpdate:open":d[9]||(d[9]=_=>ot.value=_)},{default:r(()=>[n(t(le),{class:"max-w-md"},{default:r(()=>[n(t(re),null,{default:r(()=>[n(t(ne),null,{default:r(()=>[...d[87]||(d[87]=[v("Survey Conversion Rate",-1)])]),_:1}),n(t(me),null,{default:r(()=>[v(" Set a custom conversion rate for this user (0 to 1). Leave empty to use the default rate ("+s(i.value?(i.value.defaultSurveyConversionRate*100).toFixed(0):70)+"%). ",1)]),_:1})]),_:1}),e("form",{onSubmit:Ae(Xs,["prevent"]),class:"space-y-4"},[e("div",null,[n(t(Re),{for:"conversionRateModal",class:"text-sm"},{default:r(()=>[...d[88]||(d[88]=[v("Conversion Rate (0.00 - 1.00)",-1)])]),_:1}),n(t(be),{id:"conversionRateModal",modelValue:nt.value,"onUpdate:modelValue":d[7]||(d[7]=_=>nt.value=_),type:"number",step:"0.01",min:"0",max:"1",placeholder:"e.g. 0.70 for 70%",disabled:Pe.value,class:"mt-1"},null,8,["modelValue","disabled"])]),Ie.value?(a(),l("div",n1,s(Ie.value),1)):p("",!0),e("div",l1,[n(t(j),{type:"button",variant:"outline",onClick:d[8]||(d[8]=_=>ot.value=!1),disabled:Pe.value},{default:r(()=>[...d[89]||(d[89]=[v(" Cancel ",-1)])]),_:1},8,["disabled"]),n(t(j),{type:"submit",disabled:Pe.value},{default:r(()=>[v(s(Pe.value?"Updating...":"Update Rate"),1)]),_:1},8,["disabled"])])],32)]),_:1})]),_:1},8,["open"]),n(t(oe),{open:lt.value,"onUpdate:open":d[12]||(d[12]=_=>lt.value=_)},{default:r(()=>[n(t(le),{class:"max-w-md"},{default:r(()=>[n(t(re),null,{default:r(()=>[n(t(ne),null,{default:r(()=>[...d[90]||(d[90]=[v("Add Staff Note",-1)])]),_:1}),n(t(me),null,{default:r(()=>[...d[91]||(d[91]=[v(" Visible to all staff on this user's lookup page. Notes cannot be edited once saved. ",-1)])]),_:1})]),_:1}),e("form",{onSubmit:Ae(ta,["prevent"]),class:"space-y-4"},[e("div",null,[n(t(Re),{for:"noteBody",class:"text-sm"},{default:r(()=>[...d[92]||(d[92]=[v("Note",-1)])]),_:1}),n(t(Ca),{id:"noteBody",modelValue:Te.value,"onUpdate:modelValue":d[10]||(d[10]=_=>Te.value=_),placeholder:"What did you find or do?",disabled:Fe.value,class:"mt-1 min-h-24 text-sm"},null,8,["modelValue","disabled"])]),qe.value?(a(),l("div",r1,s(qe.value),1)):p("",!0),e("div",d1,[n(t(j),{type:"button",variant:"outline",onClick:d[11]||(d[11]=_=>lt.value=!1),disabled:Fe.value},{default:r(()=>[...d[93]||(d[93]=[v(" Cancel ",-1)])]),_:1},8,["disabled"]),n(t(j),{type:"submit",disabled:Fe.value||!Te.value.trim()},{default:r(()=>[v(s(Fe.value?"Saving...":"Save Note"),1)]),_:1},8,["disabled"])])],32)]),_:1})]),_:1},8,["open"]),n(t(oe),{open:We.value,"onUpdate:open":d[15]||(d[15]=_=>We.value=_)},{default:r(()=>[n(t(le),{class:"max-w-md"},{default:r(()=>[n(t(re),null,{default:r(()=>[n(t(ne),null,{default:r(()=>[...d[94]||(d[94]=[v("Ban User",-1)])]),_:1}),n(t(me),null,{default:r(()=>[...d[95]||(d[95]=[v(" Select a reason for banning this user. They will be immediately logged out and blocked from accessing the app. ",-1)])]),_:1})]),_:1}),e("div",i1,[n(t(Vf),{modelValue:Ue.value,"onUpdate:modelValue":d[13]||(d[13]=_=>Ue.value=_),class:"space-y-3"},{default:r(()=>[(a(),l(B,null,G(os,_=>e("div",{key:_.value,class:"flex items-center space-x-3"},[n(t(Nf),{id:_.value,value:_.value},null,8,["id","value"]),n(t(Re),{for:_.value,class:"cursor-pointer"},{default:r(()=>[v(s(_.label),1)]),_:2},1032,["for"])])),64))]),_:1},8,["modelValue"])]),fe.value?(a(),l("div",u1,s(fe.value),1)):p("",!0),e("div",c1,[n(t(j),{t
2ype:"button",variant:"outline",onClick:d[14]||(d[14]=_=>We.value=!1),disabled:we.value},{default:r(()=>[...d[96]||(d[96]=[v(" Cancel ",-1)])]),_:1},8,["disabled"]),n(t(j),{variant:"destructive",disabled:we.value||!Ue.value,onClick:Hs},{default:r(()=>[v(s(we.value?"Banning...":"Ban User"),1)]),_:1},8,["disabled"])])]),_:1})]),_:1},8,["open"]),n(t(oe),{open:Ze.value,"onUpdate:open":d[17]||(d[17]=_=>Ze.value=_)},{default:r(()=>[n(t(le),{class:"max-w-md"},{default:r(()=>[n(t(re),null,{default:r(()=>[n(t(ne),null,{default:r(()=>[...d[97]||(d[97]=[v("Re-request ID Verification",-1)])]),_:1}),n(t(me),null,{default:r(()=>[...d[98]||(d[98]=[v(" This user has already completed ID verification. Requiring it again will block them from offers and surveys until they complete a new check. ",-1)])]),_:1})]),_:1}),Se.value?(a(),l("dl",m1,[e("div",null,[d[99]||(d[99]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Completed ",-1)),e("dd",f1,s(ye(Se.value.createdAt)),1)]),e("div",null,[d[100]||(d[100]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Decision ",-1)),e("dd",v1,[e("span",{class:z(["font-medium",t(Jt)(Se.value.decision)])},s(Se.value.decision||"-"),3)])]),e("div",null,[d[101]||(d[101]=e("dt",{class:"text-xs font-medium text-muted-foreground"}," Risk Score ",-1)),e("dd",p1,[Se.value.riskScore!==null?(a(),l("span",{key:0,class:z(["font-mono",t(Ts)(Se.value.riskScore)])},s((Se.value.riskScore*100).toFixed(1))+"% ",3)):(a(),l("span",x1,"-"))])])])):p("",!0),pe.value?(a(),l("div",g1,s(pe.value),1)):p("",!0),e("div",y1,[n(t(j),{type:"button",variant:"outline",onClick:d[16]||(d[16]=_=>Ze.value=!1),disabled:ve.value},{default:r(()=>[...d[102]||(d[102]=[v(" Cancel ",-1)])]),_:1},8,["disabled"]),n(t(j),{variant:"destructive",disabled:ve.value,onClick:fs},{default:r(()=>[v(s(ve.value?"Processing...":"Require Verification Again"),1)]),_:1},8,["disabled"])])]),_:1})]),_:1},8,["open"]),n(yi,{open:et.value,variant:ns.value,"event-conversions":rs.value,"manual-credits":us.value,"click-id":ls.value,click:is.value,"user-id":i.value?.id??null,"event-benchmarks":A.value,"content-id":ds.value,"onUpdate:open":d[18]||(d[18]=_=>et.value=_),onCreditEvent:Us,onApproveHeld:Ps},null,8,["open","variant","event-conversions","manual-credits","click-id","click","user-id","event-benchmarks","content-id"]),n(cm,{open:tt.value,"survey-conversion":ms.value,"user-id":i.value?.id??null,"onUpdate:open":d[19]||(d[19]=_=>tt.value=_),onCreditClick:Ls,onCreditScreenoutTopUp:Ms},null,8,["open","survey-conversion","user-id"]),n(dl,{open:ft.value,"is-processing":Nt.value,error:vt.value,"onUpdate:open":d[20]||(d[20]=_=>ft.value=_),onCredit:Vs},null,8,["open","is-processing","error"]),i.value?(a(),U(xo,{key:3,open:pt.value,"is-processing":Lt.value,error:xt.value,"current-debt":i.value.surveyReconDebt,"relief-applied":i.value.reliefApplied,"onUpdate:open":d[21]||(d[21]=_=>pt.value=_),onAdjust:Ns},null,8,["open","is-processing","error","current-debt","relief-applied"])):p("",!0)]))}});export{$0 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.