1import{_ as $}from"./SectionCard.b1264c1b.js";import{_ as S}from"./ReportShell.c2c5d944.js";import{u as C}from"./useReportCall.1e465ba1.js";import{d as h,o,b as c,u as a,i as f,p as U,J as q,v as B,g as N,c as V,h as w,w as T,t as F,a as k,l as R}from"./index.be450d7f.js";import{_ as O}from"./AdvertiserReport.6bfc5210.js";import{_ as P}from"./TeamReport.6ee91122.js";import{g as G}from"./firestoreCache.990f7c83.js";import"./moment.9709ab41.js";const I=h({__name:"ApolloReport",setup(n){const{isLoading:v,error:e,errorMessage:l,generalReport:t,detailedReports:i,run:u}=C("getApolloAdminReport"),y=[{key:"type",label:"Summary"},{key:"count",label:"Ads",align:"center"},{key:"views",label:"Viewers",align:"center"},{key:"rate",label:"Rate",align:"center"},{key:"revenue",label:"Revenue",align:"right"}],g=[{key:"title",label:"Program",width:"30%"},{key:"type",label:"Product"},{key:"date",label:"Date"},{key:"count",label:"Ads",align:"center"},{key:"views",label:"Viewers",align:"center"},{key:"rate",label:"Rate",align:"center"},{key:"revenue",label:"Revenue",align:"right"}],m=({startDate:r,endDate:d})=>u({startDate:r,endDate:d});return(r,d)=>(o(),c(S,{"general-columns":y,"detail-columns":g,"general-report":a(t),"detailed-reports":a(i),"is-loading":a(v),error:a(e),"error-message":a(l),"submit-label":"Generate Apollo report",onSubmit:m},null,8,["general-report","detailed-reports","is-loading","error","error-message"]))}}),D=h({__name:"SalesRepReport",props:{userId:null},setup(n){const v=n,{isLoading:e,error:l,errorMessage:t,generalReport:i,detailedReports:u,run:y}=C("getSalesRepReport"),g=[{key:"type",label:"Summary"},{key:"count",label:"Ads",align:"center"},{key:"views",label:"Viewers",align:"center"},{key:"rate",label:"Rate",align:"center"},{key:"revenue",label:"Revenue",align:"right"}],m=[{key:"title",label:"Program",width:"30%"},{key:"sport",label:"Sport"},{key:"count",label:"Ads",align:"center"},{key:"views",label:"Viewers",align:"center"},{key:"rate",label:"Rate",align:"center"},{key:"revenue",label:"Revenue",align:"right"}],r=({startDate:d,endDate:p})=>y({userId:v.userId,startDate:d,endDate:p});return(d,p)=>(o(),c(S,{"general-columns":g,"detail-columns":m,"general-report":a(i),"detailed-reports":a(u),"is-loading":a(e),error:a(l),"error-message":a(t),"submit-label":"Generate sales rep report",onSubmit:r},null,8,["general-report","detailed-reports","is-loading","error","error-message"]))}}),A=n=>({label:`Select a ${n}`,value:{id:"",email:""}}),x=n=>{const v=f([A(n)]),e=f(!1),l=f(!1),t=async(i=!1)=>{if(!(l.value&&!i)){e.value=!0;try{const u=U.firestore().collection("users").where("role","==",n),g=(await G(u)).docs.map(m=>{var d,p,s,b;const r=m.data();return{label:`${(d=r.firstName)!=null?d:""} ${(p=r.lastName)!=null?p:""}`.trim()||((s=r.email)!=null?s:m.id),value:{id:m.id,email:(b=r.email)!=null?b:""}}});v.value=[A(n),...q.exports.sortBy(g,"label")],l.value=!0}catch(u){console.error(`Failed to load ${n} users`,u)}finally{e.value=!1}}};return{options:v,loading:e,loaded:l,load:t,reload:()=>t(!0)}},K={class:"mx-auto max-w-6xl px-4 py-6 lg:px-8 lg:py-8"},L=k("header",{class:"mb-6"},[k("h1",{class:"font-sans text-3xl font-black text-classic"},"Reports"),k("p",{class:"mt-1 text-sm text-gray-600"}," Generate revenue and performance reports across accounts and partners. ")],-1),M={class:"flex flex-wrap items-end gap-4"},E={key:4,class:"rounded-2xl border border-dashed border-gray-300 bg-base-100 px-6 py-12 text-center text-sm text-gray-600"},Z=h({__name:"AdminReports",setup(n){const v=[{label:"Apollo Streams",value:"apollo"},{label:"Advertiser",value:"advertiser"},{label:"Sales Rep",value:"salesRep"},{label:"Team",value:"team"}],e=f("apollo"),l=f({id:"",email:""}),t=f({id:"",email:""}),i=f({id:"",email:""}),u=x("advertiser"),y=x("salesRep"),g=x("team"),m=u.options,r=y.options,d=g.options;return B(e,p=>{p==="advertiser"?u.load():p==="salesRep"?y.load():p==="team"&&g.load()},{immediate:!0}),(p,s)=>{const b=N("FormKit");return o(),V("div",K,[L,w($,{title:"Report type",sub:"Choose what to report on",class:"mb-6"},{default:T(()=>[k("div",M,[w(b,{name:"reportType",type:"select",label:"Report type",options:v,modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=_=>e.value=_),validation:"required"},null,8,["modelValue"]),e.value==="advertiser"?(o(),c(b,{key:0,name:"advertiser",type:"select",label:"Advertiser",options:a(m),modelValue:l.value,"onUpdate:modelValue":s[1]||(s[1]=_=>l.value=_),validation:"required"},null,8,["options","modelValue"])):R("",!0),e.value==="salesRep"?(o(),c(b,{key:1,name:"salesRep",type:"select",label:"Sales rep",options:a(r),modelValue:t.value,"onUpdate:modelValue":s[2]||(s[2]=_=>t.value=_),validation:"required"},null,8,["options","modelValue"])):R("",!0),e.value==="team"?(o(),c(b,{key:2,name:"team",type:"select",label:"Team user",options:a(d),modelValue:i.value,"onUpdate:modelValue":s[3]||(s[3]=_
1=>i.value=_),validation:"required"},null,8,["options","modelValue"])):R("",!0)])]),_:1}),e.value==="apollo"?(o(),c(I,{key:0})):e.value==="advertiser"&&l.value.id?(o(),c(O,{key:1,"user-id":l.value.id},null,8,["user-id"])):e.value==="salesRep"&&t.value.id?(o(),c(D,{key:2,"user-id":t.value.id},null,8,["user-id"])):e.value==="team"&&i.value.email?(o(),c(P,{key:3,"user-email":i.value.email},null,8,["user-email"])):(o(),V("div",E," Pick a "+F(e.value)+" account above to load the report. ",1))])}}});export{Z 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.