PageSourceSearch

https://portal.clickheredigital.com/assets/ClientActivity-D9fMcLB7.js

js clickheredigital.com collected 2026-10-01 16:30:30 UTC 54,556 bytes, 1 lines download raw bytes

1import{o as _t,b as d,g as M,w as i,j as n,I as Ve,a6 as ut,h as c,M as We,f as v,t as E,aI as Ge,bu as Qt,A as Ae,av as ua,a7 as dt,L as ct,k as F,q as Ft,N as Je,U as da,r as u,c as O,d as h,dI as $e,u as zt,Q as ca,G as re,e as C,C as P,aB as jt,V as T,ai as st,B as lt,aw as rt,y as A,ao as ma,F as ee,m as ke,aR as fa,aS as va,aE as qe,aF as pa,aJ as Xt,v as w,ae as ea,bM as ga,bL as Pt,ag as ya,Y as se,dJ as nt,a as ta,s as it,ah as ba,aT as ha,aO as aa,aP as Da,a1 as Lt,aX as Ca,l as Nt,aH as xa,$ as Aa,aG as wa,ab as Ma,aK as la,E as Ut,bK as Ya,dK as na,au as He,a2 as ka,aY as Ia,dL as Sa,b0 as Ra,ay as ia,dj as Ot,aC as pe,n as Ea,as as qt,aZ as Va,aL as Ht,b$ as $a,aN as Ta,an as Oa,aD as Na,p as Gt,bU as Ua,dM as _a,dN as Fa,aQ as za}from"./index-DUWew8AW.js";import{_ as ja}from"./PageContent-_L2qDZ3g.js";import{P as Ba}from"./PageHeader-CuloWWA-.js";import{u as Pa}from"./useActivity-CzEyWAzE.js";import{u as La}from"./useClientReportDate-DFFdLVVu.js";import{u as qa}from"./useClipboard-DFAVkIcF.js";import{g as Ha}from"./scrollParent-Di4E7L43.js";import{i as oa}from"./isSameOrBefore-BF-giTYT.js";import{_ as Ga,E as Wt}from"./ExportOptions-Cla-Hnc6.js";import{u as Wa}from"./useClientReportGeneration-9IN3jLNY.js";import{V as Jt}from"./VCombobox-CSKIch14.js";import"./isSameOrAfter-B4dgXlH1.js";import"./CROReportResource-DifcnA-P.js";import"./ReportingResource-DVqEy9lw.js";const Ja={class:"text-sm text-gray-600 mb-4"},Ka={__name:"SetReminderDialog",props:{activity:{type:Object,required:!0},clientId:{type:[Number,String],required:!0},clientName:{type:String,default:""},activityTypeName:{type:String,default:""}},emits:["close","created"],setup(y,{emit:Y}){const m=y,V=Y,{showErrorNotification:U,showSuccessNotification:_}=zt(),z=u(!0),k=u(!1),q=u(null),D=u([]),I=u([]),K=u([]),ge=u(!1),ye=O(()=>ca.getters["authorization/currentUser"]),j=O(()=>h().add(1,"day").format("YYYY-MM-DD")),R=O(()=>D.value.length===2?[...D.value].sort()[0]:null),Z=O(()=>D.value.length===2?[...D.value].sort()[1]:null);function $(b){const o=m.activity.loggedAt||m.activity.fromDateVal||h().format("YYYY-MM-DD");q.value=h(o).add(b,"day").format("YYYY-MM-DD")}async function ue(){ge.value=!0;try{const b=await da.getUsersList({userTypeId:1});K.value=(b.data||[]).filter(o=>{var f;return o.id!==((f=ye.value)==null?void 0:f.id)&&o.active&&!o.isSuspended})}finally{ge.value=!1}}function Q(){z.value=!1,V("close")}async function H(){k.value=!0;try{await $e.createReminder({userId:ye.value.id,clientId:m.clientId,activityId:m.activity.id,remindAt:q.value,baselineStartDate:R.value,baselineEndDate:Z.value,subscriberIds:I.value,creatorName:ye.value.fullName}),_("Performance reminder created."),V("created"),Q()}catch{U("Error creating reminder.")}finally{k.value=!1}}return _t(()=>{ue()}),(b,o)=>(d(),M(Je,{modelValue:z.value,"onUpdate:modelValue":o[6]||(o[6]=f=>z.value=f),persistent:"","max-width":"520px",onKeydown:Ft(Q,["esc"])},{default:i(()=>[n(Ve,null,{default:i(()=>[n(ut,{onClose:Q},{default:i(()=>[...o[7]||(o[7]=[c("Set Performance Reminder",-1)])]),_:1}),n(We,null,{default:i(()=>[v("p",Ja,E(y.clientName)+" — "+E(y.activityTypeName),1),n(Ge,{"auto-commit":"",menu:"","nudge-right":"40",value:q.value,"display-format":"YYYY-MM-DD",min:j.value,label:"Reminder Date","prepend-inner-icon":"event",variant:"filled","hide-details":"",rules:[f=>!!f||"Reminder date is required"],onInput:o[0]||(o[0]=f=>q.value=f)},null,8,["value","min","rules"]),n(Qt,{class:"mt-2 mb-4"},{default:i(()=>[n(Ae,{size:"small",variant:"outlined",color:"primary",onClick:o[1]||(o[1]=f=>$(7))},{default:i(()=>[...o[8]||(o[8]=[c(" 7 days ",-1)])]),_:1}),n(Ae,{size:"small",variant:"outlined",color:"primary",onClick:o[2]||(o[2]=f=>$(14))},{default:i(()=>[...o[9]||(o[9]=[c(" 14 days ",-1)])]),_:1}),n(Ae,{size:"small",variant:"outlined",color:"primary",onClick:o[3]||(o[3]=f=>$(30))},{default:i(()=>[...o[10]||(o[10]=[c(" 30 days ",-1)])]),_:1})]),_:1}),n(Ge,{"auto-commit":"",menu:"","nudge-right":"40",range:"",value:D.value,"display-format":"YYYY-MM-DD",label:"Baseline Date Range","prepend-inner-icon":"event",variant:"filled","hide-details":"",rules:[f=>D.value.length===2||"Select both start and end dates"],onInput:o[4]||(o[4]=f=>D.value=f)},null,8,["value","rules"]),n(ua,{class:"mt-4",variant:"filled",multiple:"",chips:"","closable-chips":"",modelValue:I.value,"onUpdate:modelValue":o[5]||(o[5]=f=>I.value=f),items:K.value,loading:ge.value,"item-title":"fullName","
1item-value":"id",label:"Include others (optional)","hide-details":""},null,8,["modelValue","items","loading"])]),_:1}),n(dt,null,{default:i(()=>[n(ct),n(F,{variant:"text",color:"error",onClick:Q},{default:i(()=>[...o[11]||(o[11]=[c("Cancel",-1)])]),_:1}),n(F,{color:"primary",disabled:!q.value||D.value.length!==2,loading:k.value,onClick:H},{default:i(()=>[...o[12]||(o[12]=[c(" Create Reminder ",-1)])]),_:1},8,["disabled","loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"]))}};function sa(y){return y?y.replace(/<[^>]*>/g," ").replace(/\u200B/g,"").replace(/\u200C/g,"").replace(/\u200D/g,"").replace(/\uFEFF/g,"").replace(/&nbsp;/g," ").replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'").replace(/\s+/g," ").trim():""}function Za(y){return y?y.replace(/(?:<p>(?:<br\s*\/?>|\s|&nbsp;)*<\/p>)+$/i,""):""}function Qa(y){if(!y||y.indexOf("<p")===-1)return y||"";const Y=new DOMParser().parseFromString(y,"text/html");return Y.querySelectorAll("p").forEach(m=>{!m.closest("div.raw-html-embed")&&!m.getAttribute("style")&&m.setAttribute("style","margin: 0;")}),Y.body.innerHTML}function Xa(y,Y){const m=y.indexOf(Y);if(m===-1)return{before:"",after:"",totalWords:0};const V=y.substring(0,m).trim(),U=y.substring(m+Y.length).trim(),_=`${V} ${U}`.trim(),z=_?_.split(/\s+/).length:0;return{before:V,after:U,totalWords:z}}function ot(y){if(!y)return"";const Y=y.indexOf('<div class="raw-html-embed">');return Y===-1?y:y.substring(0,Y)}function el({isAIGenerated:y,originalAIContentText:Y,emailBody:m}){if(!y||!Y)return{sentState:null,needsClassification:!1};const V=ot(m||""),U=sa(V);if(U.includes(Y)){const{totalWords:_}=Xa(U,Y);return _===0?{sentState:"CLEAN",needsClassification:!1}:{sentState:"CLEAN",needsClassification:!0,currentContent:U}}return{sentState:"REVISED",needsClassification:!0,currentContent:U}}const tl={class:"ml-1"},al={class:"p-3"},ll={class:"p-3"},nl={key:0},il={key:1},ol={class:"p-3"},sl={key:0},rl={class:"px-5 py-1"},ul={class:"flex items-center space-x-3"},dl={key:0},cl=["href","download"],ml={key:1},fl={class:"px-5 py-1"},vl={key:1},pl={key:1,class:"text-grey text-xs leading-5"},gl={__name:"ComposeReportAttachments",props:{selectedReports:{type:Array,required:!0},client:{type:Object,required:!0},category:{required:!0},generatingReport:{type:Array,required:!0},reports:{type:Array,required:!0,default:()=>[]}},emits:["updateCategory","updateSelectedDateRange","updateSelectedMonth","addReportAttachments","removeReportAttachment"],setup(y,{emit:Y}){h.extend(oa);const m=y,V=Y,{requiredTextRule:U}=ea(),_=u(!1),z=u(!1),k=u([]),q=[{text:"General Report",value:"activity-email"},{text:"Mid-Month Report",value:"mid-month-activity-email"},{text:"End of Month Report",value:"end-of-month-activity-email"}],D=u(""),I=u(h().format("YYYY-MM")),K=u([h().startOf("month").format("YYYY-MM-DD"),h().subtract(1,"day").isBefore(h().startOf("month"))?h().startOf("month").format("YYYY-MM-DD"):h().subtract(1,"day").format("YYYY-MM-DD")]),ge=O(()=>h().subtract(1,"day").format("YYYY-MM-DD")),ye=O(()=>m.reports.filter(b=>b.function!==""&&!m.selectedReports.find(o=>o.function===b.function)));function j(){let b,o;if(D.value==="activity-email")b=h(K.value[0]).format("YYYY-MM-DD"),o=h(K.value[1]).format("YYYY-MM-DD");else{b=h(I.value).startOf("month").format("YYYY-MM-DD");const f=h(I.value).date(15),B=h().startOf("day"),te=h().subtract(1,"day").format("YYYY-MM-DD"),be=h(I.value).format("YYYY-MM")===h().startOf("month").format("YYYY-MM");o=te,D.value==="mid-month-activity-email"?(o=f.format("YYYY-MM-DD"),be&&B.isSameOrBefore(f)&&(o=te)):be||(o=h(I.value).endOf("month").format("YYYY-MM-DD"))}return{startDate:b,endDate:o}}function R(){k.value=[],_.value=!0}function Z(){_.value=!1,k.value=[]}function $(b){V("removeReportAttachment",b)}function ue(b){k.value=k.value.filter(o=>o.function!==b.function)}function Q(b){return k.value.some(o=>o.function===b.function)}async function H(){var f;const{startDate:b,endDate:o}=j();!((f=m.client)!=null&&f.id)||!b||!o||k.value.length===0||(z.value=!0,V("addReportAttachments",{tenantId:m.client.tenantId,id:m.client.id,slug:m.client.slug,name:m.client.name,groupId:m.client.groupId},b,o,k.value),Z())}return re(()=>m.category,b=>{D.value=b},{immediate:!0}),re(D,b=>{b==="end-of-month-activity-email"?I.value=h().subtract(1,"month").startOf("month").format("YYYY-MM"):b==="mid-month-activity-email"?I.value=h().startOf("month").format("YYYY-MM"):K.value=[h().startOf("month").format("YYYY-MM-DD"),h().subtract(1,"day").isBefore(h().startOf("month"))?h().startOf("month").format("YYYY-MM-DD"):h().subtract(1,"day").format("YYYY-MM-DD")]},{immediate:!0}),re(K,b=>{V("updateSelectedDateRange",b)},{deep:!0,immediate:!0}),re(I,b=>{V("updateSelectedMonth",b)},{immediate:!0}),re(()=>m.generatingReport,b=>{z.value=b.length>0},{immediate:!0}),(b,o)=>(d(),C("div",null,[n(lt,null,{default:i(()=>[n(P,{cols:"12",md:"12"},{default:i(()=>[v("h5",tl,[o[8]||(o[8]=c(" Reports ",-1)),n(jt,{location:"right"},{activator:i(({props:f})=>[n(T,st({class:"cursor-pointer"},f),{default:i(()=>[...o[6]||(o[6]=[c("mdi-help-circle-outline",-1)])]),_:1},16)]),default:i(()=>[o[7]||(o[7]=v("span",null,"Please select a category and date range before generating reports.",-1))]),_:1})])]),_:1})]),_:1}),n(lt,{class:"block lg:flex mx-1"},{default:i(()=>[n(P,{cols:"12",lg:"4",md:"5",class:"bg-gray-100"},{default:i(()=>[v("div",al,[n(rt,{clearable:"",placeholder:"Complete Category","hide-details":"",variant:"filled",items:q,rules:A(U),required:"","item-title":"text","item-value":"value",modelValue:D.value,"onUpdate:modelValue":[o[0]||(o[0]=f=>D.value=f),o[1]||(o[1]=f=>V("updateCategory",D.value))],disabled:z.value},null,8,["rules","modelValue","disabled"])]),v("div",ll,[D.value==="activity-email"?(d(),C("div",nl,[n(Ge,{menu:"",range:"",value:K.value,"display-format":"MM/DD/YYYY",max:ge.value,"prepe
1nd-inner-icon":"event","hide-details":"",variant:"filled",disabled:z.value,onInput:o[2]||(o[2]=f=>K.value=f)},null,8,["value","max","disabled"])])):(d(),C("div",il,[n(Ge,{menu:"",type:"month",value:I.value,"display-format":"MMMM YYYY","prepend-inner-icon":"event","hide-details":"",disabled:z.value,onInput:o[3]||(o[3]=f=>I.value=f)},null,8,["value","disabled"])]))]),v("div",ol,[n(F,{color:"primary",class:"text-white w-full",disabled:D.value===null,onClick:R},{default:i(()=>[n(T,{start:"",color:"white"},{default:i(()=>[...o[9]||(o[9]=[c("mdi-plus",-1)])]),_:1}),o[10]||(o[10]=c(" Attach A Report ",-1))]),_:1},8,["disabled"])])]),_:1}),n(P,{cols:"12",lg:"8",md:"7",class:"bg-gray-100 p-5"},{default:i(()=>[n(ma,null,{default:i(()=>[o[15]||(o[15]=v("thead",null,[v("tr",null,[v("th",{class:"text-left"},"Attached Report"),v("th",{class:"text-right"})])],-1)),y.selectedReports.length>0?(d(),C("tbody",sl,[(d(!0),C(ee,null,ke(y.selectedReports,(f,B)=>(d(),C("tr",{key:B},[v("td",rl,[v("div",ul,[v("span",null,E(f.name),1),f.link&&f.generating===!1?(d(),C("span",dl,[v("a",{class:"text-sm",href:f.link,download:`${y.client.name} - ${f.name}.${f.extension||"pdf"}`},[v("span",null,[n(T,{start:"",color:"primary",size:"small"},{default:i(()=>[...o[11]||(o[11]=[c(" fas fa-cloud-download-alt ",-1)])]),_:1}),o[12]||(o[12]=c(" Download ",-1))])],8,cl)])):(d(),C("span",ml,[n(T,null,{default:i(()=>[...o[13]||(o[13]=[c("fas fa-spin fa-spinner",-1)])]),_:1})]))])]),v("td",fl,[n(fa,null,{default:i(()=>[n(va,{action:"remove",disabled:y.generatingReport.length>0,onClick:te=>$(B)},null,8,["disabled","onClick"])]),_:2},1024)])]))),128))])):(d(),C("tbody",vl,[...o[14]||(o[14]=[v("tr",null,[v("td",{class:"text-center",colspan:"2"},[v("span",null,"No Reports Attached.")])],-1)])]))]),_:1})]),_:1})]),_:1}),n(Je,{ref:"attachmentDialog",modelValue:_.value,"onUpdate:modelValue":o[5]||(o[5]=f=>_.value=f),persistent:"","max-width":"720px",width:"95%"},{default:i(()=>[n(Ve,null,{default:i(()=>[n(ut,null,{default:i(()=>[...o[16]||(o[16]=[c("Attach A Report",-1)])]),_:1}),n(We,{class:"font-medium"},{default:i(()=>[o[17]||(o[17]=v("div",{class:"mb-4"},"Please select a report to generate and attach.",-1)),n(lt,null,{default:i(()=>[n(P,null,{default:i(()=>[n(rt,{"menu-props":{closeOnContentClick:!1},items:ye.value,modelValue:k.value,"onUpdate:modelValue":o[4]||(o[4]=f=>k.value=f),label:"Reports","item-title":"name","item-value":"route",variant:"filled",required:"",chips:"","closable-chips":"",multiple:"","return-object":""},{chip:i(({item:f,index:B})=>[B<3?(d(),M(Ae,{key:0,size:"small",closable:"","onClick:close":te=>ue(f)},{default:i(()=>[c(E(f.name),1)]),_:2},1032,["onClick:close"])):B===3?(d(),C("span",pl," +"+E(k.value.length-3)+" more ",1)):w("",!0)]),item:i(({item:f,props:B})=>[n(qe,st(B,{title:void 0}),{prepend:i(()=>[n(Xt,{"model-value":Q(f),readonly:"","hide-details":""},null,8,["model-value"])]),default:i(()=>[n(pa,null,{default:i(()=>[c(E(f.name),1)]),_:2},1024)]),_:2},1040)]),_:1},8,["items","modelValue"])]),_:1})]),_:1})]),_:1}),n(dt,null,{default:i(()=>[n(ct),n(F,{variant:"text",color:"error",onClick:Z},{default:i(()=>[...o[18]||(o[18]=[c("Cancel",-1)])]),_:1}),n(F,{color:"primary",onClick:H,disabled:k.value.length===0},{default:i(()=>[...o[19]||(o[19]=[c(" Attach ",-1)])]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]))}},yl={key:0,class:"mb-4"},bl={__name:"MADIRegenerateDialog",props:{show:{type:Boolean,default:!1},hasDrift:{type:Boolean,default:!1},loading:{type:Boolean,default:!1}},emits:["confirm","cancel"],setup(y,{emit:Y}){const m=y,V=Y,U=u("original"),_=u("");function z(){V("confirm",{source:m.hasDrift?U.value:"original",feedback:_.value||null})}function k(){V("cancel")}return re(()=>m.show,q=>{q&&(U.value="original",_.value="")}
1),(q,D)=>(d(),M(Je,{"model-value":y.show,"max-width":"550",persistent:"",onKeydown:Ft(k,["esc"])},{default:i(()=>[n(Ve,null,{default:i(()=>[n(ut,null,{prepend:i(()=>[n(T,null,{default:i(()=>[...D[2]||(D[2]=[c("fas fa-sync-alt",-1)])]),_:1})]),default:i(()=>[D[3]||(D[3]=c(" Regenerate with MADI ",-1))]),_:1}),n(We,null,{default:i(()=>[y.hasDrift?(d(),C("div",yl,[D[4]||(D[4]=v("p",{class:"font-bold mb-2"}," You've edited the AI-generated content. How would you like to regenerate? ",-1)),n(ga,{modelValue:U.value,"onUpdate:modelValue":D[0]||(D[0]=I=>U.value=I),class:"mt-0"},{default:i(()=>[n(Pt,{label:"Start fresh from original activity notes",value:"original"}),n(Pt,{label:"Refine my edited version",value:"edited"})]),_:1},8,["modelValue"])])):w("",!0),n(ya,{modelValue:_.value,"onUpdate:modelValue":D[1]||(D[1]=I=>_.value=I),label:"Optional feedback for MADI",placeholder:"e.g., Make it more concise, focus on PPC results...",rows:"3",variant:"filled","hide-details":""},null,8,["modelValue"])]),_:1}),n(dt,null,{default:i(()=>[n(ct),n(F,{variant:"text",color:"error",onClick:k,disabled:y.loading},{default:i(()=>[...D[5]||(D[5]=[c("Cancel",-1)])]),_:1},8,["disabled"]),n(F,{color:"primary",onClick:z,loading:y.loading},{default:i(()=>[n(T,{size:"small",start:""},{default:i(()=>[...D[6]||(D[6]=[c("fas fa-sync-alt",-1)])]),_:1}),D[7]||(D[7]=c(" Regenerate ",-1))]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["model-value"]))}},hl=["innerHTML"],Dl={key:0,class:"text-red-600 font-bold text-sm"},Cl={class:"text-center"},xl={key:1,class:"text-red-600 font-bold"},Al={class:"mt-4"},Kt=25,wl={__name:"ComposeEmail",props:{activities:{type:Array,required:!0},client:{type:Object,required:!0},activityTypes:{type:Array,required:!0},draft:{type:Object,required:!1},draftType:{type:String,required:!0},isMadiMode:{type:Boolean,default:!1}},emits:["close","updateDraft","deleteDraft"],setup(y,{emit:Y}){h.extend(oa);const m=y,V=Y,{showErrorNotification:U,showSuccessNotification:_,showWarningNotification:z,showErrorNotificationFromError:k}=zt(),{isMadiEnabled:q}=na(),{requiredTextRule:D,requiredArrayRule:I,validEmailRule:K,excludeCurrentUserEmailRule:ge,duplicateEmailRule:ye}=ea(),{currentUser:j}=la(),{can:R,canManage:Z}=ia(),$=O(()=>R("composeEmail","Clients")),ue=u(null),Q=Kt*1024*1024,H=u(!1),b=u([]),o=u([]),f=u(null),B=u([]),te=u(!1),be=u([]),{reports:de,reportFunctions:ne}=Wa(Ya(m,"client"),be),p=u({from:"",to:[],bcc:[],cc:null,subject:null,body:null,category:"activity-email",clientId:m.client.id,month:null}),ce=[1,12,45],G=u([]),W=u([]),ie=u([]),Ie=u([]),we=u([]),Me=u(!1),X=u({options:null}),he=u(!1),me=u(null),De=u([]),Se={"activity-email":"Custom Subject for Compose Email (General Report)","mid-month-activity-email":"Custom Subject for Compose Email (Mid-Month Report)","end-of-month-activity-email":"Custom Subject for Compose Email (End of Month Report)"},Ue=u(null),L=u(!1),fe=u(null),ae=u(!1),Te=u(!1),Ce=u([]),xe=u(null),Ye=u(null),_e=O(()=>{var t,e;return`${((t=j.value)==null?void 0:t.fullName)||"N/A"} <${((e=j.value)==null?void 0:e.email)||""}>`}),mt=O(()=>{const t=De.value.filter(l=>l.Contact.email).map(l=>({name:`${l.Contact.fullName} (${l.Contact.email})`,email:l.Contact.email.toLowerCase()})),e=ie.value.map(l=>({name:`${l.fullName} (${l.email})`,email:l.email.toLowerCase()})),a=se.uniqBy(e.concat(t),"email");return se.sortBy(a,"name")}),Fe=O(()=>Z("Clients")),oe=O(()=>{var e;const t=new Set([]);return(e=Ue.value)==null||e.forEach(a=>{if(ce.includes(a.clientUserTypeId)&&a.user){const{fullName:l,email:r}=a.user;t.add(`${l} <${r}>`)}}),Array.from(t).sort()}),Ke=O(()=>{var e,a;const t=[];return oe.value.includes(_e.value)||t.push({name:_e.value,email:(e=j.value)==null?void 0:e.email}),(a=Ue.value)==null||a.forEach(l=>{if(!ce.includes(l.clientUserTypeId)&&l.user){const{fullName:r,email:s}=l.user,g=`${r} <${s}>`;!oe.value.includes(g)&&!se.map(t,"email").includes(s)&&t.push({name:g,email:s})}}),se.sortBy(t,"name")}),ze=O(()=>{let t=0;return G.value.forEach(e=>{t+=Number(e.sizeInBytes)}),W.value.forEach(e=>{t+=Number(e.size)}),t>Q}),ft=O(()=>te.value&&!H.value&&!ze.value&&b.value.length===0),vt=O(()=>!L.value||!fe.value?!1:ot(p.value.body||"")!==fe.value),S=se.debounce(async function(){var r;const e={...p.value},a=new FormData;a.append("clientId",e.clientId),a.append("userId",(r=j.value)==null?void 0:r.id),a.append("draftType",m.draftType),Object.keys(e).forEach(s=>{let g=e[s];(s==="to"||s==="bcc")&&(g=g.map(x=>typeof x=="object"?x.email:x).filter(x=>x)),a.append(`data[email][${s}]`,g)}),a.append("data[selectedMonth]",f.value),a.append("data[selectedDateRange]",B.value.join(",")),a.append("data[activityAttachments]",JSON.stringify(G.value));for(let s=0;s<W.value.length;s++){const g=W.value[s];a.append(`attachmentTypes[${s}]`,"additionalAttachments"),a.append(`attachments[${s}]`,g)}const l=o.value.map(s=>s.function);a.append("data[reportAttachments]",JSON.stringify(l)),a.append("data[madiMetadata][isAIGenerated]",JSON.stringify(!!L.value)),fe.value&&a.append("data[madiMetadata][originalAIOutput]",fe.value),Ce.value.length>0&&a.append("data[madiMetadata][rawActivitiesForAI]",JSON.stringify(Ce.value)),xe.value&&a.append("data[madiMetadata][madiComposeLogId]",xe.value),Ye.value&&a.append("data[madiMetadata][originalAIContentText]",Ye.value),Me.value=!0,nt.saveDraft(a).then(s=>{V("updateDraft",s.data)})},5e3);async function pt(){await He.getClient(m.client.id,{withClientUsers:!0,withFields:["id","tenantId","name","slug"]}).then(t=>{Ue.value=t.data.ClientUsers||[]})}async function Ze(){var e,a,l;let t;t=await Wt.getExportOptionsById({userId:(e=j.value)==null?void 0:e.id,clientId:m.client.id}).then(r=>r.data),t||(t=await Wt.getExportOptionsById({userId:null,clientId:m.client.id}).then(r=>r.data),t&&(t.userId=(a=j.value)==null?void 0:a.id)),t||(t={clientId:m.client.id,userId:(l=j.value)==null?void 0:l.id,options:[]}),X.value=t}function je(){let t,e;if(p.value.category==="activity-email")t=h(B.value[0]).format("YYYY-MM-DD"),e=h(B.value[1]).format("YYYY-MM-DD");else{t=h(f.value).startOf("month").format("YYYY-MM-DD");const a=h(f.value).date(15),l=h().startOf("day"),r=h().subtract(1,"day").format("YYYY-MM-DD"),s=h(f.value).format("YYYY-MM")===h().startOf("month").format("YYYY-MM");e=r,p.value.category==="mid-month-activity-email"?(e=a.format("YYYY-MM-DD"),s&&l.isSameOrBefore(a)&&
1(e=r)):s||(e=h(f.value).endOf("month").format("YYYY-MM-DD"))}return{startDate:t,endDate:e}}function Qe(){const t=Ie.value.find(r=>r.setting===`${p.value.category}-message`);if(!t||!t.value)return"";const e=t.value.replaceAll(/\[client name\]/gi,m.client.name),{startDate:a}=je();let l=`<p>${Ra(e)}</p><br>`;return l=l.replaceAll(/\[month\]/gi,h(a).format("MMMM YYYY")),l}function gt(t){X.value={...t}}function yt(){var a;const t=Se[p.value.category],e=((a=we.value.find(l=>l.name===t))==null?void 0:a.id)??null;return m.client.ClientSettings.find(l=>l.settingId===e)}async function bt(){Ie.value=await ka.getTenantSettings().then(t=>t.data)}async function ht(){we.value=await He.getActiveSettings().then(t=>t.data)}function Xe(){let t="",e=yt();e||(e=Ie.value.find(l=>l.setting===`${p.value.category}-subject`)),e&&e.value&&(t=e.value.replaceAll(/\[client name\]/gi,m.client.name));const{startDate:a}=je();return t=t.replaceAll(/\[month\]/gi,h(a).format("MMMM YYYY")),t=t.replaceAll(/\[dealer code\]/gi,m.client.identifier||""),t}function et(t){var l,r;const{signature:e}=j.value||{};if(e)return`${t}<div class="raw-html-embed">${e}</div>`;const a=(l=j.value)!=null&&l.jobTitle?j.value.jobTitle:"";return`${t}<div class="raw-html-embed"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr valign="top"><td style="padding-right: 10px;"><img alt="logo" src="https://apps.clickheredigital.com/assets/images/click-
1here-digital-logo-2023-vertical.png" style="max-width: 205px; width: 205px; height: 105px; border-radius: 0px;"></td><td style="border-right: 1px solid rgb(69, 102, 142);"></td><td style="text-align: initial; font-family: Arial, san-serif; font-size: 12px; color: rgb(100, 100, 100); padding: 0px 10px;"><div><strong>${((r=j.value)==null?void 0:r.fullName)||""}</strong><br><span>${a}</span></div><table border="0" cellpadding="0" cellspacing="0" style="width: 470px; color: rgb(141, 141, 141);"><tbody><tr><td><p style="margin: 0px;"><a href="tel:12253830333" style="display: inline-block; color: rgb(141, 141, 141); text-decoration: none;">(o) 225-383-0333</a></p></td></tr><tr><td><p style="margin: 0px;"><a target="_blank" rel="noopener noreferrer" href="https://www.clickheredigital.com" style="display: inline-block; white-space: nowrap; color: rgb(141, 141, 141); text-decoration: none;">www.ClickHereDigital.com</a></p></td></tr></tbody></table><div style="margin-top: 10px;"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr style="padding-top: 10px;"><td align="left" style="padding-right: 5px;"><a target="_blank" rel="noopener noreferrer" href="https://www.facebook.com/ClickHereDigitalExpert"><img alt="Facebook" src="https://apps.clickheredigital.com/assets/images/facebook.png"></a></td><td align="left" style="padding-right: 5px;"><a target="_blank" rel="noopener noreferrer" href="https://www.linkedin.com/company/clickheredigital"><img alt="LinkedIn" src="https://apps.clickheredigital.com/assets/images/linkedin.png"></a></td></tr></tbody></table></div><div style="margin-top: 10px;"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr style="padding-top: 10px;"><td>Share your thoughts and insights about how I'm doing with my director: <a href="mailto:[email protected]">Click Here</a></td></tr></tbody></table></div></td></tr></tbody></table></div>`}function tt(){let t=Qe(),e=[];return se.sortBy(m.activityTypes,"position").forEach(l=>{let r=m.activities.filter(s=>s.typeId===l.id);if(r.length>0){t+=`<p><strong>${l.name}</strong></p>`,r=r.sort((g,x)=>g.loggedAt<x.loggedAt?1:-1);const s=g=>g==="Up"?"🚀":g==="Down"?"🔻":"➖";r.forEach(g=>{let{body:x}=g;g.performanceChange&&(x+=`<p><strong>Performance</strong> ${s(g.performanceChange)}</p>`,x+=`<p>${g.performanceNotes}</p>`,g.performanceRecommendation&&(x+=`<p><strong>Recommendation</strong> ${se.escape(g.performanceRecommendation)}</p>`)),t+=`${Za(x)}<p><br></p>`,g.attachments&&g.attachments.length>0&&(e=e.concat(g.attachments))})}}),t=et(t),{email:t,attachments:e}}function Oe(){b.value.length===0&&(o.value=[],S())}function Dt(t){const e=m.activityTypes.find(a=>a.id===t);return(e==null?void 0:e.name)??""}function Ct(t){G.value=G.value.filter(e=>e.id!==t)}async function xt(){const t=m.client.groupId?{groupId:m.client.groupId,clientId:m.client.id}:{clientId:m.client.id};ie.value=await He.getUsersFromClient(t).then(e=>e.data)}function At(){V("deleteDraft")}async function wt(t){var e,a;if(t.preventDefault(),(a=await((e=ue.value)==null?void 0:e.validate()))!=null&&a.valid)try{H.value=!0,me.value=null,p.value.month=f.value;const l=new FormData;Object.keys(p.value).forEach(s=>{let g=p.value[s];(s==="to"||s==="bcc")&&(g=g.map(x=>typeof x=="object"?x.email:x)),s==="body"&&(g=Qa(g)),l.append(s,g)});for(let s=0;s<G.value.length;s++)G.value[s]&&l.append("attachments",G.value[s].id);let r=0;for(r;r<W.value.length;r++){const s=W.value[r];s&&l.append(`attachments[${r}]`,s)}Object.values(o.value).forEach(s=>{s.name&&s.file&&(l.append(`attachments[${r}]`,s.file),l.append(`labels[${r}]`,`${s.name}.${s.extension||"pdf"}`),r+=1)}),he.value=!0,await $e.sendActivityEmail(l).then(async s=>{if(_(s.data.message),L.value&&xe.value)try{const{sentState:g,needsClassification:x,currentContent:le}=el({isAIGenerated:L.value,originalAIContentText:Ye.value,emailBody:p.value.body}),Re={logId:xe.value,sentState:g,...x&&{needsClassification:!0,originalAIText:Ye.value,currentContent:le}};await $e.markMadiComposeSent(Re)}catch(g){console.error("Failed to mark MADI compose log as sent:",g)}H.value=!1,he.value=!1,At(),V("close")}).catch(s=>{var g;me.value=((g=s==null?void 0:s.response)==null?void 0:g.data)||"There was an error sending the email."})}catch{U(),he.value=!1}finally{H.value=!1}}function Be(t){const e=o.value.findIndex(a=>a.name===t.name);o.value.splice(e,1)}async function Ne(t,e,a,l){b.value.push(l.name),o.value.push({...l,generating:!0}),await ne[l.function](t,e,a,X.value).then(r=>{r?(Be(l),o.value.push({...l,...r,generating:!1})):(Be(l),U(`There was an error while generating the "${l.name}" report. Please try again`))}).catch(()=>{Be(l)}).finally(()=>{b.value=b.value.filter(r=>r!==l.name)}),S()}async function Mt(){var Re;const{data:t,attachments:e}=se.cloneDeep(m.draft),{email:a,activityAttachments:l,reportAttachments:r}=t;
1Object.keys(a).forEach(N=>{a[N]==="null"&&(a[N]=null)}),a.clientId=Number(a.clientId),a.to=a.to?a.to.split(","):[],a.bcc=a.bcc?a.bcc.split(","):[],a.cc=a.cc?a.cc.split(","):[],p.value=a,G.value=JSON.parse(l).map(N=>(N.id=Number(N.id),N.tenantId=Number(N.tenantId),N.attachableId=Number(N.attachableId),N));const s={attachments:G,additionalAttachments:W};for await(const N of e){const ve=await Sa(N);(Re=s[N.type])==null||Re.value.push(ve)}if(t.madiMetadata){if(L.value=t.madiMetadata.isAIGenerated===!0||t.madiMetadata.isAIGenerated==="true",fe.value=t.madiMetadata.originalAIOutput||null,t.madiMetadata.rawActivitiesForAI)try{Ce.value=JSON.parse(t.madiMetadata.rawActivitiesForAI)}catch{Ce.value=[]}xe.value=t.madiMetadata.madiComposeLogId?Number(t.madiMetadata.madiComposeLogId):null,Ye.value=t.madiMetadata.originalAIContentText||null}f.value=t.selectedMonth,B.value=t.selectedDateRange.split(",");const{startDate:g,endDate:x}=je();JSON.parse(r).map(N=>de.value.find(ve=>ve.function===N)).forEach(N=>{N&&Ne(m.client,g,x,N)})}async function Yt(){await He.getClientContacts(m.client.id).then(t=>{De.value=t.data})}async function kt(){var t;(t=m.client)!=null&&t.id&&(be.value=await Ia.getTagsWithServices({clientId:m.client.id}).then(e=>e.data))}function It(t){p.value.category=t,Oe(),!m.draft&&!Me.value&&Ut(()=>{if(p.value.subject=Xe(),L.value)z("Subject updated. Click Regenerate to update the AI summary for this category.");else{const e=tt();p.value.body=e.email,G.value=e.attachments,z("Subject and message may have been updated!")}})}function St(t){B.value=t,Oe()}function Rt(t){f.value=t,Oe()}function Pe(t){o.value.splice(t,1),S()}async function Et(t,e,a,l){await Promise.allSettled(l.map(r=>Ne(t,e,a,r)))}async function Le(t,e){ae.value=!0;try{const a=await $e.summarizeWithMadi({activities:Ce.value,clientName:m.client.name,clientId:m.client.id,feedback:t||null,previousOutput:e||null}),l=a.data.summary;Ye.value=sa(l);const r=Qe()+l;p.value.body=et(r),L.value=!0,xe.value=a.data.logId||null,await Ut(),fe.value=ot(p.value.body||""),S()}catch(a){k(a,"Failed to generate AI summary. You can try again or edit manually.")}finally{ae.value=!1}}function at(){Ce.value=m.activities.map(t=>({typeName:Dt(t.typeId),body:t.body,loggedAt:t.loggedAt})),Le()}function Vt(){Te.value=!0}function $t({source:t,feedback:e}){if(Te.value=!1,t==="edited"){const a=ot(p.value.body||"");Le(e,a)}else Le(e,null)}async function Tt(){if(await Promise.allSettled([xt(),bt(),Yt(),Ze(),kt(),ht(),pt()]),m.draft)await Mt();else{const t=tt();p.value.subject=Xe(),p.value.body=t.email,G.value=t.attachments,p.value.bcc=Ke.value}(!Fe.value||!m.draft)&&(p.value.cc=oe.value),m.isMadiMode&&!m.draft&&at()}return _t(()=>{p.value.from=_e.value,Tt()}),ta(()=>{var t;(t=S.cancel)==null||t.call(S)}),(t,e)=>(d(),C("div",null,[n(Ma,{ref_key:"form",ref:ue,modelValue:te.value,"onUpdate:modelValue":e[8]||(e[8]=a=>te.value=a)},{default:i(()=>[n(lt,{class:"d-xl-flex d-md-flex d-sm-block d-xs-block"},{default:i(()=>[n(P,{cols:"12",md:"6"},{default:i(()=>[n(it,{modelValue:p.value.from,"onUpdate:modelValue":[e[0]||(e[0]=a=>p.value.from=a),A(S)],variant:"filled",rules:A(D),label:"From",required:"",disabled:"","hide-details":""},null,8,["modelValue","onUpdate:modelValue","rules"])]),_:1}),n(P,{cols:"12",md:"6"},{default:i(()=>[n(Jt,{modelValue:p.value.to,"onUpdate:modelValue":[e[1]||(e[1]=a=>p.value.to=a),A(S)],variant:"filled",items:mt.value,multiple:"","item-title":"name","item-value":"email",label:"To",required:"",hint:"Press enter to add","persistent-hint":"",rules:[...A(I),...A(K),...A(ge)]},null,8,["modelValue","onUpdate:modelValue","items","rules"])]),_:1}),n(P,{cols:"12",md:"6",class:"mb-2"},{default:i(()=>[Fe.value?(d(),M(rt,{key:0,modelValue:p.value.cc,"onUpdate:modelValue":[e[2]||(e[2]=a=>p.value.cc=a),A(S)],variant:"filled",items:oe.value,multiple:"",chips:"","closable-chips":"",label:"CC",hint:"Remove recipients to keep them off a test send","persistent-hint":""},null,8,["modelValue","onUpdate:modelValue","items"])):(d(),M(jt,{key:1,location:"bottom"},{activator:i(({props:a})=>[v("div",ba(ha(a)),[n(it,{"onUpdate:modelValue":A(S),disabled:"",variant:"filled","model-value":oe.value.join(", "),rows:"2",label:"CC","hide-details":""},null,8,["onUpdate:modelValue","model-value"])],16)]),default:i(()=>[v("div",{innerHTML:oe.value.join("<br />")},null,8,hl)]),_:1}))]),_:1}),n(P,{cols:"12",md:"6",class:"mb-2"},{default:i(()=>[n(Jt,{modelValue:p.value.bcc,"onUpdate:modelValue":[e[3]||(e[3]=a=>p.value.bcc=a),A(S)],variant:"filled",items:Ke.value,multiple:"","item-title":"name","
1item-value":"email",label:"BCC",hint:"Press enter to add","persistent-hint":"",rules:[...A(K),...A(ye)]},null,8,["modelValue","onUpdate:modelValue","items","rules"])]),_:1}),n(P,{cols:"12",md:"6",class:"mb-2"},{default:i(()=>[n(it,{onChange:e[4]||(e[4]=a=>Me.value=!0),modelValue:p.value.subject,"onUpdate:modelValue":[e[5]||(e[5]=a=>p.value.subject=a),A(S)],variant:"filled",label:"Subject",required:"","hide-details":"",rules:A(D)},null,8,["modelValue","onUpdate:modelValue","rules"])]),_:1}),G.value.length>0?(d(),M(P,{key:0,cols:"12",md:"12"},{default:i(()=>[e[13]||(e[13]=v("h5",{class:"mt-0"},"Activity Attachments",-1)),n(Qt,{class:"w-full"},{default:i(()=>[(d(!0),C(ee,null,ke(G.value,a=>(d(),M(Ae,{closable:"",class:"px-5 text-white",color:"primary",key:a.id,onClick:l=>A(aa)(a),"onClick:close":l=>Ct(a.id)},{default:i(()=>[n(T,{start:"",size:"small"},{default:i(()=>[...e[12]||(e[12]=[c("fas fa-download",-1)])]),_:1}),c(" "+E(a.label||a.filename||a.name),1)]),_:2},1032,["onClick","onClick:close"]))),128))]),_:1})]),_:1})):w("",!0),n(P,{cols:"12",md:"6"},{default:i(()=>[n(Da,{modelValue:W.value,"onUpdate:modelValue":[e[6]||(e[6]=a=>W.value=a),A(S)],label:"Additional Attachments",multiple:"",chips:"","show-size":"",counter:"","prepend-inner-icon":"mdi-attachment",variant:"filled"},null,8,["modelValue","onUpdate:modelValue"]),ze.value?(d(),C("div",Dl,[v("p",null,[c(" Total attachment size is currently over the "+E(Kt)+"MB limit. "),e[14]||(e[14]=v("br",null,null,-1)),e[15]||(e[15]=c(" Please remove or optimize the attachments! ",-1))])])):w("",!0)]),_:1}),n(P,{cols:"12"},{default:i(()=>[n(Lt)]),_:1}),n(P,{cols:"12"},{default:i(()=>[n(gl,{client:y.client,category:p.value.category,reports:A(de),selectedReports:o.value,generatingReport:b.value,onUpdateCategory:It,onUpdateSelectedDateRange:St,onUpdateSelectedMonth:Rt,onAddReportAttachments:Et,onRemoveReportAttachment:Pe},null,8,["client","category","reports","selectedReports","generatingReport"])]),_:1}),n(P,{cols:"12"},{default:i(()=>[n(Lt)]),_:1}),A(q)?(d(),M(P,{key:1,cols:"12",class:"d-flex align-center py-2"},{default:i(()=>[$.value&&!L.value?(d(),M(F,{key:0,color:"primary-darken-2",onClick:at,loading:ae.value,disabled:ae.value||y.activities.length===0},{default:i(()=>[n(T,{size:"small",start:""},{default:i(()=>[...e[16]||(e[16]=[c("fas fa-robot",-1)])]),_:1}),e[17]||(e[17]=c(" Summarize with MADI ",-1))]),_:1},8,["loading","disabled"])):w("",!0),L.value?(d(),C(ee,{key:1},[$.value?(d(),M(F,{key:0,color:"primary-darken-2",onClick:Vt,loading:ae.value,disabled:ae.value,class:"mr-3"},{default:i(()=>[n(T,{size:"small",start:""},{default:i(()=>[...e[18]||(e[18]=[c("fas fa-sync-alt",-1)])]),_:1}),e[19]||(e[19]=c(" Regenerate ",-1))]),_:1},8,["loading","disabled"])):w("",!0),n(Ae,{size:"small",color:"primary-darken-2",class:"text-white"},{default:i(()=>[n(T,{size:"small",start:""},{default:i(()=>[...e[20]||(e[20]=[c("fas fa-robot",-1)])]),_:1}),e[21]||(e[21]=c(" Generated by MADI ",-1))]),_:1})],64)):w("",!0)]),_:1})):w("",!0),n(P,{cols:"12",style:{position:"relative"}},{default:i(()=>[A(q)?(d(),M(Ca,{key:0,contained:"","model-value":ae.value,"z-index":"5",scrim:"white",opacity:"0.8"},{default:i(()=>[v("div",Cl,[n(Nt,{indeterminate:"",color:"primary-darken-2",size:50}),e[22]||(e[22]=v("div",{class:"mt-4 font-bold text-primary-darken-2"}," MADI is writing your summary... ",-1))])]),_:1},8,["model-value"])):w("",!0),n(xa,{value:p.value.body,onInput:e[7]||(e[7]=a=>{p.value.body=a,A(S)()}),required:"",rules:A(D),disabled:ae.value},null,8,["value","rules","disabled"])]),_:1}),n(P,{cols:"12"},{default:i(()=>[X.value&&X.value.options?Aa((d(),M(Ga,{key:0,exportOptions:X.value,onUpdate:gt},null,8,["exportOptions"])),[[wa,!1]]):w("",!0),$.value?(d(),M(F,{key:1,color:"success",disabled:!ft.value,onClick:wt},{default:i(()=>[...e[23]||(e[23]=[c(" Send Email ",-1)])]),_:1},8,["disabled"])):w("",!0)]),_:1})]),_:1})]),_:1},8,["modelValue"]),n(Je,{modelValue:he.value,"onUpdate:modelValue":e[10]||(e[10]=a=>he.value=a),"max-width":"600",width:"95%",persistent:""},{default:i(()=>[n(Ve,{class:"text-center"},{default:i(()=>[n(We,null,{default:i(()=>[me.value?(d(),C("div",xl,[n(T,{color:"error",size:"large"},{default:i(()=>[...e[25]||(e[25]=[c("fa fa-exclamation-triangle",-1)])]),_:1}),v("div",Al,E(me.value),1)])):(d(),C(ee,{key:0},[n(Nt,{size:50,indeterminate:!0,color:"primary"}),e[24]||(e[24]=v("div",{class:"text-xl text-gray-700 mt-8"}," Please wait while we are processing your request... ",-1))],64))]),_:1}),me.value?(d(),M(dt,{key:0},{default:i(()=>[n(F,{color:"primary",onClick:e[9]||(e[9]=a=>he.value=!1)},{default:i(()=>[...e[26]||(e[26]=[c("Close This Window",-1)])]),_:1})]),_:1})):w("",!0)]),_:1})]),_:1},8,["modelValue"]),n(bl,{show:Te.value,"has-drift":vt.value,loading:ae.value,onConfirm:$t,onCancel:e[11]||(e[11]=a=>Te.value=!1)},null,8,["show","has-drift","loading"])]))}},Ml={class:"mb-6 flex flex-wrap gap-2"},Yl={class:"mb-6 flex flex-wrap items-center gap-3"},kl={key:0,class:"mb-6 flex flex-wrap items-center gap-3 rounded bg-primary/10 px-4 py-2"},Il={class:"grow text-sm font-semibold text-primary"},Sl={key:2,class:"text-gray-500"},Rl={key:3,class:"space-y-6"},El={key:0,class:"mb-2 text-sm font-semibold text-gray-500"},Vl={class:"flex min-h-[52px] items-center justify-between gap-3 border-b border-gray-200 px-4"},$l={class:"font-semibold text-gray-800"}
1,Tl={class:"flex -space-x-2"},Ol={key:1,class:"text-xs font-semibold"},Nl={class:"divide-y divide-gray-200"},Ul={class:"flex size-8 shrink-0 items-center justify-center rounded-full bg-primary/10"},_l={class:"min-w-0 grow"},Fl={class:"flex items-start gap-2"},zl={class:"grow"},jl={class:"flex items-center gap-2"},Bl={class:"font-semibold text-gray-800"},Pl={class:"text-sm text-gray-600"},Ll={key:0,class:"flex items-center gap-1"},ql={class:"text-xs text-gray-500"},Hl=["onClick"],Gl=["innerHTML"],Wl=["onClick"],Jl={key:1,class:"mt-3 text-sm text-gray-700"},Kl={class:"flex items-center gap-1"},Zl=["innerHTML"],Ql={key:0,class:"mt-2"},Xl={key:2,class:"mt-3 flex flex-wrap gap-2"},en={key:4,class:"flex justify-center"},tn={key:5,class:"text-center mt-5 text-gray-600"},an="Co-Op Screenshot Current",ln="Co-Op Screenshot Previous",Zt="recommendation",hn={__name:"ClientActivity",props:["client","filterActivityTypeId"],setup(y){const Y=y,{showErrorNotification:m,showSuccessNotification:V}=zt(),{convertSEODeliverableToActivity:U}=Pa(),{isMadiEnabled:_}=na(),{copyToClipboard:z}=qa(),{currentUser:k,isCurrentUserEmployee:q}=la(),{can:D}=ia(),{dateRange:I,datePresets:K,currentDate:ge,setDateRange:ye,updateDateRange:j}=La(),R=u(0),Z=u(!1),$=u({}),ue=u([]),Q=u([]),H=u(!0),b=u(null),o=u(!1),f=u(null),B=u(null),te=u(!1),be=u(!1),de=u(!1),ne=u([]),p=u(0),ce=u(!1),G=u(""),W=u(!1),ie=u(null),Ie=u("compose-email"),we=u(!1),Me=u([]),X=u(null),he=u(!1),me=u(!1),De=u(!1),Se=u(null),Ue=u([{text:"All",value:null},{text:"Internal Updates Only",value:!1},{text:"External Updates Only",value:!0},{text:"EOM Recommendation",value:Zt}]),L=O(()=>Se.value===Zt),fe=O(()=>{const t=Q.value.map(e=>({id:e.id,name:e.name,position:e.position}));return t.find(e=>e.id===2)||t.push({id:2,name:"SEO Deliverables",position:4}),t});function ae(t){var e;return((e=fe.value.find(a=>a.id===t))==null?void 0:e.name)||"N/A"}const Te=O(()=>{const t=Object.values($.value).flat().filter(l=>{var r;return(r=l.performanceRecommendation)==null?void 0:r.trim()}),e=se.groupBy(t,"typeId"),a=Object.fromEntries(fe.value.map(l=>[l.id,l.position]));return Object.fromEntries(se.sortBy(Object.keys(e),l=>a[l]??1/0).map(l=>[`type-${l}`,e[l]]))}),Ce=O(()=>Se.value===null?$.value:L.value?Te.value:Object.keys($.value).reduce((t,e)=>{const a=$.value[e].filter(l=>l.isExternal===Se.value);return a.length>0&&(t[e]=a),t},{})),xe=O(()=>{const t={id:0,name:"All"},e=Q.value.map(a=>({id:a.id,name:a.name}));return[t,...e]}),Ye=O(()=>!Q.value.find(t=>t.id===2)),_e=O(()=>Ye.value?[...xe.value,{id:"seo-deliverables",name:"SEO Deliverables"}]:xe.value),mt=O(()=>D("composeEmail","Clients")),Fe=u(null),oe=u(null);function Ke(){const t=oe.value,e=!t||t===window,a=e?window.scrollY:t.scrollTop,l=e?document.documentElement.clientHeight:t.clientHeight,r=e?document.documentElement.scrollHeight:t.scrollHeight;return l+a>=r-l||r<l}function ze(){he.value=Ke()}async function ft(){await $e.getActivityTypes().then(t=>{Q.value=t.data.filter(e=>e.active)})}async function vt(t=!1){t&&(R.value="seo-deliverables",Z.value=!0,$.value={});const[e,a]=I.value,l={startDate:e,endDate:a,clientId:Y.client.id,deliverableStatusId:5},r={},s=[];return await He.getClientDeliverables(l).then(g=>{g.data.forEach(x=>{s.push(U(x))}),t&&(s.sort((x,le)=>H.value?x.loggedAt<le.loggedAt?1:-1:x.loggedAt>le.loggedAt?1:-1).forEach(x=>(r[x.loggedAtFormatted]||(r[x.loggedAtFormatted]=[]),r[x.loggedAtFormatted].push(x),x)),$.value=r)}).finally(()=>{Z.value=!1}),s}async function S(t,e){var Re,N;(!e||!e.isPagination)&&(Z.value=!0);const a=Y.client.slug||Ot.currentRoute.value.params.slug;let l=[];const r={};R.value=t||0;const s={};b.value&&(s.text=b.value),e&&e.isSort&&(s.sort=!0);const[g,x]=I.value;s.startDate=g,s.endDate=x,s.desc=H.value,s.skip=p.value,L.value&&(s.withRecommendation=!0);let le=[];if(R.value!==null){let ve=t!==0?t:null;ve==="seo-deliverables"&&(ve=2),await $e.getClientActivityWithPagination(a,ve,s).then(J=>{l=J.data.activities,l.length===0?(De.value=!0,p.value=!1):p.value=J.data.skip})}if((R.value===0||R.value===2||t==="seo-deliverables")&&(le=await vt()),l&&((Re=l[0])!=null&&Re.Activities)||le.length>0){const ve=((N=l==null?void 0:l.map(J=>J.Activities.map(Ee=>{var Bt;const ra=ae(Ee.typeId);return{...Ee,userFullName:(Bt=Ee.user)==null?void 0:Bt.fullName,loggedAtFormatted:h(Ee.loggedAt).format("MMMM, DD YYYY"),typeName:ra}}
1)))==null?void 0:N.flat())||[];ve.push(...le),ve.sort((J,Ee)=>H.value?J.loggedAt<Ee.loggedAt?1:-1:J.loggedAt>Ee.loggedAt?1:-1).forEach(J=>(r[J.loggedAtFormatted]||(r[J.loggedAtFormatted]=[]),r[J.loggedAtFormatted].push(J),J)),e&&e.isPagination?$.value={...$.value,...r}:$.value=r}else s.skip===0&&($.value={});Z.value=!1}async function pt(){if(!k.value)return;const t=await nt.getDraft(Y.client.id,k.value.id,Ie.value).then(e=>e.data);ie.value=t||null}async function Ze(){Z.value=!0,await Promise.allSettled([ft(),S(Y.filterActivityTypeId?Y.filterActivityTypeId:null),pt()]),Z.value=!1}const je=se.debounce(async()=>{await S(R.value),p.value=0},1e3);function Qe(t){I.value=t,j(),p.value=0,$.value={},S(R.value)}function gt(t){R.value!==t&&(p.value=0,De.value=!1,S(t))}async function yt(){H.value=!H.value,p.value=0,De.value=!1,await S(R.value,{isSort:!0})}function bt(t){ue.value.push(t)}function ht(t,e){return ue.value.indexOf(e)===-1&&t.length>400?`${t.substring(0,400)}...`:t}function Xe(){de.value=!de.value,Me.value=[]}function et(t){const e=Me.value.indexOf(t.id);e!==-1?(Me.value.splice(e,1),ne.value.splice(e,1)):(Me.value.push(t.id),ne.value.push(t))}function tt(t){const e=[],a=[];return t.forEach(l=>{var r,s;e.indexOf((r=l.user)==null?void 0:r.id)===-1&&(e.push((s=l.user)==null?void 0:s.id),a.push(l))}),a}function Oe(t){const e=`https://api.clickiqportal.com/uploads/users/avatar/${t==null?void 0:t.id}/${t==null?void 0:t.avatar}`;return t!=null&&t.avatar?e:!1}function Dt(){W.value=!0,ce.value=!0}async function Ct(){k.value&&await nt.deleteDraft(Y.client.id,k.value.id,Ie.value).then(()=>{ie.value=null,V("Draft has been deleted")})}function xt(){we.value=!1,W.value=!1,ce.value=!0}function At(){we.value=!0,W.value=!1,ce.value=!0}function wt(t){ie.value=t}async function Be(){if(ie.value){const{clientId:t,userId:e,draftType:a}=ie.value;await nt.deleteDraft(t,e,a),ie.value=null,W.value=!1}}function Ne(t){const e={location:"profile",client:Y.client,activity:t,coopScreenshots:o.value,coopScreenshotCurrentDisabled:te.value,coopScreenshotPreviousDisabled:be.value};pe.emit("open-activity-logger",e)}async function Mt(t){const{loggedAt:e}=t,a={...t,attachments:[],fromDateVal:h(e).format("YYYY-MM-DD"),time:h(e).format("HH:mm")};await Ut(),t.typeId===2&&t.attachments&&t.attachments.length>0&&(t.attachments.filter(s=>s.label===an).length>0&&(te.value=!0,o.value=!0),t.attachments.filter(s=>s.label===ln).length>0&&(o.value=!0,be.value=!0)),Ne(a)}async function Yt(t){await $e.deleteActivity(t.id).then(()=>{p.value=!1,S(R.value),V("Activity has been deleted")}).catch(()=>{m()})}function kt(t){pe.emit("delete"),pe.on("confirmation",e=>{e&&Yt(t),pe.off("confirmation")})}async function It(t){await za.deleteAttachment(t),await Ze()}function St(t){pe.emit("delete"),pe.on("confirmation",e=>{e&&It(t),pe.off("confirmation")})}function Rt(){f.value=null,B.value=null,te.value=!1,be.value=!1}function Pe(){ce.value=!1,W.value=!1,de.value=!1,we.value=!1}function Et(t){const e={location:"profile",client:Y.client,activity:t};pe.emit("open-madiai-activity-logger",e)}function Le(){pe.on("refresh-profile-activities",()=>{p.value=!1,S(R.value)})}function at(){pe.off("refresh-profile-activities")}function Vt(t){if(!q.value)return!1;const e=Q.value.find(a=>a.id===t);return(e==null?void 0:e.canHavePerformanceReminders)===!0}function $t(t){X.value=t}function Tt(t){const e=t.replace(/-/g,"+").replace(/_/g,"/"),a=atob(e),l=new Uint8Array(a.length);for(let r=0;r<a.length;r++)l[r]=a.charCodeAt(r);return new TextDecoder().decode(l)}return re(he,async t=>{t&&(p.value||p.value===0)&&!me.value?(me.value=!0,await S(R.value,{isPagination:!0}),me.value=!1):t&&p.value!==0&&!p.value&&(De.value=!0)}),re(L,()=>{p.value=0,De.value=!1,$.value={},S(R.value)}),re(R,()=>{G.value=""}),re(o,t=>{t||Rt()}),re(de,()=>{de.value||(ne.value=[])}),_t(()=>{oe.value=Ha(Fe.value),oe.value.addEventListener("scroll",ze)}),ta(()=>{var t;at(),(t=oe.value)==null||t.removeEventListener("scroll",ze)}),(async()=>{var e;I.value=[h().subtract(2,"month").startOf("month").format("YYYY-MM-DD"),h().format("YYYY-MM-DD")],Le(),ye(),await Ze();const t=(e=Ot.currentRoute.value.query)==null?void 0:e.activityDetails;t&&(Ne({body:Tt(t)}),Ot.replace({query:{activityDetails:void 0}}).then())})(),(t,e)=>(d(),C("section",{ref_key:"root",ref:Fe,class:"pb-8"},[n(Ba,{"sub-header":""},{right:i(()=>[ie.value?(d(),C(ee,{key:0},[n(F,{color:"error",variant:"outlined",onClick:Ct},{default:i(()=>[n(T,{size:"small",start:""},{default:i(()=>
1[...e[8]||(e[8]=[c("fa fa-trash",-1)])]),_:1}),e[9]||(e[9]=c(" Delete Draft ",-1))]),_:1}),n(F,{color:"secondary",variant:"outlined",onClick:Dt},{default:i(()=>[n(T,{size:"small",start:""},{default:i(()=>[...e[10]||(e[10]=[c("fa fa-envelope",-1)])]),_:1}),e[11]||(e[11]=c(" View Draft Email ",-1))]),_:1})],64)):w("",!0),A(_)?(d(),M(F,{key:1,color:"primary",variant:"outlined",onClick:e[0]||(e[0]=a=>Et())},{default:i(()=>[n(T,{size:"small",start:""},{default:i(()=>[...e[12]||(e[12]=[c("fas fa-robot",-1)])]),_:1}),e[13]||(e[13]=c(" Madi AI ",-1))]),_:1})):w("",!0),n(F,{color:"primary",onClick:e[1]||(e[1]=a=>Ne())},{default:i(()=>[n(T,{size:"small",start:""},{default:i(()=>[...e[14]||(e[14]=[c("fas fa-plus",-1)])]),_:1}),e[15]||(e[15]=c(" Log Activity ",-1))]),_:1})]),default:i(()=>[e[16]||(e[16]=c(" Activities ",-1))]),_:1}),n(Je,{modelValue:ce.value,"onUpdate:modelValue":e[2]||(e[2]=a=>ce.value=a),fullscreen:"",persistent:"",scrim:!1,transition:"dialog-bottom-transition","retain-focus":!1,onKeydown:Ft(Pe,["esc"])},{default:i(()=>[n(Ve,null,{default:i(()=>[n(ut,{color:"primary",onClose:Pe},{default:i(()=>[c(E(we.value?"Compose Email with MADI":"Compose Email"),1)]),_:1}),n(We,null,{default:i(()=>[ce.value?(d(),M(wl,{key:0,client:y.client,activities:ne.value,"activity-types":fe.value,onClose:Pe,"draft-type":Ie.value,draft:W.value?ie.value:null,"is-madi-mode":we.value,onUpdateDraft:wt,onDeleteDraft:Be},null,8,["client","activities","activity-types","draft-type","draft","is-madi-mode"])):w("",!0)]),_:1})]),_:1})]),_:1},8,["modelValue"]),n(ja,null,{default:i(()=>[v("div",Ml,[(d(!0),C(ee,null,ke(_e.value,a=>(d(),M(Ae,{key:a.id,color:R.value===a.id?"primary":void 0,variant:R.value===a.id?"flat":"outlined",class:Ea({"text-gray-700":R.value!==a.id}),onClick:l=>gt(a.id)},{default:i(()=>[c(E(a.name),1)]),_:2},1032,["color","variant","class","onClick"]))),128))]),v("div",Yl,[n(it,{modelValue:b.value,"onUpdate:modelValue":e[3]||(e[3]=a=>b.value=a),variant:"outlined",density:"compact",label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"","hide-details":"",class:"min-w-[220px] max-w-[320px]",onChange:A(je)},null,8,["modelValue","onChange"]),n(Ge,{variant:"outlined",density:"compact",menu:"",range:"",value:A(I),"display-format":"MM/DD/YYYY",max:A(ge),"picker-props":{class:"-ml-20 sm:ml-0"},"prepend-inner-icon":"event","hide-details":"",onInput:Qe},{presets:i(({select:a})=>[n(qt,{class:"-ml-8 sm:ml-0 invisible sm:visible"},{default:i(()=>[n(Va,null,{default:i(()=>[...e[17]||(e[17]=[c("Presets",-1)])]),_:1}),v("div",null,[(d(!0),C(ee,null,ke(A(K),l=>(d(),M(qe,{key:l.label,onClick:r=>a([l.startDate,l.endDate])},{default:i(()=>[c(E(l.label),1)]),_:2},1032,["onClick"]))),128))])]),_:2},1024)]),append:i(()=>[n(T,{size:"small"},{default:i(()=>[...e[18]||(e[18]=[c("fas fa-caret-down",-1)])]),_:1})]),_:1},8,["value","max"]),n(rt,{modelValue:Se.value,"onUpdate:modelValue":e[4]||(e[4]=a=>Se.value=a),variant:"outlined",density:"compact",items:Ue.value,label:"Note Type","hide-details":"",class:"max-w-[240px]"},null,8,["modelValue","items"]),n(F,{variant:"text",color:"primary",onClick:yt},{default:i(()=>[n(T,{size:"small",start:""},{default:i(()=>[c(E(H.value?"fas fa-arrow-up":"fas fa-arrow-down"),1)]),_:1}),e[19]||(e[19]=c(" Sort ",-1))]),_:1}),n(ct),mt.value&&R.value===0?(d(),M(F,{key:0,color:ne.value.length>0?"error":"primary",variant:de.value&&!ne.value.length?"tonal":"outlined",onClick:e[5]||(e[5]=a=>Xe())},{default:i(()=>[ne.value.length>0?(d(),C(ee,{key:0},[n(T,{size:"small",start:""},{default:i(()=>[...e[20]||(e[20]=[c("fas fa-trash",-1)])]),_:1}),e[21]||(e[21]=c(" Clear Selection ",-1))],64)):(d(),C(ee,{key:1},[n(T,{size:"small",start:""},{default:i(()=>[...e[22]||(e[22]=[c("far fa-check-square",-1)])]),_:1}),e[23]||(e[23]=c(" Select Activities ",-1))],64))]),_:1},8,["color","variant"])):w("",!0)]),ne.value.length>0?(d(),C("div",kl,[v("span",Il,E(ne.value.length)+" selected ",1),A(_)?(d(),M(F,{key:0,color:"primary",variant:"outlined",class:"bg-white",onClick:At},{default:i(()=>[n(T,{size:"small",start:""},{default:i(()=>[...e[24]||(e[24]=[c("fas fa-robot",-1)])]),_:1}),e[25]||(e[25]=c(" Compose with MADI ",-1))]),_:1})):w("",!0),n(F,{color:"primary",onClick:xt},{default:i(()=>[...e[26]||(e[26]=[c("Compose Email",-1)])]),_:1})])):w("",!0),Z.value?(d(),M(Ve,{key:1,border:"",flat:""},{default:i(()=>[n(Ht,{type:"heading",class:"p-3"}),n(Ht,{type:"list-item-avatar-three-line"})]),_:1})):Object.keys(Ce.value).length===0?(d(),C("p",Sl," No recent activities found. ")):(d(),C("div",Rl,[(d(!0),C(ee,null,ke(Ce.value,a=>(d(),C("section",{key:a.id},[L.value?w("",!0):(d(),C("div",El,E(a[0].loggedAtFormatted),1)),n(Ve,{border:"",flat:""},{default:i(()=>
1[v("div",Vl,[v("div",$l,E(L.value?`${a[0].typeName} Recommendation`:"Activity Log"),1),v("div",Tl,[(d(!0),C(ee,null,ke(tt(a),l=>(d(),M(jt,{key:l.id,location:"bottom"},{activator:i(({props:r})=>[n($a,st({ref_for:!0},r,{size:"32",class:"border-2 border-white bg-gray-200 text-gray-700"}),{default:i(()=>{var s,g,x,le;return[Oe(l.user)?(d(),M(Ta,{key:0,url:Oe(l.user),class:"h-full w-full",alt:"Avatar"},null,8,["url"])):(d(),C("span",Ol,E((((g=(s=l.user)==null?void 0:s.firstName)==null?void 0:g.charAt(0))??"")+(((le=(x=l.user)==null?void 0:x.lastName)==null?void 0:le.charAt(0))??"")),1))]}),_:2},1040)]),default:i(()=>{var r,s;return[v("span",null,E([(r=l.user)==null?void 0:r.fullName,(s=l.user)==null?void 0:s.jobTitle].filter(Boolean).join(" - ")),1)]}),_:2},1024))),128))])]),v("div",Nl,[(d(!0),C(ee,null,ke(a,l=>{var r;return d(),C("div",{key:l.id,class:"flex gap-3 px-4 py-3"},[de.value?(d(),M(Xt,{key:0,"hide-details":"",density:"compact",class:"shrink-0 grow-0","onUpdate:modelValue":()=>et(l)},null,8,["onUpdate:modelValue"])):w("",!0),v("div",Ul,[n(T,{color:"primary",size:"small"},{default:i(()=>[...e[27]||(e[27]=[c("fa-pen-to-square",-1)])]),_:1})]),v("div",_l,[v("div",Fl,[v("div",zl,[v("div",jl,[v("span",Bl,E(l.typeName),1),l.isExternal?(d(),M(Ae,{key:0,color:"error",size:"x-small"},{default:i(()=>[...e[28]||(e[28]=[c(" External ",-1)])]),_:1})):w("",!0)]),v("div",Pl,E(l.userFullName),1)]),l.isSEODeliverable!==!0?(d(),C("div",Ll,[v("span",ql,E(A(Oa)(l.loggedAt,L.value?"MMM DD, YYYY hh:mm A":"hh:mm A")),1),n(Na,{location:"bottom end"},{activator:i(({props:s})=>[n(F,st({ref_for:!0},s,{icon:"mdi-dots-horizontal",variant:"text",size:"small",density:"comfortable",color:"grey","aria-label":"Activity actions"}),null,16)]),default:i(()=>[n(qt,{density:"compact"},{default:i(()=>[n(qe,{"prepend-icon":"mdi-pencil",title:"Edit",onClick:s=>Mt(l)},null,8,["onClick"]),Vt(l.typeId)?(d(),M(qe,{key:0,"prepend-icon":"mdi-bell-outline",title:"Set Reminder",onClick:s=>$t(l)},null,8,["onClick"])):w("",!0),n(qe,{"prepend-icon":"mdi-delete",title:"Delete","base-color":"error",onClick:s=>kt(l)},null,8,["onClick"])]),_:2},1024)]),_:2},1024)])):w("",!0)]),v("div",{class:"mt-2 cursor-pointer text-sm text-gray-700 ql-snow",onClick:[Gt(s=>A(z)(A(Ua)(l.body),"Body"),["exact"]),Gt(s=>A(z)(l.body,"Body"),["meta"])]},[v("div",{class:"ql-editor ql-readonly",innerHTML:ht(l.body,l.id)},null,8,Gl)],8,Hl),l.body.length>400&&ue.value.indexOf(l.id)===-1?(d(),C("button",{key:0,type:"button",class:"mt-1 text-sm font-semibold text-primary",onClick:s=>bt(l.id)}," Read more ",8,Wl)):w("",!0),l.performanceChange?(d(),C("div",Jl,[v("div",Kl,[e[31]||(e[31]=v("span",{class:"font-semibold"},"Performance:",-1)),l.performanceChange==="Up"?(d(),M(T,{key:0,color:"success",size:"small"},{default:i(()=>[...e[29]||(e[29]=[c(" mdi-trending-up ",-1)])]),_:1})):w("",!0),l.performanceChange==="Down"?(d(),M(T,{key:1,color:"error",size:"small"},{default:i(()=>[...e[30]||(e[30]=[c(" mdi-trending-down ",-1)])]),_:1})):w("",!0)]),v("div",{innerHTML:l.performanceNotes},null,8,Zl),l.performanceRecommendation?(d(),C("div",Ql,[e[32]||(e[32]=v("span",{class:"font-semibold"},"Recommendation:",-1)),c(" "+E(l.performanceRecommendation),1)])):w("",!0)])):w("",!0),((r=l.attachments)==null?void 0:r.length)>0?(d(),C("div",Xl,[(d(!0),C(ee,null,ke(l.attachments,s=>(d(),M(Ae,{key:s.id,closable:"",size:"small",color:"primary",variant:"outlined","prepend-icon":"fas fa-download",onClick:g=>A(aa)(s),"onClick:close":g=>St(s.id)},{default:i(()=>[c(E(A(_a)(s))+" - "+E(A(Fa)(s.sizeInBytes)),1)]),_:2},1032,["onClick","onClick:close"]))),128))])):w("",!0)])])}),128))])]),_:2},1024)]))),128))])),me.value?(d(),C("div",en,[n(Nt,{size:"34",class:"mt-5 flex justify-center",indeterminate:"",color:"primary"})])):De.value&&Object.keys($.value).length!==0?(d(),C("p",tn,"There are no more data available.")):w("",!0),X.value?(d(),M(Ka,{key:6,activity:X.value,"client-id":y.client.id,"client-name":y.client.name,"activity-type-name":ae(X.value.typeId),onClose:e[6]||(e[6]=a=>X.value=null),onCreated:e[7]||(e[7]=a=>X.value=null)},null,8,["activity","client-id","client-name","activity-type-name"])):w("",!0)]),_:1})],512))}};export{hn 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.