1import{_ as Ia,u as Ma,a as Va,v as M,w as aa,o as Sa,d as r,e as t,i as C,t as i,g as u,p as f,l as b,m as _,F as y,h as Ca,j as H,n as P,r as g,I as D,J as ea,K as ta,y as c,x as $a,D as za,B as n,k as Ba}from"./app-C0n_JTkv.js";import{u as Na}from"./usePageCopilot-B7AsJxhB.js";import{s as la}from"./index-vY2Q_Eje.js";import{s as La}from"./index-B5kKiMyU.js";import"./index-CM6NdNo-.js";import"./index-B9kf4D2m.js";import"./index-C5NXtoNO.js";import"./index-DHSvnWIN.js";import"./index-DbGgezv_.js";import"./index-ClLssthH.js";const Ra={class:"dashboard vox-page-shell","data-pilot-form":"","data-pilot-page":"home","data-pilot-label":"InÃcio (Dashboard)"},Ea={class:"page-header"},Ha={class:"page-header-title"},Pa={class:"dash-hero"},Ta={key:0,class:"hero-block"},Ya={class:"hero-label"},Aa={class:"hero-block"},Ga={class:"hero-label"},ja={class:"hero-controls"},Ua={key:0,class:"hero-dates"},Wa={class:"hero-period num"},Xa={key:0,class:"date-warning"},qa={key:1,class:"loading-state"},Ja={key:0,class:"empty-state"},Ka={class:"empty-title"},Oa={class:"empty-hint"},Za={class:"empty-cta"},Qa={key:0,class:"daily-card"},ae={class:"daily-title"},ee={class:"daily-legend"},te={class:"daily-bars"},le=["onMouseenter"],se={class:"daily-x num"},oe={class:"daily-tip-date num"},ne={class:"daily-tip-row daily-tip-total num"},ie={class:"channels-grid"},re={class:"channel-head"},ue={class:"channel-title"},de={class:"channel-body"},ce={class:"channel-metrics"},ve={class:"metric-label"},pe={key:0,class:"channel-spark",viewBox:"0 0 86 30","aria-hidden":"true"},me=["points"],he=["cx","cy"],_e={class:"rank-card"},ke={class:"rank-title"},ye={class:"rank"},be={class:"rank-name"},fe={class:"rank-track"},ge={class:"rank-val num"},we=140,xe={__name:"HomeView",setup(De){const{t:s}=Ma(),T=Va(),V=$a();Na(za({}),{page:"home"});const $=M(!1),v=M(null),w=M(null),F=M("last30"),sa=c(()=>[{value:"last30",label:s("dashboard.last30")},{value:"thisMonth",label:s("dashboard.thisMonth")},{value:"custom",label:s("dashboard.customPeriod")}]);function X(a){const e=new Date;if(e.setHours(0,0,0,0),a==="last30"){const o=new Date(e);o.setDate(o.getDate()-30);const d=new Date(e);return d.setDate(d.getDate()-1),{dataIni:o,dataFim:d}}if(a==="thisMonth"){const o=new Date(e.getFullYear(),e.getMonth(),1),d=new Date(e);return d.setDate(d.getDate()-1),d<o?{dataIni:o,dataFim:o}:{dataIni:o,dataFim:d}}return null}const q=X("last30"),m=M({dataIni:q.dataIni,dataFim:q.dataFim});aa(F,a=>{const e=X(a);e&&(m.value.dataIni=e.dataIni,m.value.dataFim=e.dataFim,U())}),aa(()=>[m.value.dataIni,m.value.dataFim],()=>{F.value==="custom"&&m.value.dataIni&&m.value.dataFim&&U()});const oa=c(()=>{if(F.value!=="custom"||!m.value.dataIni&&!m.value.dataFim)return!1;const a=new Date;a.setHours(0,0,0,0);const e=new Date(m.value.dataIni),o=new Date(m.value.dataFim);return e>=a||o>=a}),na=c(()=>{const a=m.value.dataIni,e=m.value.dataFim;return!a||!e?"":`${Q(a)} â ${Q(e)}`}),S=c(()=>{if(!v.value)return!0;const a=v.value.totais;return a.calls===0&&a.cc_ok===0&&a.sms_ok===0&&a.wa_ok===0&&a.email_ok===0&&a.ai_sessions===0}),ia=c(()=>T.permissions||{}),J=c(()=>{const a=T.user;return(a==null?void 0:a.revenda)==1||(a==null?void 0:a.revenda_id)>0}),ra=c(()=>{const a=T.permissions;return Number(a.valor)>0||Number(a.level)>99}),Y=c(()=>v.value?!!v.value.can_ver_valor:ra.value),ua=c(()=>!v.value||S.value),da=c(()=>!v.value||!v.value.can_ver_valor?"â":S.value?s("dashboard.semDados"):j(v.value.totais.total_value)),K=c(()=>{if(!v.value)return null;const a=v.value.totais;return(a.calls_ok||0)+(a.cc_ok||0)+(a.sms_ok||0)+(a.wa_ok||0)+(a.email_ok||0)+(a.ai_sessions||0)});function O(a,e){return e==null||!(Number(e)>0)?null:(Number(a)-Number(e))/Number(e)*100}const z=c(()=>{var a,e;return!((a=v.value)!=null&&a.can_ver_valor)||!w.value||S.value?null:O(v.value.totais.total_value||0,(e=w.value.prev)==null?void 0:e.total_value)}),B=c(()=>{var a;return!w.value||S.value?null:O(K.value||0,(a=w.value.prev)==null?void 0:a.interacoes)});function Z(a){return Math.abs(a).toLocaleString("pt-BR",{maximumFractionDigits:1})+"%"}const A=[{key:"voz",field:"calls_ok"},{key:"cc",field:"cc_ok"},{key:"sms",field:"sms_ok"},{key:"wa",field:"wa_ok"},{key:"email",field:"email_ok"},{key:"ai",field:"ai_sessions"}],N=c(()=>{var a;return((a=w.value)==null?void 0:a.series)||[]}),ca=c(()=>N.value.length>=2),va=c(()=>A.map(a=>({key:a.key,label:G(a.key)})));function G(a){return{voz:s("dashboard.chVoz"),cc:s("dashboard.chCc"),sms:s("dashboard.sms"),wa:s("dashboard.whatsapp"),email:s("dashboard.email"),ai:s("dashboard.chIa")}[a]||a}const pa=c(()=>{let a=1;
1return N.value.forEach(e=>{let o=0;A.forEach(d=>{o+=e[d.field]||0}),o>a&&(a=o)}),a}),L=c(()=>N.value.map(a=>{let e=0;const o=[];return A.forEach(d=>{const l=a[d.field]||0;e+=l,l>0&&o.push({key:d.key,v:l,h:Math.max(1,Math.round(l/pa.value*we))})}),{date:a.date,label:fa(a.date),total:e,segs:o}})),ma=c(()=>{const a=L.value,e=a.length;return e===0?[]:e<=5?a.map(o=>o.label):[0,Math.round((e-1)*.25),Math.round((e-1)*.5),Math.round((e-1)*.75),e-1].map(o=>a[o].label)}),x=M(null),R=c(()=>x.value===null?null:L.value[x.value]||null),ha=c(()=>{const a=L.value.length;if(x.value===null||a===0)return"50%";const e=(x.value+.5)/a*100;return Math.min(88,Math.max(12,e))+"%"});function _a(a){const e=N.value;if(e.length<2)return null;const o=e.map(W=>W[a]||0),d=Math.max(...o),l=Math.min(...o),h=d-l||1,p=o.map((W,xa)=>{const Da=xa/(o.length-1)*82+2,Fa=26-(W-l)/h*22;return Da.toFixed(1)+","+Fa.toFixed(1)}),I=p[p.length-1].split(",");return{points:p.join(" "),lastX:I[0],lastY:I[1]}}const ka=c(()=>{if(!v.value)return[];const a=v.value.totais,e=!!v.value.can_ver_valor,o=l=>({value:j(l),label:s("dashboard.valor"),cls:"metric-money"});return[{key:"voz",field:"calls_ok",icon:"pi pi-phone",title:s("dashboard.ligFeitas"),to:"/relatorios/chamadas",metrics:[{value:k(a.calls),label:s("dashboard.feitas"),cls:""},{value:k(a.calls_ok),label:s("dashboard.atendidas"),cls:"metric-highlight"}],valor:a.voicer_value},{key:"cc",field:"cc_ok",icon:"pi pi-headphones",title:s("dashboard.ligRecebidas"),to:"/contact-center/relatorios/receptivos",metrics:[{value:k(a.cc_ok),label:s("dashboard.recebidas"),cls:"metric-highlight"}],valor:a.cc_value},{key:"sms",field:"sms_ok",icon:"pi pi-envelope",title:s("dashboard.sms"),to:"/sms/cdr",metrics:[{value:k(a.sms_ok),label:s("dashboard.enviados"),cls:"metric-highlight"}],valor:a.sms_value},{key:"wa",field:"wa_ok",icon:"pi pi-whatsapp",title:s("dashboard.whatsapp"),to:"/whatsapp/cdr",metrics:[{value:k(a.wa_ok),label:s("dashboard.enviados"),cls:"metric-highlight"}],valor:a.wa_value},{key:"email",field:"email_ok",icon:"pi pi-at",title:s("dashboard.email"),to:"/email/enviados",metrics:[{value:k(a.email_ok),label:s("dashboard.enviados"),cls:"metric-highlight"}],valor:a.email_value},{key:"ai",field:"ai_sessions",icon:"pi pi-microchip-ai",title:s("dashboard.agentesIa"),to:"/ia/relatorios/uso-agentes",metrics:[{value:k(a.ai_sessions),label:s("dashboard.sessoes"),cls:"metric-highlight"},{value:ga(a.ai_tokens),label:s("dashboard.tokens"),cls:""}],valor:a.ai_value}].map(l=>{const h=l.metrics.slice();return e&&h.push(o(l.valor)),{...l,metrics:h,spark:_a(l.field)}})}),ya=c(()=>{var a;return(a=v.value)!=null&&a.can_ver_valor?s("dashboard.valorPorCanal"):s("dashboard.volumeCanal")}),ba=c(()=>{if(!v.value)return[];const a=v.value.totais,e=!!v.value.can_ver_valor,o=[{key:"voz",valor:a.voicer_value||0,vol:a.calls_ok||0},{key:"cc",valor:a.cc_value||0,vol:a.cc_ok||0},{key:"sms",valor:a.sms_value||0,vol:a.sms_ok||0},{key:"wa",valor:a.wa_value||0,vol:a.wa_ok||0},{key:"email",valor:a.email_value||0,vol:a.email_ok||0},{key:"ai",valor:a.ai_value||0,vol:a.ai_sessions||0}],d=p=>e?p.valor:p.vol;o.sort((p,I)=>d(I)-d(p));const l=o.reduce((p,I)=>p+d(I),0),h=d(o[0])||1;return o.map(p=>({key:p.key,label:G(p.key),width:(d(p)/h*100).toFixed(1)+"%",pct:l>0?Math.round(d(p)/l*100):0,display:e?j(p.valor):k(p.vol)}))});function E(a){if(!a)return"";const e=new Date(a);return e.getFullYear()+"-"+String(e.getMonth()+1).padStart(2,"0")+"-"+String(e.getDate()).padStart(2,"0")}function Q(a){if(!a)return"";const e=new Date(a);return String(e.getDate()).padStart(2,"0")+"/"+String(e.getMonth()+1).padStart(2,"0")+"/"+e.getFullYear()}function fa(a){if(!a)return"";const e=String(a).split("-");return e.length===3?`${e[2]}/${e[1]}`:a}function k(a){return a==null?"â":Number(a).toLocaleString("pt-BR")}function j(a){return a==null?"â":Number(a).toLocaleString("pt-BR",{minimumFractionDigits:2,maximumFractionDigits:2})}function ga(a){return a==null?"â":a>=1e6?(a/1e6).toFixed(1)+"M":a>=1e3?(a/1e3).toFixed(1)+"k":Number(a).toLocaleString("pt-BR")}async function U(){$.value=!0,v.value=null,w.value=null,x.value=null;const a={data_ini:E(m.value.dataIni),data_fim:E(m.value.dataFim)};try{const[e,o]=await Promise.all([ea("dashboard","summary",a),ea("dashboard","daily",a).catch(d=>null)]);v.value=e,w.value=o}catch{}finally{$.value=!1}}function wa(){V.push({name:"relatorio-resumo-periodo",query:{data_ini:E(m.value.dataIni),data_fim:E(m.value.dataFim)}})}return Sa(()=>{U()}),(a,e)=>{const o=ta("VoxPageChannelIcon"),d=ta("router-link");return n(),r("div",Ra,[t("div",Ea,[t("div",Ha,[C(o),t("h2",null,i(u(s)("dashboard.title")),1)])]),t("div",Pa,[Y.value?(n(),r("div",Ta,[t("span",Ya,i(u(s)("dashboard.totalGeral"))+" R$",1),t("span",{class:f(["hero-value hero-money num",{"is-empty":ua.value}])},i(da.value),3),z.value!==null?(n(),r("span",{key:0,class:f(["hero-delta num",z.value<0?"is-down":"is-up"])},[t("i",{class:f(z.value<0?"pi pi-arrow-down-right":"pi pi-arrow-up-right")},null,2),b(" "+i(Z(z.value))+" "+i(u(s)("dashboard.vsAnterior")),1)],2)):_("",!0)])):_("",!0),t("div",Aa,[t("span",Ga,i(u(s)("dashboard.interacoes")),1),t("span",{class:f(["hero-value num",{"hero-value-sub":Y.value}])},i(k(K.value)),3),B.value!==null?(n(),r("span",{key:0,class:f(["hero-delta num",B.value<0?"is-down":"is-up"])},[t("i",{class:f(B.value<0?"pi pi-arrow-down-right":"pi pi-arrow-up-right")},null,2),b(" "+i(Z(B.value)),1),Y.value?_("",!0):(n(),r(y,{key:0},[b(i(u(s)("dashboard.vsAnterior")),1)],64))],2)):_("",!0)]),e[9]||(e[9]=t("div",{class:"hero-spacer"},null,-1)),t("div",ja,[C(u(La),{modelValue:F.value,"onUpdate:modelValue":e[0]||(e[0]=l=>F.value=l),options:sa.value,optionValue:"value",optionLabel:"label",allowEmpty:!1,size:"small"},null,8,["modelValue","options"]),F.value==="custom"?(n(),r("div",Ua,[C(u(la),{modelValue:m.value.dataIni,"onUpdate:modelValue":e[1]||(e[1]=l=>m.value.dataIni=l),dateFormat:"dd/mm/yy",showButtonBar:"",placeholder:u(s)("app.dateFrom"),size:"small",class:"dashboard-date-picker"},null,8,["modelValue","placeholder"]),C(u(la),{modelValue:m.value.dataFim,"onUpdate:modelValue":e[2]||(e[2]=l=>m.value.dataFim=l),dateFormat:"dd/mm/yy",showButtonBar:"",placeholder:u(s)("app.dateTo"),size:"small",class:"dashboard-date-picker"},null,8,["modelValue","placeholder"])])):_("",!0),t("div",Wa,[t("span",null,i(na.value),1),t("a",{href:"#",class:"hero-detalhes",onClick:Ca(wa,["prevent"])},[b(i(u(s)("dashboard.detalhes"))+" ",1),e[8]||(e[8]=t("i",{class:"pi pi-arrow-right"},null,-1))])])])]),oa.value?(n(),r("div",Xa,[e[10]||(e[10]=t("i",{class:"pi pi-exclamation-triangle"},null,-1)),b(" "+i(u(s)("dashboard.dateWarning")),1)])):_("",!0),$.value&&!v.value?(n(),r("div",qa,[e[11]||(e[11]=t("i",{class:"pi pi-spin pi-spinner",style:{"font-size":"2rem"}},null,-1)),t("p",null,i(u(s)("app.loading")),1)])):_("",!0),v.value&&!$.value?(n(),r(y,{key:2},[S.value?(n(),r("div",Ja,[e[12]||(e[12]=t("i",{class:"pi pi-inbox empty-icon"},null,-1)),t("p",Ka,i(u(s)("dashboard.emptyTitle")),1),t("p",Oa,i(u(s)("dashboard.emptyHint")),1),t("div",Za,[ia.value.programa?(n(),H(u(P),{key:0,label:u(s)("dashboard.ctaVoz"),icon:"pi pi-phone",size:"small",onClick:e[3]||(e[3]=l=>u(V).push("/campanhas/novo/C"))},null,8,["label"])):_("",!0),J.value?_("",!0):(n(),H(u(P),{key:1,label:u(s)("dashboard.ctaSms"),icon:"pi pi-envelope",size:"small",outlined:"",onClick:e[4]||(e[4]=l=>u(V).push("/sms/enviar"))},null,8,["label"])),J.value?_("",!0):(n(),H(u(P),{key:2,label:u(s)("dashboard.ctaWa"),icon:"pi pi-w
1hatsapp",size:"small",outlined:"",onClick:e[5]||(e[5]=l=>u(V).push("/whatsapp/enviar"))},null,8,["label"])),C(u(P),{label:u(s)("dashboard.ctaIa"),icon:"pi pi-microchip-ai",size:"small",outlined:"",onClick:e[6]||(e[6]=l=>u(V).push("/agentes/todos"))},null,8,["label"])])])):(n(),r(y,{key:1},[ca.value?(n(),r("div",Qa,[t("p",ae,[b(i(u(s)("dashboard.atividadeDiaria"))+" ",1),t("span",ee,[(n(!0),r(y,null,g(va.value,l=>(n(),r("span",{key:l.key},[t("i",{style:D({background:`var(--vox-ch-${l.key})`})},null,4),b(i(l.label),1)]))),128))])]),t("div",{class:"daily-chart",onMouseleave:e[7]||(e[7]=l=>x.value=null)},[e[13]||(e[13]=t("div",{class:"daily-grid-lines"},[t("i",{style:{top:"0"}}),t("i",{style:{top:"50%"}}),t("i",{style:{bottom:"0"}})],-1)),t("div",te,[(n(!0),r(y,null,g(L.value,(l,h)=>(n(),r("div",{key:l.date,class:"daily-col",onMouseenter:p=>x.value=h},[(n(!0),r(y,null,g(l.segs,p=>(n(),r("i",{key:p.key,style:D({height:p.h+"px",background:`var(--vox-ch-${p.key})`})},null,4))),128))],40,le))),128))]),t("div",se,[(n(!0),r(y,null,g(ma.value,(l,h)=>(n(),r("span",{key:h},i(l),1))),128))]),R.value?(n(),r("div",{key:0,class:"daily-tip",style:D({left:ha.value})},[t("p",oe,i(R.value.label),1),(n(!0),r(y,null,g(R.value.segs,l=>(n(),r("p",{key:l.key,class:"daily-tip-row num"},[t("i",{style:D({background:`var(--vox-ch-${l.key})`})},null,4),t("span",null,i(G(l.key)),1),t("b",null,i(k(l.v)),1)]))),128)),t("p",ne,[t("span",null,i(u(s)("dashboard.total")),1),t("b",null,i(k(R.value.total)),1)])],4)):_("",!0)],32)])):_("",!0),t("div",ie,[(n(!0),r(y,null,g(ka.value,l=>(n(),H(d,{key:l.key,to:l.to,class:"channel-card",style:D({"--ch":`var(--vox-ch-${l.key})`})},{default:Ba(()=>[t("span",re,[e[14]||(e[14]=t("span",{class:"channel-node"},null,-1)),t("i",{class:f(l.icon)}
1,null,2),t("span",ue,i(l.title),1),e[15]||(e[15]=t("i",{class:"pi pi-arrow-right channel-open"},null,-1))]),t("span",de,[t("span",ce,[(n(!0),r(y,null,g(l.metrics,h=>(n(),r("span",{key:h.label,class:"metric"},[t("span",{class:f(["metric-value num",h.cls])},i(h.value),3),t("span",ve,i(h.label),1)]))),128))]),l.spark?(n(),r("svg",pe,[t("polyline",{points:l.spark.points},null,8,me),t("circle",{cx:l.spark.lastX,cy:l.spark.lastY,r:"2.6"},null,8,he)])):_("",!0)])]),_:2},1032,["to","style"]))),128))]),t("div",_e,[t("p",ke,i(ya.value),1),t("div",ye,[(n(!0),r(y,null,g(ba.value,l=>(n(),r("div",{key:l.key,class:"rank-row"},[t("span",be,[t("i",{style:D({background:`var(--vox-ch-${l.key})`})},null,4),b(i(l.label),1)]),t("span",fe,[t("span",{class:"rank-bar",style:D({width:l.width,background:`var(--vox-ch-${l.key})`})},null,4)]),t("span",ge,[b(i(l.display),1),t("small",null,i(l.pct)+"%",1)])]))),128))])])],64))],64)):_("",!0)])}}},Le=Ia(xe,[["__scopeId","data-v-1dcc300c"]]);export{Le 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.