PageSourceSearch

https://app.adset.pro/assets/index-rxDvvhyy.js

js adset.pro collected 2026-09-24 14:28:20 UTC 91,546 bytes, 2 lines download raw bytes

1import{g as O,j as Xt,n as bl,h as He,e as bt,f as gt,T as gl,a as Gt,v as lt,M as Qt,d as Zt,z as vt,x as Ct,B as yl,w as Tt,G as xl,m as hl,o as _l,p as $l,q as kl,a6 as wl,O as Sl,a1 as Cl,y as Tl,N as Vl}from"./vendor-primevue-Ccwe8ICX.js";import{d as qe,am as Al,_ as at,B as Bl,r as c,c as de,z as Te,D as Dl,J as b,b as v,F as re,n as U,g as t,K as e,x as p,R as I,i as n,Q as G,V as Lt,j as Le,M as s,X as El,l as Ot,a6 as ft,a7 as Vt,a as Oe,t as St,o as Jt,S as Ul,a0 as Rl,a4 as zl,$ as Ml}from"./vendor-vue-BKoTHMGq.js";import{h as Pe,_ as Fl,a as st,v as Pl,A as Ll,U as tt,t as Ol,D as et,E as Il,T as Re,R as mt,u as Nl,w as jl,x as It,y as Nt}from"./index-ChU8jYFA.js";import{P as el}from"./PlanService-B0tW8nSJ.js";import{b as jt}from"./api-query-BuJwE4A5.js";import{_ as pt}from"./index.vue_vue_type_script_setup_true_lang-BhZU1Ar6.js";import{_ as Hl}from"./index.vue_vue_type_script_setup_true_lang-Dedc-x89.js";import{t as Ht}from"./stats-Hp3_94IM.js";import{_ as ql}from"./AssetImagePicker.vue_vue_type_script_setup_true_lang-CAR1dX7e.js";import{bS as Wl,bT as Yl,bU as Kl,bV as Xl,bW as qt,bX as Gl,bY as Wt,bZ as Yt,b_ as Ql,b$ as Zl,c0 as Jl,c1 as ea,c2 as ta,c3 as la,c4 as aa}from"./vendor-DweBnwaO.js";import{u as sa}from"./AssetFolderService-C1dL57FC.js";import{e as oa}from"./helpers-DtsJfSIp.js";import{j as Kt,O as na}from"./onboardingSurvey-BIdfG8hH.js";import{_ as ia}from"./index.vue_vue_type_script_setup_true_lang-DPHWm4Xl.js";import{s as ra}from"./saveBlob-BrZ25DVE.js";import{S as ua}from"./SectionCard-CICaI-qm.js";import"./vendor-utils-Dz6h6rJQ.js";import"./vendor-charts-DDDWuFtC.js";import"./date-Blfd4FN8.js";import"./AssetGalleryDialog.vue_vue_type_script_setup_true_lang-aVUd99b4.js";import"./index.vue_vue_type_script_setup_true_lang-B18nw0X6.js";import"./KnowledgeHelpLink-VfJl0HNN.js";const wt="/broadcast/template",Qe={async list(B){const{data:N}=await Pe.get(wt,{params:{"filter[type]":B,"filter[isActive]":!0,pageSize:100}});return N.data},async create(B){const{data:N}=await Pe.post(wt,B);return N.data},async update(B,N){const{data:j}=await Pe.patch(`${wt}/${B}`,N);return j.data},async send(B){const{data:N}=await Pe.post("/broadcast",B);return N.data},async listDispatches(B={}){const{data:N}=await Pe.get("/broadcast/dispatch",{params:B});return{data:N.data,meta:N.meta}},async getDispatch(B){const{data:N}=await Pe.get(`/broadcast/dispatch/${B}`);return N.data}},da=Wl.create({name:"tgSpoiler",parseHTML(){return[{tag:"tg-spoiler"}]},renderHTML({HTMLAttributes:B}){return["tg-spoiler",Yl(B),0]},addCommands(){return{toggleTgSpoiler:()=>({commands:B})=>B.toggleMark(this.name)}}}),ca={key:0,class:"border border-surface-border dark:border-surface-600 rounded-lg overflow-hidden transition-colors duration-200 focus-within:border-primary"},ma={class:"flex items-center gap-1 flex-wrap overflow-x-auto px-2.5 py-1.5 min-h-[38px] bg-surface-100 dark:bg-surface-800 border-b border-surface-border dark:border-surface-600"},pa={class:"flex items-center gap-0.5"},va={class:"flex items-center gap-0.5"},fa={class:"flex items-center gap-0.5"},ba={class:"flex items-center gap-0.5"},ga={class:"flex items-center gap-0.5"},ya={class:"flex items-center gap-0.5"},xa={class:"flex items-center gap-0.5"},ha={class:"flex flex-col items-center leading-none gap-[2px]"},_a={class:"grid grid-cols-4 gap-1.5 p-1"},$a=["onClick"],ka={class:"flex items-center gap-0.5"},wa={class:"flex items-center gap-0.5"},Sa={class:"relative"},Ca={key:0,class:"absolute top-2 left-1/2 -translate-x-1/2 z-10 flex items-center gap-1 px-2 py-1.5 bg-surface-0 dark:bg-surface-800 border border-surface-border dark:border-surface-600 rounded-lg shadow-lg"},Ta={class:"flex items-center gap-0.5"},Va={class:"flex items-center gap-0.5"},Aa={class:"flex items-center gap-0.5"},Ba={class:"flex flex-col gap-2 pt-1"},Da={class:"text-sm font-medium"},Ea=qe({__name:"BroadcastEditor",props:{modelValue:{},channel:{}},emits:["update:modelValue"],setup(B,{emit:N}){const j=B,W=N,m=Al(),{t:C}=at(),r=Bl(null),k=c(),Z=de(()=>{var d;return((d=r.value)==null?void 0:d.isActive("table"))??!1}),L=de(()=>[{label:C("teams.broadcast.editor_paragraph"),command:()=>{var d;return(d=r.value)==null?void 0:d.chain().focus().setParagraph().run()}},{label:C("teams.broadcast.editor_h1"),command:()=>{var d;return(d=r.value)==null?void 0:d.chain().focus().toggleHeading({level:1}).run()}},{label:C("teams.broadcast.editor_h2"),command:()=>{var d;return(d=r.value)==null?void 0:d.chain().focus().toggleHeading({level:2}).run()}},{label:C("teams.broadcast.editor_h3"),command:()=>{var d;return(d=r.value)==null?void 0:d.chain().focus().toggleHeading({level:3}).run()}}]);
1function J(d){return d==="email"?[qt,Gl,Wt,Yt.configure({openOnClick:!1}),Ql.configure({types:["heading","paragraph"]}),Zl.configure({resizable:!0}),Jl,ea,ta,la,aa]:[qt.configure({heading:!1,bulletList:!1,orderedList:!1,listItem:!1,horizontalRule:!1}),Wt,Yt.configure({openOnClick:!1}),da]}function le(d,l=""){var g;(g=r.value)==null||g.destroy(),r.value=new Xl({extensions:J(d),content:l,editorProps:{attributes:{class:m.prose}},onUpdate:({editor:ve})=>{W("update:modelValue",ee(ve.getHTML()))}})}function ee(d){return j.channel!=="telegram"?d:d.replace(/<\/p>\s*<p>/g,`
2`).replace(/<p>/g,"").replace(/<\/p>/g,"").trim()}Te(()=>j.channel,d=>le(d,""),{immediate:!0}),Te(()=>j.modelValue,d=>{r.value&&ee(r.value.getHTML())!==(d??"")&&r.value.commands.setContent(d??"",!1)}),Dl(()=>{var d;return(d=r.value)==null?void 0:d.destroy()});async function ne(){const d=document.createElement("input");d.type="file",d.accept="image/*",d.onchange=async l=>{var ve,Be;const g=(ve=l.target.files)==null?void 0:ve[0];if(!(!g||!r.value))try{const be=(Be=(await sa(g)).urls)==null?void 0:Be.original;be&&r.value.chain().focus().setImage({src:be}).run()}catch{}},d.click()}const T=c(!1),V=c("");function u(){r.value&&(V.value=r.value.getAttributes("link").href??"",T.value=!0)}function y(){if(!r.value)return;const d=V.value.trim();d?r.value.chain().focus().extendMarkRange("link").setLink({href:d}).run():r.value.chain().focus().extendMarkRange("link").unsetLink().run(),T.value=!1}function te(){T.value=!1}function Y(d){var l;(l=k.value)==null||l.toggle(d)}const $=c(),z=["#000000","#374151","#6b7280","#d1d5db","#ef4444","#f97316","#eab308","#22c55e","#06b6d4","#3b82f6","#8b5cf6","#ec4899","#dc2626","#ea580c","#16a34a","#0284c7"],ie=de(()=>{var d;return((d=r.value)==null?void 0:d.getAttributes("textStyle").color)??null});function se(d){var l,g;(l=r.value)==null||l.chain().focus().setColor(d).run(),(g=$.value)==null||g.hide()}function R(){var d;(d=r.value)==null||d.chain().focus().unsetColor().run()}return(d,l)=>(v(),b(re,null,[r.value?(v(),b("div",ca,[e("div",ma,[B.channel==="email"?(v(),b(re,{key:0},[e("div",pa,[t(p(O),{type:"button",onClick:l[0]||(l[0]=g=>r.value.chain().focus().undo().run()),severity:"secondary",text:"",size:"small",class:I(p(m).tbBtn),title:d.$t("teams.broadcast.editor_undo")},{default:n(()=>[...l[26]||(l[26]=[e("i",{class:"pi pi-undo"},null,-1)])]),_:1},8,["class","title"]),t(p(O),{type:"button",onClick:l[1]||(l[1]=g=>r.value.chain().focus().redo().run()),severity:"secondary",text:"",size:"small",class:I(p(m).tbBtn),title:d.$t("teams.broadcast.editor_redo")},{default:n(()=>[...l[27]||(l[27]=[e("i",{class:"pi pi-refresh"},null,-1)])]),_:1},8,["class","title"])]),l[31]||(l[31]=e("div",{class:"w-px h-[22px] bg-surface-border dark:bg-surface-600 mx-1 shrink-0"},null,-1)),e("div",va,[t(p(O),{type:"button",onClick:Y,severity:"secondary",text:"",size:"small",class:I([p(m).tbBtn,p(m).tbBtnHeading]),title:d.$t("teams.broadcast.editor_heading")},{default:n(()=>[...l[28]||(l[28]=[G(" H ",-1),e("i",{class:"pi pi-chevron-down text-[10px] ml-0.5"},null,-1)])]),_:1},8,["class","title"]),t(p(Xt),{ref_key:"headingMenuRef",ref:k,model:L.value,popup:!0},null,8,["model"])]),l[32]||(l[32]=e("div",{class:"w-px h-[22px] bg-surface-border dark:bg-surface-600 mx-1 shrink-0"},null,-1)),e("div",fa,[t(p(O),{type:"button",onClick:l[2]||(l[2]=g=>r.value.chain().focus().toggleBulletList().run()),severity:"secondary",text:"",size:"small",class:I([p(m).tbBtn,{[p(m).tbBtnActive]:r.value.isActive("bulletList")}]),title:d.$t("teams.broadcast.editor_bullet_list")},{default:n(()=>[...l[29]||(l[29]=[e("i",{class:"pi pi-list"},null,-1)])]),_:1},8,["class","title"]),t(p(O),{type:"button",onClick:l[3]||(l[3]=g=>r.value.chain().focus().toggleOrderedList().run()),severity:"secondary",text:"",size:"small",class:I([p(m).tbBtn,{[p(m).tbBtnActive]:r.value.isActive("orderedList")}]),title:d.$t("teams.broadcast.editor_ordered_list")},{default:n(()=>[...l[30]||(l[30]=[e("i",{class:"pi pi-sort-numeric-down"},null,-1)])]),_:1},8,["class","title"])]),l[33]||(l[33]=e("div",{class:"w-px h-[22px] bg-surface-border dark:bg-surface-600 mx-1 shrink-0"},null,-1))],64)):U("",!0),e("div",ba,[t(p(O),{type:"button",onClick:l[4]||(l[4]=g=>r.value.chain().focus().toggleBold().run()),severity:"secondary",text:"",size:"small",class:I([p(m).tbBtn,p(m).tbBtnText,{[p(m).tbBtnActive]:r.value.isActive("bold")}]),title:d.$t("teams.broadcast.editor_bold")},{default:n(()=>[...l[34]||(l[34]=[e("strong",null,"B",-1)])]),_:1},8,["class","title"]),t(p(O),{type:"button",onClick:l[5]||(l[5]=g=>r.value.chain().focus().toggleItalic().run()),severity:"secondary",text:"",size:"small",class:I([p(m).tbBtn,p(m).tbBtnText,{[p(m).tbBtnActive]:r.value.isActive("italic")}]),title:d.$t("teams.broadcast.editor_italic")},{default:n(()=>[...l[35]||(l[35]=[e("em",null,"I",-1)])]),_:1},8,["class","title"]),t(p(O),{type:"button",onClick:l[6]||(l[6]=g=>r.value.chain().focus().toggleUnderline().run()),severity:"secondary",text:"",size:"small",class:I([p(m).tbBtn,p(m).tbBtnText,{[p(m).tbBtnActive]:r.value.isActive("underline")}]),title:d.$t("teams.broadcast.editor_underline")},{default:n(()=>[...l[36]||(l[36]=[e("span",{class:"underline"},"U",-1)])]),_:1},8,["class","title"]),t(p(O),{type:"button",onClick:l[7]||(l[7]=g=>r.value.chain().focus().toggleStrike().run()),severity:"secondary",text:"",size:"small",class:I([p(m).tbBtn,p(m).tbBtnText,{[p(m).tbBtnActive]:r.value.isActive("strike")}]),title:d.$t("teams.broadcast.editor_strike")},{default:n(()=>[...l[37]||(l[37]=[e("s",null,"S",-1)])]),_:1},8,["class","title"])]),l[54]||(l[54]=e("div",{class:"w-px h-[22px] bg-surface-border dark:bg-surface-600 mx-1 shrink-0"},null,-1)),e("div",ga,[t(p(O),{type:"button",onClick:l[8]||(l[8]=g=>r.value.chain().focus().toggleCode().run()),severity:"secondary",text:"",size:"small",class:I([p(m).tbBtn,{[p(m).tbBtnActive]:r.value.isActive("code")}]),title:d.$t("teams.broadcast.editor_code")},{default:n(()=>[...l[38]||(l[38]=[e("i",{class:"pi pi-code"},null,-1)])]),_:1},8,["class","title"]),t(p(O),{type:"button",onClick:l[9]||(l[9]=g=>r.value.chain().focus().toggleCodeBlock().run()),severity:"secondary",text:"",size:"small",class:I([p(m).tbBtn,{[p(m).tbBtnActive]:r.value.isActive("codeBlock")}]),title:d.$t("teams.broadcast.editor_code_block")},{default:n(()=>[...l[39]||(l[39]=[e("i",{class:"pi pi-terminal"},null,-1)])]),_:1},8,["class","title"]),t(p(O),{type:"button",onClick:l[10]||(l[10]=g=>r.value.chain().focus().toggleBlockquote().run()),severity:"secondary",text:"",size:"small",class:I([p(m).tbBtn,{[p(m).tbBtnActive]:r.value.isActive("blockquote")}]),title:d.$t("teams.broadcast.editor_blockquote")},{default:n(()=>[...l[40]||(l[40]=[e("i",{class:"pi pi-reply"},null,-1)])]),_:1},8,["class","title"]),t(p(O),{type:"button",onClick:u,severity:"secondary",text:"",size:"small",class:I([p(m).tbBtn,{[p(m).tbBtnActive]:r.value.isActive("link")}]),title:d.$t("teams.broadcast.editor_link")},{default:n(()=>[...l[41]||(l[41]=[e("i",{class:"pi pi-link"},null,-1)])]),_:1},8,["class","title"])]),B.channel==="telegram"?(v(),b(re,{key:1},[l[43]||(l[43]=e("div",{class:"w-px h-[22px] bg-surface-border dark:bg-surface-600 mx-1 shrink-0"},null,-1)),e("div",ya,[t(p(O),{type:"button",onClick:l[11]||(l[11]=g=>r.value.chain().focus().toggleTgSpoiler().run()),severity:"secondary",text:"",size:"small",class:I([p(m).tbBtn,{[p(m).tbBtnActive]:r.value.isActive("tgSpoiler")}]),title:d.$t("teams.broadcast.editor_tg_spoiler")},{default:n(()=>[...l[42]||(l[42]=[e("i",{class:"pi pi-eye-slash"},null,-1)])]),_:1},8,["class","title"])])],64)):U("",!0),B.channel==="email"?(v(),b(re,{key:2},[l[51]||(l[51]=e("div",{class:"w-px h-[22px] bg-surface-border dark:bg-surface-600 mx-1 shrink-0"},null,-1)),e("div",xa,[t(p(O),{type:"button",onClick:l[12]||(l[12]=g=>$.value.toggle(g)),severity:"secondary",text:"",size:"small",class:I(p(m).tbBtn),title:d.$t("teams.broadcast.editor_text_color")},{default:n(()=>[e("span",ha,[l[44]||(l[44]=e("span",{class:"font-bold text-[13px]"},"A",-1)),e("span",{class:"h-[3px] w-[14px] rounded-sm",style:Lt({background:ie.value??"var(--p-text-color)"})},null,4)])]),_:1},8,["class","title"]),t(p(O),{type:"button",onClick:R,severity:"secondary",text:"",size:"small",class:I(p(m).tbBtn),title:d.$t("teams.broadcast.editor_clear_color")},{default:n(()=>[...l[45]||(l[45]=[e("i",{class:"pi pi-times"},null,-1)])]),_:1},8,["class","title"]),t(p(bl),{ref_key:"colorPopoverRef",ref:$},{default:n(()=>[e("div",_a,[(v(),b(re,null,Le(z,g=>e("button",{key:g,onClick:ve=>se(g),class:I(["w-6 h-6 rounded cursor-pointer border-2 transition-transform hover:scale-110",ie.value===g?"border-primary":"border-transparent"]),style:Lt({background:g})},null,14,$a)),64))])]),_:1},512)]),l[52]||(l[52]=e("div",{class:"w-px h-[22px] bg-surface-border dark:bg-surface-600 mx-1 shrink-0"},null,-1)),e("div",ka,[t(p(O),{type:"button",onClick:l[13]||(l[13]=g=>r.value.chain().focus().setTextAlign("left").run()),severity:"secondary",text:"",size:"small",class:I([p(m).tbBtn,{[p(m).tbBtnActive]:r.value.isActive({textAlign:"left"})}]),title:d.$t("teams.broadcast.editor_align_left")},{default:n(()=>[...l[46]||(l[46]=[e("i",{class:"pi pi-align-left"},null,-1)])]),_:1},8,["class","title"]),t(p(O),{type:"button",onClick:l[14]||(l[14]=g=>r.value.chain().focus().setTextAlign("center").run()),severity:"secondary",text:"",size:"small",class:I([p(m).tbBtn,{[p(m).tbBtnActive]:r.value.isActive({textAlign:"center"})}]),title:d.$t("teams.broadcast.editor_align_center")},{default:n(()=>[...l[47]||(l[47]=[e("i",{class:"pi pi-align-center"},null,-1)])]),_:1},8,["class","title"]),t(p(O),{type:"button",onClick:l[15]||(l[15]=g=>r.value.chain().focus().setTextAlign("right").run()),severity:"secondary",text:"",size:"small",class:I([p(m).tbBtn,{[p(m).tbBtnActive]:r.value.isActive({textAlign:"right"})}]),title:d.$t("teams.broadcast.editor_align_right")},{default:n(()=>[...l[48]||(l[48]=[e("i",{class:"pi pi-align-right"},null,-1)])]),_:1},8,["class","title"])]),l[53]||(l[53]=e("div",{class:"w-px h-[22px] bg-surface-border dark:bg-surface-600 mx-1 shrink-0"},null,-1)),e("div",wa,[t(p(O),{type:"button",onClick:ne,severity:"secondary",text:"",size:"small",class:I(p(m).tbBtn),title:d.$t("teams.broadcast.editor_add_image")},{default:n(()=>[...l[49]||(l[49]=[e("i",{class:"pi pi-image"},null,-1)])]),_:1},8,["class","title"]),t(p(O),{type:"button",onClick:l[16]||(l[16]=g=>r.value.chain().focus().insertTable({rows:3,cols:3,withHeaderRow:!0}).run()),severity:"secondary",text:"",size:"small",class:I(p(m).tbBtn),title:d.$t("teams.broadcast.editor_add_table")},{default:n(()=>[...l[50]||(l[50]=[e("i",{class:"pi pi-table"},null,-1)])]),_:1},8,["class","title"])])],64)):U("",!0)]),e("div",Sa,[t(p(Kl),{editor:r.value,class:"bg-surface-0 dark:bg-surface-900"},null,8,["editor"]),B.channel==="email"&&Z.value?(v(),b("div",Ca,[e("div",Ta,[t(p(O),{type:"button",onClick:l[17]||(l[17]=g=>r.value.chain().focus().addColumnBefore().run()),severity:"secondary",size:"small",class:I(p(m).tbBtnSm),title:d.$t("teams.broadcast.editor_col_before")},{default:n(()=>[...l[55]||(l[55]=[e("i",{class:"pi pi-chevron-left"},null,-1)])]),_:1},8,["class","title"]),t(p(O),{type:"button",onClick:l[18]||(l[18]=g=>r.value.chain().focus().addColumnAfter().run()),severity:"secondary",size:"small",class:I(p(m).tbBtnSm),title:d.$t("teams.broadcast.editor_col_after")},{default:n(()=>[...l[56]||(l[56]=[e("i",{class:"pi pi-chevron-right"},null,-1)])]),_:1},8,["class","title"]),t(p(O),{type:"button",onClick:l[19]||(l[19]=g=>r.value.chain().focus().deleteColumn().run()),severity:"secondary",size:"small",class:I(p(m).tbBtnSm),title:d.$t("teams.broadcast.editor_del_col")},{default:n(()=>[...l[57]||(l[57]=[e("i",{class:"pi pi-times"},null,-1)])]),_:1},8,["class","title"])]),l[62]||(l[62]=e("div",{class:"w-px h-[18px] bg-surface-border dark:bg-surface-600 mx-1 shrink-0"},null,-1)),e("div",Va,[t(p(O),{type:"button",onClick:l[20]||(l[20]=g=>r.value.chain().focus().addRowBefore().run()),severity:"secondary",size:"small",class:I(p(m).tbBtnSm),title:d.$t("teams.broadcast.editor_row_before")},{default:n(()=>[...l[58]||(l[58]=[e("i",{class:"pi pi-chevron-up"},null,-1)])]),_:1},8,["class","title"]),t(p(O),{type:"button",onClick:l[21]||(l[21]=g=>r.value.chain().focus().addRowAfter().run()),severity:"secondary",size:"small",class:I(p(m).tbBtnSm),title:d.$t("teams.broadcast.editor_row_after")},{default:n(()=>[...l[59]||(l[59]=[e("i",{class:"pi pi-chevron-down"},null,-1)])]),_:1},8,["class","title"]),t(p(O),{type:"button",onClick:l[22]||(l[22]=g=>r.value.chain().focus().deleteRow().run()),severity:"secondary",size:"small",class:I(p(m).tbBtnSm),title:d.$t("teams.broadcast.editor_del_row")},{default:n(()=>[...l[60]||(l[60]=[e("i",{class:"pi pi-times"},null,-1)])]),_:1},8,["class","title"])]),l[63]||(l[63]=e("div",{class:"w-px h-[18px] bg-surface-border dark:bg-surface-600 mx-1 shrink-0"},null,-1)),e("div",Aa,[t(p(O),{type:"button",onClick:l[23]||(l[23]=g=>r.value.chain().focus().deleteTable().run()),severity:"danger",size:"small",class:I(p(m).tbBtnSm),title:d.$t("teams.broadcast.editor_del_table")},{default:n(()=>[...l[61]||(l[61]=[e("i",{class:"pi pi-trash"},null,-1)])]),_:1},8,["class","title"])])])):U("",!0)])])):U("",!0),t(p(He),{visible:T.value,"onUpdate:visible":l[25]||(l[25]=g=>T.value=g),header:d.$t("teams.broadcast.editor_link_dialog_title"),modal:!0,style:{width:"380px",maxWidth:"95vw"}},{footer:n(()=>[t(p(O),{label:d.$t("common.cancel"),severity:"secondary",onClick:te},null,8,["label"]),t(p(O),{label:d.$t("teams.broadcast.editor_link_apply"),severity:"success",onClick:y},null,8,["label"])]),default:n(()=>[e("div",Ba,[e("label",Da,s(d.$t("teams.broadcast.editor_link_dialog_label")),1),t(p(bt),{modelValue:V.value,"onUpdate:modelValue":l[24]||(l[24]=g=>V.value=g),placeholder:d.$t("teams.broadcast.editor_link_dialog_placeholder"),class:"w-full",onKeydown:El(y,["enter"]),autofocus:""},null,8,["modelValue","placeholder"])])]),_:1},8,["visible","header"])],64))}}),Ua="_tbBtn_vpq9s_4",Ra="_tbBtnActive_vpq9s_17",za="_tbBtnText_vpq9s_22",Ma="_tbBtnHeading_vpq9s_26",Fa="_tbBtnSm_vpq9s_31",Pa="_prose_vpq9s_45",La={tbBtn:Ua,tbBtnActive:Ra,tbBtnText:za,tbBtnHeading:Ma,tbBtnSm:Fa,prose:Pa},Oa={$style:La},Ia=Fl(Ea,[["__cssModules",Oa]]),Na={class:"space-y-3"},ja={class:"flex items-end gap-3"},Ha={class:"flex flex-col gap-1 flex-1"},qa={class:"font-semibold"},Wa={class:"flex gap-2 pb-0.5"},Ya={key:0,class:"flex flex-col gap-1"},Ka={class:"font-semibold"},Xa={class:"text-sm"},Ga={class:"space-y-3"},Qa={class:"text-sm text-muted-color"},Za={class:"flex flex-col gap-1"},Ja={class:"font-semibold"},es=qe({__name:"TemplateEditorBlock",props:{channel:{}},setup(B,{expose:N}){const j=B,{showToast:W}=st(),{t:m}=at(),C=c([]),r=c(!1),k=c(null),Z=c(""),L=c("");async function J($){r.value=!0,k.value=null;try{Z.value="",L.value="",C.value=await Qe.list($)}catch{W({type:"error",title:m("common.error.title"),message:m("teams.broadcast.template_load_error")})}finally{r.value=!1}}Te(()=>j.channel,J,{immediate:!0}),Te(k,$=>{Z.value=($==null?void 0:$.template)??"",L.value=($==null?void 0:$.t
2itle)??""});const le=c(!1),ee=c(!1);function ne(){le.value=!0}async function T(){if(k.value){ee.value=!0;try{const $=await Qe.update(k.value.id,{template:Z.value,title:j.channel==="email"&&L.value||null}),z=C.value.findIndex(ie=>ie.id===$.id);z>=0&&(C.value[z]=$),k.value=$,W({type:"success",title:m("common.success.title"),message:m("teams.broadcast.template_updated")}),le.value=!1}catch{W({type:"error",title:m("common.error.title"),message:m("teams.broadcast.template_update_error")})}finally{ee.value=!1}}}const V=c(!1),u=c(""),y=c(!1);function te(){u.value="",V.value=!0}async function Y(){const $=u.value.trim();if(!$){W({type:"warn",title:m("common.validation.title"),message:m("teams.broadcast.template_name_required")});return}y.value=!0;try{const z=await Qe.create({name:$,type:j.channel,template:Z.value,title:j.channel==="email"&&L.value||null});C.value.push(z),k.value=z,W({type:"success",title:m("common.success.title"),message:m("teams.broadcast.template_created")}),V.value=!1}catch{W({type:"error",title:m("common.error.title"),message:m("teams.broadcast.template_create_error")})}finally{y.value=!1}}return N({editorContent:Z,editorTitle:L}),($,z)=>{const ie=gt,se=O,R=bt,d=He,l=gl;return v(),b(re,null,[e("div",Na,[e("div",ja,[e("div",Ha,[e("label",qa,s($.$t("teams.broadcast.template_label")),1),t(ie,{modelValue:k.value,"onUpdate:modelValue":z[0]||(z[0]=g=>k.value=g),options:C.value,optionLabel:"name",loading:r.value,showClear:"",placeholder:"Выберите шаблон",class:"w-full",dataKey:"id"},null,8,["modelValue","options","loading"])]),e("div",Wa,[Ot(t(se,{icon:"pi pi-sync",severity:"info",disabled:!k.value,onClick:ne},null,8,["disabled"]),[[l,$.$t("teams.broadcast.template_update_tooltip"),void 0,{top:!0}]]),Ot(t(se,{icon:"pi pi-save",severity:"success",disabled:!!k.value||!Z.value.trim(),onClick:te},null,8,["disabled"]),[[l,$.$t("teams.broadcast.template_save_tooltip"),void 0,{top:!0}]])])]),j.channel==="email"?(v(),b("div",Ya,[e("label",Ka,s($.$t("teams.broadcast.email_subject_label")),1),t(R,{modelValue:L.value,"onUpdate:modelValue":z[1]||(z[1]=g=>L.value=g),placeholder:$.$t("teams.broadcast.email_subject_placeholder"),class:"w-full",maxlength:"255"},null,8,["modelValue","placeholder"])])):U("",!0),t(Ia,{modelValue:Z.value,"onUpdate:modelValue":z[2]||(z[2]=g=>Z.value=g),channel:B.channel},null,8,["modelValue","channel"])]),t(d,{visible:le.value,"onUpdate:visible":z[4]||(z[4]=g=>le.value=g),header:$.$t("teams.broadcast.template_update_title"),modal:!0,style:{width:"400px",maxWidth:"95vw"}},{footer:n(()=>[t(se,{label:$.$t("common.cancel"),severity:"secondary",onClick:z[3]||(z[3]=g=>le.value=!1)},null,8,["label"]),t(se,{label:$.$t("common.confirm_button"),severity:"success",loading:ee.value,onClick:T},null,8,["label","loading"])]),default:n(()=>{var g;return[e("p",Xa,s($.$t("teams.broadcast.template_update_confirm",{name:(g=k.value)==null?void 0:g.name})),1)]}),_:1},8,["visible","header"]),t(d,{visible:V.value,"onUpdate:visible":z[7]||(z[7]=g=>V.value=g),header:$.$t("teams.broadcast.template_create_title"),modal:!0,style:{width:"420px",maxWidth:"95vw"}},{footer:n(()=>[t(se,{label:$.$t("common.cancel"),severity:"secondary",onClick:z[6]||(z[6]=g=>V.value=!1)},null,8,["label"]),t(se,{label:$.$t("common.save"),severity:"success",loading:y.value,onClick:Y},null,8,["label","loading"])]),default:n(()=>[e("div",Ga,[e("p",Qa,s($.$t("teams.broadcast.template_create_description")),1),e("div",Za,[e("label",Ja,s($.$t("teams.broadcast.template_name_label")),1),t(R,{modelValue:u.value,"onUpdate:modelValue":z[5]||(z[5]=g=>u.value=g),placeholder:$.$t("teams.broadcast.template_name_placeholder"),class:"w-full",maxlength:"100",autofocus:""},null,8,["modelValue","placeholder"])])])]),_:1},8,["visible","header"])],64)}}}),ts={class:"space-y-4"},ls={class:"flex items-end gap-6"},as={class:"flex flex-col gap-1 flex-1"},ss={class:"font-semibold"},os={class:"flex flex-col gap-1 flex-1"},ns={class:"font-semibold"},is={key:0,class:"flex flex-col gap-1"},rs={class:"font-semibold"},us={key:1,class:"flex flex-col gap-1"},ds={class:"font-semibold"},cs={key:0,class:"grid grid-cols-[max-content_1fr_auto] gap-y-2 items-center"},ms=["title"],ps={class:"flex items-center gap-2"},vs={class:"flex items-center gap-1"},fs={class:"pl-2"},bs={key:1,class:"text-muted-color text-sm"},gs={class:"flex flex-col gap-3"},ys={class:"font-semibold text-sm"},xs={class:"grid grid-cols-1 sm:grid-cols-2 gap-3"},hs={class:"flex flex-col gap-1"},_s={class:"text-xs text-muted-color"},$s={class:"flex flex-col gap-1"},ks={class:"text-xs text-muted-color"},ws={class:"flex flex-col gap-1"},Ss={class:"text-xs text-muted-color"},Cs={class:"grid grid-cols-2 gap-3"},Ts={class:"grid grid-cols-1 sm:grid-cols-2 gap-3"},Vs={class:"flex flex-col gap-1"},As={class:"text-xs text-muted-color"},Bs={class:"flex flex-col gap-1"},Ds={class:"text-xs text-muted-color"},Es={key:0,class:"flex flex-col gap-1"},Us={class:"font-semibold"},Rs={class:"text-muted-color"},zs={key:1,class:"flex flex-col gap-1"},Ms={key:0,class:"pt-4"},Fs=qe({__name:"BroadcastDialog",props:ft({initialTeams:{default:()=>[]}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:["update:modelValue"],setup(B){const N=Vt(B,"modelValue"),j=B,{showToast:W}=st(),{t:m}=at(),C=[{label:"Telegram",value:"telegram"},{label:"Email",value:"email"}],r=c("telegram"),k=c("all"),Z=c(null),L=c("message"),J=c(""),le=de(()=>r.value==="telegram"&&L.value==="repost");function ee(x){const M=x.trim();return M?/^(https?:\/\/)?(t\.me|telegram\.me|telegram\.dog)\/(s\/)?(c\/\d+\/(\d+\/)?\d+|[a-zA-Z][a-zA-Z0-9_]{3,}\/(\d+\/)?\d+)$/.test(M):!1}const ne=c(null),T=de(()=>{const x=ne.value;
2return x?typeof x=="string"?x:Pl(x,Ll.ORIGINAL)||null:null}),V=c(null),u=c(null),y=c(null),te=c(null),Y=c([]),$=c([]),z=de(()=>k.value==="all"),ie=[{label:"In Progress",value:"in_progress"},{label:"Completed",value:"completed"}],se=[{label:"> 0",value:"positive"},{label:"= 0",value:"zero"},{label:"< 0",value:"negative"}],R=c([]),d=de(()=>[{label:m("teams.broadcast.plan_status_active"),value:"active"},{label:m("teams.broadcast.plan_status_suspended"),value:"suspended"},{label:m("teams.broadcast.plan_status_canceled"),value:"canceled"}]);async function l(){if(!R.value.length)try{const{data:x}=await el.list({params:{pageSize:100}});R.value=x.map(M=>({label:M.name||M.code,value:M.id}))}catch{R.value=[]}}const g=c([]);function ve(x){return`${x.email} ${x.role}`}function Be(x){switch(x){case tt.BUYER:return"secondary";case tt.TEAM_LEAD:return"warn";case tt.TECH:return"info";case tt.ADMIN:return"danger";default:return}}async function ze(x){try{const{data:M}=await Ol.list({params:{"filter[team][eq]":x,pageSize:500}});return M}catch{return[]}}async function be(x){if(g.value.find(ge=>ge.team.id===x.id))return;g.value.push({team:x,allUsers:[],selectedUsers:[],loading:!0});const M=g.value.length-1;g.value[M].allUsers=await ze(x.id),g.value[M].selectedUsers=[...g.value[M].allUsers],g.value[M].loading=!1}Te(Z,async x=>{x&&(await be(x),Z.value=null)}),Te(N,async x=>{x&&(g.value=[],r.value="telegram",L.value="message",J.value="",ne.value=null,V.value=null,u.value=null,y.value=null,te.value=null,Y.value=[],$.value=[],l(),j.initialTeams.length>0?(k.value="filtered",await Promise.all(j.initialTeams.map(be))):k.value="all")});function Ve(x){x!==null&&(r.value=x)}function _e(x){x!==null&&(k.value=x)}function Ue(x){x!==null&&(L.value=x)}function Ae(x){g.value.splice(x,1)}const xe=c(null),$e=c(!1);async function he(){var ke,ye,h,i,ae,Q;const x=((ke=xe.value)==null?void 0:ke.editorContent)??"";if(le.value){if(!ee(J.value)){W({type:"warn",title:m("common.validation.title"),message:m("teams.broadcast.validation_repost_url")});return}}else{if(!x.trim()){W({type:"warn",title:m("common.validation.title"),message:m("teams.broadcast.validation_empty_template")});return}if(r.value==="email"&&!((h=(ye=xe.value)==null?void 0:ye.editorTitle)!=null&&h.trim())){W({type:"warn",title:m("common.validation.title"),message:m("teams.broadcast.validation_email_subject")});return}}if(k.value==="filtered"&&g.value.reduce((oe,w)=>oe+w.selectedUsers.length,0)===0){W({type:"warn",title:m("common.validation.title"),message:m("teams.broadcast.validation_no_users")});return}const M=k.value==="filtered"?g.value.flatMap(X=>X.selectedUsers.map(oe=>oe.id)):null;let ge=null;z.value&&(V.value||u.value||y.value||te.value||Y.value.length>0||$.value.length>0)&&(ge={onboarding:V.value??void 0,balance:u.value??void 0,registeredFrom:((i=y.value)==null?void 0:i.toISOString())??void 0,registeredTo:((ae=te.value)==null?void 0:ae.toISOString())??void 0,plans:Y.value.length?Y.value:void 0,planStatuses:$.value.length?$.value:void 0}),$e.value=!0;try{await Qe.send({channel:r.value,audience:k.value,template:le.value?"":x,title:r.value==="email"&&((Q=xe.value)==null?void 0:Q.editorTitle)||null,users:M,photoUrl:r.value==="telegram"&&!le.value?T.value:null,repostUrl:le.value?J.value.trim():null,targets:ge??void 0}),W({type:"success",title:m("common.success.title"),message:m("teams.broadcast.send_success")})}catch{W({type:"error",title:m("common.error.title"),message:m("teams.broadcast.send_error")})}finally{$e.value=!1}}return(x,M)=>{const ge=Gt,ke=lt,ye=Qt,h=O,i=Zt,ae=gt,Q=vt,X=bt,oe=He;return v(),Oe(oe,{visible:N.value,"onUpdate:visible":M[10]||(M[10]=w=>N.value=w),header:x.$t("teams.broadcast.title"),modal:!0,class:"max-w-3xl w-full"},{footer:n(()=>[t(h,{label:x.$t("teams.broadcast.close"),severity:"secondary",onClick:M[9]||(M[9]=w=>N.value=!1)},null,8,["label"]),t(h,{label:x.$t("teams.broadcast.send"),severity:"success",loading:$e.value,onClick:he},null,8,["label","loading"])]),default:n(()=>[e("div",ts,[e("div",ls,[e("div",as,[e("label",ss,s(x.$t("teams.broadcast.channel")),1),t(ge,{modelValue:r.value,options:C,optionLabel:"label",optionValue:"value","onUpdate:modelValue":Ve,fluid:""},null,8,["modelValue"])]),e("div",os,[e("label",ns,s(x.$t("teams.broadcast.audience")),1),t(ge,{modelValue:k.value,options:[{label:
2x.$t("teams.broadcast.audience_all"),value:"all"},{label:x.$t("teams.broadcast.audience_filtered"),value:"filtered"}],optionLabel:"label",optionValue:"value","onUpdate:modelValue":_e,fluid:""},null,8,["modelValue","options"])])]),r.value==="telegram"?(v(),b("div",is,[e("label",rs,s(x.$t("teams.broadcast.tg_mode")),1),t(ge,{modelValue:L.value,options:[{label:x.$t("teams.broadcast.tg_mode_message"),value:"message"},{label:x.$t("teams.broadcast.tg_mode_repost"),value:"repost"}],optionLabel:"label",optionValue:"value","onUpdate:modelValue":Ue,fluid:""},null,8,["modelValue","options"])])):U("",!0),k.value==="filtered"?(v(),b("div",us,[e("label",ds,s(x.$t("teams.broadcast.add_team")),1),t(pt,{modelValue:Z.value,"onUpdate:modelValue":M[0]||(M[0]=w=>Z.value=w),localStorageSave:!1,showClear:"",placeholder:x.$t("teams.broadcast.team_placeholder"),fluid:""},null,8,["modelValue","placeholder"])])):U("",!0),k.value==="filtered"?(v(),b(re,{key:2},[g.value.length?(v(),b("div",cs,[(v(!0),b(re,null,Le(g.value,(w,ce)=>(v(),b(re,{key:w.team.id},[e("div",{class:"pr-4 font-semibold truncate",title:w.team.name},s(w.team.name),9,ms),t(ye,{modelValue:w.selectedUsers,"onUpdate:modelValue":me=>w.selectedUsers=me,options:w.allUsers,optionLabel:ve,dataKey:"id",display:"chip",placeholder:x.$t("teams.broadcast.users_placeholder"),loading:w.loading,filter:"",filterPlaceholder:"Search...",fluid:"",showClear:"",maxSelectedLabels:2},{option:n(({option:me})=>[e("div",ps,[e("span",null,s(me.email),1),t(ke,{value:me.role,severity:Be(me.role),class:"text-xs uppercase"},null,8,["value","severity"])])]),chip:n(({value:me})=>[e("div",vs,[e("span",null,s(me.email),1)])]),_:1},8,["modelValue","onUpdate:modelValue","options","placeholder","loading"]),e("div",fs,[t(h,{icon:"pi pi-trash",severity:"danger",text:"",onClick:me=>Ae(ce)},null,8,["onClick"])])],64))),128))])):(v(),b("div",bs,s(x.$t("teams.broadcast.no_teams")),1))],64)):U("",!0),z.value?(v(),b(re,{key:3},[t(i),e("div",gs,[e("label",ys,s(x.$t("teams.broadcast.targets_title")),1),e("div",xs,[e("div",hs,[e("label",_s,s(x.$t("teams.broadcast.target_onboarding")),1),t(ae,{modelValue:V.value,"onUpdate:modelValue":M[1]||(M[1]=w=>V.value=w),options:ie,optionLabel:"label",optionValue:"value",placeholder:x.$t("teams.broadcast.target_any"),showClear:"",size:"small"},null,8,["modelValue","placeholder"])]),e("div",$s,[e("label",ks,s(x.$t("teams.broadcast.target_balance")),1),t(ae,{modelValue:u.value,"onUpdate:modelValue":M[2]||(M[2]=w=>u.value=w),options:se,optionLabel:"label",optionValue:"value",placeholder:x.$t("teams.broadcast.target_any"),showClear:"",size:"small"},null,8,["modelValue","placeholder"])])]),e("div",ws,[e("label",Ss,s(x.$t("teams.broadcast.target_registered")),1),e("div",Cs,[t(Q,{modelValue:y.value,"onUpdate:modelValue":M[3]||(M[3]=w=>y.value=w),placeholder:"From",size:"small",dateFormat:"dd.mm.yy",showIcon:"",showOnFocus:!1,fluid:""},null,8,["modelValue"]),t(Q,{modelValue:te.value,"onUpdate:modelValue":M[4]||(M[4]=w=>te.value=w),placeholder:"To",size:"small",dateFormat:"dd.mm.yy",showIcon:"",showOnFocus:!1,fluid:""},null,8,["modelValue"])])]),e("div",Ts,[e("div",Vs,[e("label",As,s(x.$t("teams.broadcast.target_plan")),1),t(ye,{modelValue:Y.value,"onUpdate:modelValue":M[5]||(M[5]=w=>Y.value=w),options:R.value,optionLabel:"label",optionValue:"value",display:"chip",filter:"",placeholder:x.$t("teams.broadcast.target_any"),showClear:"",size:"small",maxSelectedLabels:3},null,8,["modelValue","options","placeholder"])]),e("div",Bs,[e("label",Ds,s(x.$t("teams.broadcast.target_plan_status")),1),t(ye,{modelValue:$.value,"onUpdate:modelValue":M[6]||(M[6]=w=>$.value=w),options:d.value,optionLabel:"label",optionValue:"value",display:"chip",placeholder:x.$t("teams.broadcast.target_any"),showClear:"",size:"small",maxSelectedLabels:3},null,8,["modelValue","options","placeholder"])])])])],64)):U("",!0),r.value==="telegram"?(v(),b(re,{key:4},[t(i),le.value?(v(),b("div",Es,[e("label",Us,s(x.$t("teams.broadcast.repost_url_label")),1),t(X,{modelValue:J.value,"onUpdate:modelValue":M[7]||(M[7]=w=>J.value=w),placeholder:x.$t("teams.broadcast.repost_url_placeholder"),invalid:J.value.length>0&&!ee(J.value),fluid:""}
2,null,8,["modelValue","placeholder","invalid"]),e("small",Rs,s(x.$t("teams.broadcast.repost_url_hint")),1)])):(v(),b("div",zs,[t(ql,{modelValue:ne.value,"onUpdate:modelValue":M[8]||(M[8]=w=>ne.value=w),cropType:"original",label:x.$t("teams.broadcast.photo_label"),supportInfo:!1,previewAspectRatio:[16,9]},null,8,["modelValue","label"])]))],64)):U("",!0)]),le.value?U("",!0):(v(),b("div",Ms,[t(es,{ref_key:"templateEditorRef",ref:xe,channel:r.value},null,8,["channel"])]))]),_:1},8,["visible","header"])}}}),Ps={class:"space-y-4"},Ls={class:"flex items-center justify-between"},Os={class:"text-lg font-semibold"},Is={class:"capitalize"},Ns={class:"flex flex-col gap-1"},js={class:"text-xs text-muted-color"},Hs={class:"text-green-600"},qs={class:"text-red-500"},Ws={class:"text-orange-500"},Ys={class:"text-sm"},Ks={class:"text-center text-muted-color py-4"},Xs={key:0,class:"flex items-center justify-center py-8"},Gs={key:1,class:"space-y-4"},Qs={class:"grid grid-cols-2 sm:grid-cols-4 gap-3 text-center"},Zs={class:"text-xs text-muted-color"},Js={class:"font-bold text-lg"},eo={class:"text-xs text-muted-color"},to={class:"font-bold text-lg text-green-600"},lo={class:"text-xs text-muted-color"},ao={class:"font-bold text-lg text-red-500"},so={class:"text-xs text-muted-color"},oo={class:"font-bold text-lg text-orange-500"},no={class:"flex flex-wrap gap-4 text-sm"},io={key:0,class:"flex items-center gap-2"},ro=["src"],uo={key:1,class:"flex items-center gap-2 text-sm"},co={class:"text-muted-color"},mo=["href"],po={key:2,class:"text-sm"},vo={key:0,class:"ml-2"},fo={key:1,class:"ml-2"},bo={key:2,class:"ml-2"},go={key:3,class:"ml-2"},yo={key:4,class:"ml-2"},xo={key:5,class:"ml-2"},ho={key:3},_o={class:"font-semibold text-sm"},$o={key:1},ko=qe({__name:"BroadcastStatsView",setup(B){const{t:N}=at(),{showToast:j}=st(),W=c([]),m=c(!1),C=c(0),r=St({first:0,rows:15});async function k(){m.value=!0;try{const u=Math.floor(r.first/r.rows)+1,{data:y,meta:te}=await Qe.listDispatches({page:u,pageSize:r.rows,sort:"-created"});W.value=y,C.value=te.total}
2catch{j({type:"error",title:N("common.error.title"),message:"Failed to load dispatches"})}finally{m.value=!1}}function Z(u){r.first=u.first,r.rows=u.rows,k()}function L(u){switch(u){case"completed":return"success";case"in_progress":return"info";case"pending":return"warn";case"failed":return"danger";default:return"secondary"}}function J(u){if(!u)return"—";const y=new Date(u);return Number.isNaN(y.getTime())?"—":y.toLocaleString()}function le(u){return u.usersTotal?Math.round((u.usersSent+u.usersFailed+u.usersSkipped)/u.usersTotal*100):0}const ee=c(!1),ne=c(!1),T=c(null);async function V(u){ee.value=!0,ne.value=!0;try{T.value=await Qe.getDispatch(u.id)}catch{j({type:"error",title:N("common.error.title"),message:"Failed to load dispatch details"})}finally{ne.value=!1}}return Jt(()=>k()),(u,y)=>{const te=O,Y=Ct,$=lt,z=yl,ie=Tt,se=He;return v(),b("div",Ps,[e("div",Ls,[e("h3",Os,s(u.$t("teams.broadcast.stats_title")),1),t(te,{icon:"pi pi-refresh",text:"",size:"small",onClick:k,loading:m.value},null,8,["loading"])]),t(ie,{value:W.value,dataKey:"id",loading:m.value,responsiveLayout:"scroll",stripedRows:"",paginator:!0,rows:r.rows,totalRecords:C.value,lazy:!0,first:r.first,onPage:Z,size:"small",rowHover:""},{empty:n(()=>[e("div",Ks,s(u.$t("teams.broadcast.stats_empty")),1)]),default:n(()=>[t(Y,{field:"created",header:u.$t("teams.broadcast.stats_date"),style:{width:"160px"}},{body:n(({data:R})=>[G(s(J(R.created)),1)]),_:1},8,["header"]),t(Y,{field:"channel",header:u.$t("teams.broadcast.channel"),style:{width:"100px"}},{body:n(({data:R})=>[t($,{value:R.channel,severity:R.channel==="telegram"?"info":"warn"},null,8,["value","severity"])]),_:1},8,["header"]),t(Y,{field:"audience",header:u.$t("teams.broadcast.audience"),style:{width:"100px"}},{body:n(({data:R})=>[e("span",Is,s(R.audience),1)]),_:1},8,["header"]),t(Y,{field:"status",header:u.$t("teams.broadcast.stats_status"),style:{width:"120px"}},{body:n(({data:R})=>[t($,{value:R.status,severity:L(R.status)},null,8,["value","severity"])]),_:1},8,["header"]),t(Y,{header:u.$t("teams.broadcast.stats_progress"),style:{width:"200px"}},{body:n(({data:R})=>[e("div",Ns,[t(z,{value:le(R),showValue:!1,style:{height:"6px"}},null,8,["value"]),e("div",js,[e("span",Hs,s(R.usersSent),1),y[2]||(y[2]=G(" / ",-1)),e("span",qs,s(R.usersFailed),1),y[3]||(y[3]=G(" / ",-1)),e("span",Ws,s(R.usersSkipped),1),y[4]||(y[4]=G(" / ",-1)),e("span",null,s(R.usersTotal),1)])])]),_:1},8,["header"]),t(Y,{field:"createdByEmail",header:u.$t("teams.broadcast.stats_author"),style:{"min-width":"140px"}},{body:n(({data:R})=>[e("span",Ys,s(R.createdByEmail||"—"),1)]),_:1},8,["header"]),t(Y,{style:{width:"60px"}},{body:n(({data:R})=>[t(te,{icon:"pi pi-eye",text:"",size:"small",onClick:d=>V(R)},null,8,["onClick"])]),_:1})]),_:1},8,["value","loading","rows","totalRecords","first"]),t(se,{visible:ee.value,"onUpdate:visible":y[1]||(y[1]=R=>ee.value=R),header:u.$t("teams.broadcast.stats_detail_title"),modal:!0,class:"max-w-2xl w-full"},{footer:n(()=>[t(te,{label:u.$t("teams.broadcast.close"),text:"",onClick:y[0]||(y[0]=R=>ee.value=!1)},null,8,["label"])]),default:n(()=>{var R,d;return[ne.value?(v(),b("div",Xs,[...y[5]||(y[5]=[e("i",{class:"pi pi-spin pi-spinner text-2xl"},null,-1)])])):T.value?(v(),b("div",Gs,[e("div",Qs,[e("div",null,[e("div",Zs,s(u.$t("teams.broadcast.stats_total")),1),e("div",Js,s(T.value.usersTotal),1)]),e("div",null,[e("div",eo,s(u.$t("teams.broadcast.stats_sent")),1),e("div",to,s(T.value.usersSent),1)]),e("div",null,[e("div",lo,s(u.$t("teams.broadcast.stats_failed")),1),e("div",ao,s(T.value.usersFailed),1)]),e("div",null,[e("div",so,s(u.$t("teams.broadcast.stats_skipped")),1),e("div",oo,s(T.value.usersSkipped),1)])]),e("div",no,[e("div",null,[y[6]||(y[6]=e("span",{class:"text-muted-color"},"Status:",-1)),y[7]||(y[7]=G()),t($,{value:T.value.status,severity:L(T.value.status)},null,8,["value","severity"])]),e("div",null,[y[8]||(y[8]=e("span",{class:"text-muted-color"},"Started:",-1)),G(" "+s(J(T.value.startedAt)),1)]),e("div",null,[y[9]||(y[9]=e("span",{class:"text-muted-color"},"Completed:",-1)),G(" "+s(J(T.value.completedAt)),1)])]),T.value.photoUrl?(v(),b("div",io,[y[10]||(y[10]=e("span",{class:"text-muted-color text-sm"},"Photo:",-1)),e("img",{src:T.value.photoUrl,class:"h-16 rounded border",alt:"broadcast photo"},null,8,ro)])):U("",!0),T.value.repostUrl?(v(),b("div",uo,[e("span",co,s(u.$t("teams.broadcast.repost_url_label"))+":",1),e("a",{href:T.value.repostUrl,target:"_blank",rel:"noopener",class:"text-primary underline break-all"},s(T.value.repostUrl),9,mo)])):U("",!0),T.value.targets?(v(),b("div",po,[y[11]||(y[11]=e("span",{class:"text-muted-color"},"Targets:",-1)),T.value.targets.onboarding?(v(),b("span",vo,"Onboarding: "+s(T.value.targets.onboarding),1)):U("",!0),T.value.targets.balance?(v(),b("span",fo,"Balance: "+s(T.value.targets.balance),1)):U("",!0),T.value.targets.registeredFrom?(v(),b("span",bo,"From: "+s(T.value.targets.registeredFrom),1)):U("",!0),T.value.targets.registeredTo?(v(),b("span",go,"To: "+s(T.value.targets.registeredTo),1)):U("",!0),(R=T.value.targets.plans)!=null&&R.length?(v(),b("span",yo,"Plans: "+s(T.value.targets.plans.length),1)):U("",!0),(d=T.value.targets.planStatuses)!=null&&d.length?(v(),b("span",xo,"Plan status: "+s(T.value.targets.planStatuses.join(", ")),1)):U("",!0)])):U("",!0),T.value.errors&&T.value.errors.length?(v(),b("div",ho,[e("label",_o,s(u.$t("teams.broadcast.stats_errors"))+" ("+s(T.value.errors.length)+")",1),t(ie,{value:T.value.errors,size:"small",paginator:T.value.errors.length>10,rows:10,class:"mt-2"},{default:n(()=>[t(Y,{field:"email",header:"Email",style:{"min-width":"140px"}},{body:n(({data:l})=>[G(s(l.email||l.userId||"—"),1)]),_:1}),t(Y,{field:"reason",header:"Reason",style:{"min-width":"180px"}}),t(Y,{field:"code",header:"Code",style:{width:"120px"}},{body:n(({data:l})=>[l.code?(v(),Oe($,{key:0,value:l.code,severity:"secondary"},null,8,["value"])):(v(),b("span",$o,"—"))]),_:1}),t(Y,{field:"at",header:"Time",style:{width:"160px"}},{body:n(({data:l})=>[G(s(J(l.at)),1)]),_:1})]),_:1}
2,8,["value","paginator"])])):U("",!0)])):U("",!0)]}),_:1},8,["visible","header"])])}}}),wo={class:"flex items-center gap-3 w-full"},So={class:"text-xl font-semibold"},Co={key:1,class:"text-sm text-muted-color ml-auto"},To={key:0,class:"grid grid-cols-1 lg:grid-cols-2 gap-5"},Vo={class:"space-y-4"},Ao={class:"border border-surface-200 dark:border-surface-700 rounded-lg p-4 space-y-3"},Bo={class:"flex items-center gap-3 pt-1"},Do={class:"border border-surface-200 dark:border-surface-700 rounded-lg p-4"},Eo={class:"flex items-center gap-2 mb-3"},Uo={key:0,class:"space-y-3"},Ro={class:"flex justify-end"},zo={key:0,class:"text-muted-color text-sm py-3 text-center"},Mo={key:0,class:"space-y-1"},Fo={class:"flex items-center justify-between"},Po={class:"flex items-center gap-2"},Lo={class:"font-semibold text-sm"},Oo={class:"flex items-center gap-1"},Io={key:0,class:"text-xs text-muted-color"},No={class:"text-xs text-muted-color"},jo={key:1,class:"text-xs text-muted-color italic"},Ho={key:1,class:"space-y-3"},qo={class:"flex items-center justify-between"},Wo={class:"text-sm font-semibold"},Yo={class:"grid grid-cols-2 gap-3"},Ko={class:"flex justify-end gap-2"},Xo={key:1},Go={class:"text-xs"},Qo={class:"text-xs text-muted-color"},Zo={class:"space-y-4"},Jo={class:"border border-surface-200 dark:border-surface-700 rounded-lg p-4"},en={class:"text-2xl font-bold"},tn={class:"text-base font-normal text-muted-color"},ln={class:"mt-3 flex gap-2"},an={key:0,class:"border border-surface-200 dark:border-surface-700 rounded-lg p-4 space-y-3"},sn={class:"flex items-center justify-between"},on={class:"font-semibold text-sm"},nn={class:"grid grid-cols-[_auto_130px_130px] gap-2"},rn={class:"block text-xs font-medium mb-1 text-muted-color"},un={class:"text-sm font-semibold leading-[2.4rem] ml-auto"},dn={class:"border border-surface-200 dark:border-surface-700 rounded-lg p-4 space-y-3"},cn={class:"text-lg font-semibold"},mn={class:"text-sm space-y-0.5"},pn={class:"border border-surface-200 dark:border-surface-700 rounded-lg p-4 space-y-2"},vn={class:"flex justify-end gap-2"},fn=qe({__name:"TeamEditDialog",props:ft({team:{},plans:{},loadingPlans:{type:Boolean}},{visible:{type:Boolean,default:!1},visibleModifiers:{}}),emits:ft(["saved"],["update:visible"]),setup(B,{emit:N}){let j=0;function W(){return`discount_${Date.now()}_${++j}`}const m=Vt(B,"visible"),C=B,r=N,{showToast:k}=st(),Z=c(""),L=c(null),J=c("active"),le=c(!1),ee=c([]),ne=c(!1),T=c(null),V=c(!1),u=c(!1),y=c(null),te=c(null),Y=c(""),$=c(!1),z=c(null),ie=c([]),se=c(!1),R=c("discounts"),d=[{label:"Monthly Fee",value:et.MONTHLY_FEE},{label:"Pay PWA Install",value:et.PAY_PWA_INSTALL},{label:"Pay Push Send",value:et.PAY_PUSH_SEND},{label:"Pay Tracker Event",value:et.PAY_TRACKER_EVENT},{label:"Pay Extra Team Member",value:et.PAY_EXTRA_TEAM_MEMBER}];Te(()=>C.team,h=>{h&&(Z.value=h.name??"",L.value=h.planRenewAt?new Date(h.planRenewAt):null,J.value=h.planStatus||"active",le.value=h.onboardingEnabled??!1,ee.value=(h.discounts||[]).map(i=>({...i,_key:W(),expiresAt:new Date(i.expiresAt)})),T.value=h.plan,y.value=null,te.value=null,Y.value="",z.value=null,be())},{immediate:!0});const l=de(()=>{var i;if(!((i=C.team)!=null&&i.plan))return"—";const h=C.plans.find(ae=>ae.id===C.team.plan);return(h==null?void 0:h.name)??C.team.plan}),g=de(()=>{var h;return((h=C.team)==null?void 0:h.planStatus)===Il.SUSPENDED}),ve=de(()=>C.team?(C.team.billingBalance/100).toFixed(2):"0.00"),Be=de(()=>{const h=Number(te.value??0);return h?(Math.abs(h)/100).toFixed(2):"0.00"}),ze=de(()=>{if(!C.team)return"0.00";const h=Number(te.value??0),i=y.value==="deduct"?-Math.abs(h):Math.abs(h);return((C.team.billingBalance+i)/100).toFixed(2)});async function be(){if(C.team){se.value=!0;try{const h=await mt.ledger(C.team.id,{params:{limit:20,sort:"-created"}});ie.value=h.data}catch{ie.value=[]}finally{se.value=!1}}}async function Ve(){var h,i,ae,Q;if(C.team){ne.value=!0;try{const X={};Z.value!==C.team.name&&(X.name=Z.value),(((h=L.value)==null?void 0:h.toISOString())??null)!==(C.team.planRenewAt??null)&&(X.planRenewAt=L.value?L.value.toISOString():null),J.value!==C.team.planStatus&&(X.planStatus=J.value),le.value!==(C.team.onboardingEnabled??!1)&&(X.onboardingEnabled=le.value);const oe=C.team.discounts||[],w=ee.value.map(({_key:me,expiresAt:we,...De})=>({...De,expiresAt:we instanceof Date?we.toISOString():we}));if(JSON.stringify(oe)!==JSON.stringify(w)&&(X.discounts=w),Object.keys(X).length===0){k({type:"info",title:"No changes",message:"Nothing to save"});return}const ce=await Re.patch(C.team.id,X);k({type:"success",title:"Saved",message:"Team updated"}),r("saved",ce)}catch(X){const oe=((Q=(ae=(i=X==null?void 0:X.response)==null?void 0:i.data)==null?void 0:ae.error)==null?void 0:Q.message)??"Failed to save changes";k({type:"error",title:"Error",message:oe})}finally{ne.value=!1}}}async function _e(){var h,i,ae;if(C.team){V.value=!0;try{await mt.changePlan(C.team.id,T.value??null),k({type:"success",title:"Success",message:"Plan updated"});const Q=await Re.get(C.team.id);r("saved",Q),be()}catch(Q){const X=((ae=(i=(h=Q==null?void 0:Q.response)==null?void 0:h.data)==null?void 0:i.error)==null?void 0:ae.message)??"Failed to update plan";k({type:"error",title:"Error",message:X})}finally{V.value=!1}}}async function Ue(){if(C.team){u.value=!0;try{await mt.planRefresh(C.team.id),k({type:"success",title:"Success",message:"Plan renew
2al started"});const h=await Re.get(C.team.id);r("saved",h),be()}catch(h){k({type:"error",title:"Error",message:oa(h,"Failed to refresh plan")})}finally{u.value=!1}}}function Ae(h){y.value=h,te.value=null,Y.value=""}async function xe(){var ae,Q,X;if(!C.team||!y.value)return;const h=Number(te.value??0);if(!Number.isFinite(h)||h<=0){k({type:"warn",title:"Validation",message:"Enter positive amount"});return}const i=Y.value.trim();if(!i){k({type:"warn",title:"Validation",message:"Please provide a comment"});return}$.value=!0;try{const oe=y.value==="deduct"?-Math.trunc(h):Math.trunc(h);await mt.topUp(C.team.id,{amount:oe,comment:i});const w=y.value==="topup"?"topped up":"deducted";k({type:"success",title:"Success",message:`Balance ${w}`}),y.value=null;const ce=await Re.get(C.team.id);r("saved",ce),be()}catch(oe){const w=((X=(Q=(ae=oe==null?void 0:oe.response)==null?void 0:ae.data)==null?void 0:Q.error)==null?void 0:X.message)??"Operation failed";k({type:"error",title:"Error",message:w})}finally{$.value=!1}}function $e(){ee.value=[{_key:W(),percent:10,expiresAt:new Date(Date.now()+30*24*60*60*1e3),actions:[],description:""},...ee.value],z.value=0}function he(h){ee.value.splice(h,1),z.value===h&&(z.value=null)}function x(h){return h<new Date}function M(h){return h>=new Date}function ge(h){if(!h)return"—";const i=h instanceof Date?h:new Date(h);return Number.isNaN(i.getTime())?"—":i.toLocaleDateString("ru-RU",{day:"2-digit",month:"2-digit",year:"numeric"})}function ke(h){if(!h)return"—";const i=h instanceof Date?h:new Date(h);return Number.isNaN(i.getTime())?"—":i.toLocaleString("ru-RU",{day:"2-digit",month:"2-digit",year:"numeric",hour:"2-digit",minute:"2-digit"})}function ye(h){return{MONTHLY_FEE:"Monthly Fee",TOP_UP:"Top up",DECREMENT:"Deduct",PAY_PWA_INSTALL:"PWA Install",PAY_PUSH_SEND:"Push Send",PAY_TRACKER_EVENT:"Tracker Event",PAY_EXTRA_TEAM_MEMBER:"Extra Member",PAY_IOS_INSTALL:"iOS Install",PAY_DOMAIN:"Domain",REFERRAL_BONUS:"Referral Bonus",REFERRAL_TRANSFER:"Referral Transfer",REFERRAL_WITHDRAWAL:"Referral Withdrawal"}[h]??h}return(h,i)=>{const ae=lt,Q=bt,X=gt,oe=xl,w=O,ce=hl,me=Qt,we=Ct,De=Tt,yt=Zt,xt=He;return v(),Oe(xt,{visible:m.value,"onUpdate:visible":i[15]||(i[15]=S=>m.value=S),modal:!0,style:{width:"1100px",maxWidth:"95vw"},closable:!0,draggable:!1,class:"team-edit-dialog"},{header:n(()=>{var S;return[e("div",wo,[e("span",So,s(((S=B.team)==null?void 0:S.name)??"Edit Team"),1),B.team?(v(),Oe(ae,{key:0,value:B.team.planStatus,severity:B.team.planStatus==="active"?"success":B.team.planStatus==="suspended"?"warn":"danger"},null,8,["value","severity"])):U("",!0),B.team?(v(),b("span",Co,s(l.value)+" · "+s(ve.value)+" "+s(B.team.billingCurrency),1)):U("",!0)])]}),footer:n(()=>[e("div",vn,[t(w,{label:"Cancel",text:"",icon:"pi pi-times",onClick:i[14]||(i[14]=S=>m.value=!1)}),t(w,{label:"Save changes",icon:"pi pi-check",loading:ne.value,onClick:Ve},null,8,["loading"])])]),default:n(()=>[B.team?(v(),b("div",To,[e("div",Vo,[e("div",Ao,[i[20]||(i[20]=e("h3",{class:"font-semibold text-base"},"Team settings",-1)),e("div",null,[i[16]||(i[16]=e("label",{class:"block text-sm font-medium mb-1"},"Name",-1)),t(Q,{modelValue:Z.value,"onUpdate:modelValue":i[0]||(i[0]=S=>Z.value=S),class:"w-full",maxlength:"100"},null,8,["modelValue"])]),e("div",null,[i[17]||(i[17]=e("label",{class:"block text-sm font-medium mb-1"},"Plan renew at",-1)),t(p(vt),{modelValue:L.value,"onUpdate:modelValue":i[1]||(i[1]=S=>L.value=S),showIcon:"",fluid:"",showTime:!0,hourFormat:"24",dateFormat:"yy-mm-dd"},null,8,["modelValue"])]),e("div",null,[i[18]||(i[18]=e("label",{class:"block text-sm font-medium mb-1"},"Plan status",-1)),t(X,{class:"w-full",modelValue:J.value,"onUpdate:modelValue":i[2]||(i[2]=S=>J.value=S),options:["active","suspended","canceled"]},null,8,["modelValue"])]),e("div",Bo,[t(oe,{modelValue:le.value,"onUpdate:modelValue":i[3]||(i[3]=S=>le.value=S),inputId:"ed-onboarding"},null,8,["modelValue"]),i[19]||(i[19]=e("label",{for:"ed-onboarding",class:"text-sm font-medium cursor-pointer"},"Onboarding Enabled",-1))])]),e("div",Do,[e("div",Eo,[e("button",{class:I(["text-sm font-semibold px-3 py-1 rounded-md transition-colors",R.value==="discounts"?"bg-primary text-primary-contrast":"text-muted-color hover:bg-surface-100 dar
2k:hover:bg-surface-800"]),onClick:i[4]||(i[4]=S=>R.value="discounts")}," Discounts ",2),e("button",{class:I(["text-sm font-semibold px-3 py-1 rounded-md transition-colors",R.value==="history"?"bg-primary text-primary-contrast":"text-muted-color hover:bg-surface-100 dark:hover:bg-surface-800"]),onClick:i[5]||(i[5]=S=>R.value="history")}," Billing History ",2)]),R.value==="discounts"?(v(),b("div",Uo,[e("div",Ro,[t(w,{icon:"pi pi-plus",label:"Add discount",size:"small",severity:"success",onClick:$e})]),ee.value.length===0?(v(),b("div",zo," No discounts configured ")):U("",!0),(v(!0),b(re,null,Le(ee.value,(S,Se)=>(v(),b("div",{key:S._key,class:I(["border rounded-lg p-3 transition-all",{"border-red-300 dark:border-red-700 border-l-4":x(S.expiresAt),"border-green-300 dark:border-green-700 border-l-4":M(S.expiresAt),"border-surface-200 dark:border-surface-700":!1}])},[z.value!==Se?(v(),b("div",Mo,[e("div",Fo,[e("div",Po,[e("span",Lo,s(S.percent)+"%",1),t(ae,{value:x(S.expiresAt)?"Expired":"Active",severity:x(S.expiresAt)?"danger":"success",class:"text-xs"},null,8,["value","severity"])]),e("div",Oo,[t(w,{icon:"pi pi-pencil",text:"",size:"small",onClick:pe=>z.value=Se},null,8,["onClick"]),t(w,{icon:"pi pi-trash",text:"",size:"small",severity:"danger",onClick:pe=>he(Se)},null,8,["onClick"])])]),S.actions.length?(v(),b("div",Io,s(S.actions.map(pe=>ye(pe)).join(", ")),1)):U("",!0),e("div",No," Expires: "+s(ke(S.expiresAt)),1),S.description?(v(),b("div",jo,s(S.description),1)):U("",!0)])):(v(),b("div",Ho,[e("div",qo,[e("span",Wo,"Edit discount #"+s(Se+1),1),t(w,{icon:"pi pi-times",text:"",size:"small",onClick:i[6]||(i[6]=pe=>z.value=null)})]),e("div",Yo,[e("div",null,[i[21]||(i[21]=e("label",{class:"block text-xs mb-1"},"Percent (%)",-1)),t(ce,{modelValue:S.percent,"onUpdate:modelValue":pe=>S.percent=pe,min:0,max:100,class:"w-full",suffix:"%"},null,8,["modelValue","onUpdate:modelValue"])]),e("div",null,[i[22]||(i[22]=e("label",{class:"block text-xs mb-1"},"Expires At",-1)),t(p(vt),{modelValue:S.expiresAt,"onUpdate:modelValue":pe=>S.expiresAt=pe,showIcon:"",fluid:"",showTime:!0,hourFormat:"24",dateFormat:"yy-mm-dd"},null,8,["modelValue","onUpdate:modelValue"])])]),e("div",null,[i[23]||(i[23]=e("label",{class:"block text-xs mb-1"},"Charge types",-1)),t(me,{modelValue:S.actions,"onUpdate:modelValue":pe=>S.actions=pe,options:d,optionLabel:"label",optionValue:"value",placeholder:"Select actions",class:"w-full",display:"chip"},null,8,["modelValue","onUpdate:modelValue"])]),e("div",null,[i[24]||(i[24]=e("label",{class:"block text-xs mb-1"},"Description",-1)),t(Q,{modelValue:S.description,"onUpdate:modelValue":pe=>S.description=pe,class:"w-full",maxlength:"255",placeholder:"Optional description"},null,8,["modelValue","onUpdate:modelValue"])]),e("div",Ko,[t(w,{label:"Done",size:"small",onClick:i[7]||(i[7]=pe=>z.value=null)}),t(w,{icon:"pi pi-trash",label:"Remove",size:"small",severity:"danger",onClick:pe=>he(Se)},null,8,["onClick"])])]))],2))),128))])):U("",!0),R.value==="history"?(v(),b("div",Xo,[t(De,{value:ie.value,loading:se.value,size:"small",stripedRows:"",rows:10,paginator:ie.value.length>10},{empty:n(()=>[...i[25]||(i[25]=[e("div",{class:"text-center text-muted-color text-sm py-4"},"No billing history",-1)])]),default:n(()=>[t(we,{header:"Date",style:{width:"140px"}},{body:n(({data:S})=>[e("span",Go,s(ke(S.created)),1)]),_:1}),t(we,{header:"Type",style:{width:"120px"}},{body:n(({data:S})=>[t(ae,{value:ye(S.action),severity:S.amount>=0?"success":"danger",class:"text-xs"},null,8,["value","severity"])]),_:1}),t(we,{header:"Amount",style:{width:"100px"}},{body:n(({data:S})=>[e("span",{class:I([S.amount>=0?"text-green-600":"text-red-600","font-mono text-sm"])},s(S.amount>=0?"+":"")+s((S.amount/100).toFixed(2))+" "+s(S.currency),3)]),_:1}),t(we,{field:"comment",header:"Comment"},{body:n(({data:S})=>[e("span",Qo,s(S.comment||"—"),1)]),_:1})]),_:1},8,["value","loading","paginator"])])):U("",!0)])]),e("div",Zo,[e("div",Jo,[i[26]||(i[26]=e("div",{class:"text-sm text-muted-color mb-1"},"Balance",-1)),e("div",en,[G(s(ve.value)+" ",1),e("span",tn,s(B.team.billingCurrency),1)]),e("div",ln,[t(w,{label:"Top up",icon:"pi pi-plus",size:"small",outlined:y.value!=="topup",onClick:i[8]||(i[8]=S=>Ae("topup"))},null,8,["outlined"]),t(w,{label:"Deduct",icon:"pi pi-minus",size:"small",severity:"danger",outlined:y.value!=="deduct",onClick:i[9]||(i[9]=S=>Ae("deduct"))},null,8,["outlined"])])]),t(Ul,{name:"fade"},{default:n(()=>{var S;return[y.value?(v(),b("div",an,[e("div",sn,[e("h4",on,s(y.value==="topup"?"Top up balance":"Deduct balance"),1),t(w,{icon:"pi pi-times",text:"",size:"small",onClick:i[10]||(i[10]=Se=>y.value=null)})]),e("div",nn,[e("div",null,[i[27]||(i[27]=e("label",{class:"block text-xs font-medium mb-1 text-muted-color"},"Amount, cents",-1)),t(ce,{modelValue:te.value,"onUpdate:modelValue":i[11]||(i[11]=Se=>te.value=Se),fluid:""},null,8,["modelValue"])]),e("div",null,[e("label",rn,s(((S=B.team)==null?void 0:S.billingCurrency)??"USD"),1),e("div",un," = "+s(Be.value)+" $ ",1)]),e("div",null,[i[28]||(i[28]=e("label",{class:"block text-xs font-medium mb-1 text-muted-color"},"After operation",-1)),e("div",{class:I(["text-sm font-semibold leading-[2.4rem]",Number(ze.value)<0?"text-red-500":"text-green-600"])}," → "+s(ze.value)+" $ ",3)])]),e("div",null,[i[29]||(i[29]=e("label",{class:"block text-xs mb-1"},"Comment",-1)),t(Q,{modelValue:Y.value,"onUpdate:modelValue":i[12]||(i[12]=Se=>Y.value=Se),maxlength:"200",class:"w-full",placeholder:"Reason for operation"},null,8,["modelValue"])]),t(w,{label:y.value==="topup"?"Apply top up":"Ap
2ply deduction",icon:y.value==="topup"?"pi pi-plus":"pi pi-minus",severity:y.value==="deduct"?"danger":void 0,loading:$.value,size:"small",onClick:xe},null,8,["label","icon","severity","loading"])])):U("",!0)]}),_:1}),e("div",dn,[i[34]||(i[34]=e("div",{class:"text-sm text-muted-color mb-1"},"Active plan",-1)),e("div",cn,s(l.value),1),e("div",mn,[e("div",null,[i[30]||(i[30]=G(" Started: ",-1)),e("b",null,s(ge(B.team.planStartedAt)),1)]),e("div",null,[i[31]||(i[31]=G(" Ends: ",-1)),e("b",null,s(ge(B.team.planRenewAt)),1)]),e("div",null,[i[32]||(i[32]=G(" Status: ",-1)),t(ae,{value:B.team.planStatus,severity:B.team.planStatus==="active"?"success":B.team.planStatus==="suspended"?"warn":"danger",class:"text-xs ml-1"},null,8,["value","severity"])])]),t(yt),e("div",null,[i[33]||(i[33]=e("label",{class:"block text-xs font-medium mb-1"},"Change plan",-1)),t(X,{class:"w-full",modelValue:T.value,"onUpdate:modelValue":i[13]||(i[13]=S=>T.value=S),options:B.plans,optionLabel:"name",optionValue:"id",loading:B.loadingPlans,showClear:"",placeholder:"Select plan"},null,8,["modelValue","options","loading"])]),t(w,{label:"Apply plan change",icon:"pi pi-check",size:"small",loading:V.value,disabled:T.value===B.team.plan,onClick:_e},null,8,["loading","disabled"])]),e("div",pn,[i[35]||(i[35]=e("div",{class:"text-sm text-muted-color"},"Plan reactivation",-1)),i[36]||(i[36]=e("p",{class:"text-xs text-muted-color"}," Retry renewal of a suspended plan. Requires sufficient balance. ",-1)),t(w,{label:"Reactivate plan",icon:"pi pi-refresh",size:"small",severity:"warn",loading:u.value,disabled:u.value||!g.value,onClick:Ue},null,8,["loading","disabled"])])])])):U("",!0)]),_:1},8,["visible"])}}}),bn={class:"flex items-center gap-3.5 min-w-0 flex-wrap"},gn={key:1,class:"text-[13px] text-surface-500 dark:text-surface-400"},yn={key:0,class:"flex flex-col items-center justify-center gap-3 px-7 py-12"},xn={class:"text-base text-surface-500 dark:text-surface-400"},hn={key:1,class:"px-7 py-12 text-base text-red-500"},_n={class:"grid grid-cols-1 sm:grid-cols-3 gap-3 px-7 pb-6"},$n={class:"text-xs font-medium uppercase tracking-wider text-surface-500 dark:text-surface-400"},kn={class:"text-base font-semibold leading-snug text-surface-900 dark:text-surface-0"},wn={class:"flex flex-col gap-3 border-t border-surface-200 dark:border-surface-700 px-7 pt-5"},Sn={class:"text-sm text-surface-600 dark:text-surface-300"},Cn={class:"flex flex-wrap gap-2"},Tn={key:1,class:"text-surface-500 dark:text-surface-400"},Vn={key:0,class:"rounded-[10px] border border-surface-200 dark:border-surface-700 bg-surface-50 dark:bg-surface-800 px-4 py-3 text-sm leading-relaxed text-surface-700 dark:text-surface-200 whitespace-pre-wrap break-words"},An={class:"flex flex-col gap-3 px-7 pt-5 pb-6"},Bn={class:"text-sm text-surface-600 dark:text-surface-300"},Dn={class:"flex flex-wrap gap-2"},En={key:1,class:"text-surface-500 dark:text-surface-400"},Un={key:0,class:"rounded-[10px] border border-surface-200 dark:border-surface-700 bg-surface-50 dark:bg-surface-800 px-4 py-3 text-sm leading-relaxed text-surface-700 dark:text-surface-200 whitespace-pre-wrap break-words"},Rn={key:3,class:"px-7 py-12 text-base text-surface-500 dark:text-surface-400"},Ge="—",zn=qe({__name:"TeamOnboardingSurveyDialog",props:ft({surveyId:{}},{visible:{type:Boolean,required:!0},visibleModifiers:{}}),emits:["update:visible"],setup(B){const N=Vt(B,"visible"),j=B,{t:W,te:m}=at({useScope:"global"}),C=c(!1),r=c(!1),k=c(null);async function Z(V){C.value=!0,r.value=!1,k.value=null;try{k.value=await na.getById(V)}catch{r.value=!0}finally{C.value=!1}}Te(()=>[N.value,j.surveyId],([V,u])=>{V&&u&&Z(u)},{immediate:!0});function L(V,u){const y=`onboardingSurvey.${V}.options.${u}`;return m(y)?W(y):u}function J(V){const u=new Date(V);return Number.isNaN(u.getTime())?V:u.toLocaleString()}function le(V){return V===Kt.COMPLETED?"success":V===Kt.SKIPPED?"warn":"info"}const ee=de(()=>{const V=k.value;return V?[{label:W("onboardingSurvey.admin.teamType"),value:V.teamType?L("teamType",V.teamType):Ge},{label:W("onboardingSurvey.admin.teamSize"),value:V.teamSize?L("teamSize",V.teamSize):Ge},{label:W("onboardingSurvey.admin.monthlySpend"),value:V.monthlySpend?L("monthlySpend",V.monthlySpend):Ge}]:[]}),ne=de(()=>{var V;return(((V=k.value)==null?void 0:V.verticals)??[]).map(u=>L("verticals",u))}),T=de(()=>{var V;return(((V=k.value)==null?void 0:V.trafficSources)??[]).map(u=>L("trafficSources",u))});return(V,u)=>(v(),Oe(p(He),{visible:N.value,"onUpdate:visible":u[1]||(u[1]=y=>N.value=y),modal:!0,draggable:!1,style:{width:"46rem",maxWidth:"95vw"},pt:{content:{class:"p-0"},footer:{class:"border-t border-surface-200 dark:border-surface-700 !pt-3.5"}}},{header:n(()=>[e("div",bn,[u[2]||(u[2]=e("h2",{class:"text-lg font-semibold text-surface-900 dark:text-surface-0 leading-none"}," Onboarding Survey ",-1)),k.value?(v(),Oe(p(lt),{key:0,rounded:"",value:k.value.status,severity:le(k.value.status),class:"text-xs font-semibold tracking-wide"},null,8,["value","severity"])):U("",!0),k.value?(v(),b("span",gn,s(J(k.value.updated)),1)):U("",!0)])]),footer:n(()=>[t(p(O),{label:V.$t("common.close"),severity:"secondary",outlined:"",onClick:u[0]||(u[0]=y=>N.value=!1)},null,8,["label"])]),default:n(()=>[C.value?(v(),b("div",yn,[t(ia,{width:48,height:48,"stroke-width":"4"}),e("span",xn,s(V.$t("common.loading")),1)])):r.value?(v(),b("div",hn,s(V.$t("common.error.title")),1)):k.value?(v(),b(re,{key:2},[e("div",_n,[(v(!0),b(re,null,Le(ee.value,y=>(v(),b("div",{key:y.label,class:"flex flex-col gap-1.5 rounded-xl border border-surface-200 dark:border-surface-700 bg-surface-50 dark:bg-surface-800 px-[18px] py-4"},[e("span",$n,s(y.label),1),e("span",kn,s(y.value),1)]))),128))]),e("div",wn,[e("span",Sn,s(p(W)("onboardingSurvey.verticals.title")),1),e("div",Cn,[ne.value.length?(v(!0),b(re,{key:0},Le(ne.value,y=>(v(),b("span",{key:y,class:"rounded-full border border-surface-300 dark:border-surface-600 bg-surface-100 dar
2k:bg-surface-700 px-3 py-[5px] text-[13px] font-medium text-surface-700 dark:text-surface-200"},s(y),1))),128)):(v(),b("span",Tn,s(Ge)))]),k.value.verticalsOtherText?(v(),b("div",Vn,s(k.value.verticalsOtherText),1)):U("",!0)]),e("div",An,[e("span",Bn,s(p(W)("onboardingSurvey.trafficSources.title")),1),e("div",Dn,[T.value.length?(v(!0),b(re,{key:0},Le(T.value,y=>(v(),b("span",{key:y,class:"rounded-full border border-surface-300 dark:border-surface-600 bg-surface-100 dark:bg-surface-700 px-3 py-[5px] text-[13px] font-medium text-surface-700 dark:text-surface-200"},s(y),1))),128)):(v(),b("span",En,s(Ge)))]),k.value.trafficSourcesOtherText?(v(),b("div",Un,s(k.value.trafficSourcesOtherText),1)):U("",!0)])],64)):(v(),b("div",Rn,s(Ge)))]),_:1},8,["visible"]))}}),Mn={class:"flex items-center gap-2 flex-wrap mb-3"},Fn={class:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-2 sm:gap-3 mb-4"},Pn={class:"flex flex-wrap items-center gap-2"},Ln={key:0,class:"grid grid-cols-2 sm:grid-cols-3 md:flex md:flex-wrap gap-3 sm:gap-4 text-sm mb-4"},On={class:"text-center px-2"},In={class:"font-bold text-green-500"},Nn={class:"text-center px-2"},jn={class:"font-bold text-purple-500"},Hn={class:"text-center px-2"},qn={class:"font-bold"},Wn={class:"text-center px-2"},Yn={class:"text-center px-2"},Kn={class:"font-bold text-blue-500"},Xn={key:1,class:"flex flex-wrap gap-4 mb-3 items-center"},Gn={class:"flex items-center gap-2"},Qn={key:0,style:{width:"80px",height:"28px"}},Zn={class:"flex items-center gap-2"},Jn={key:0,style:{width:"80px",height:"28px"}},ei={class:"flex items-center gap-2"},ti={key:0,style:{width:"80px",height:"28px"}},li={style:{height:"320px"},class:"relative"},ai={key:0,class:"absolute inset-0 flex items-center justify-center bg-surface-0/50 dark:bg-surface-900/50 z-10 rounded"},si={key:2,class:"flex items-center justify-center h-full text-muted-color"},oi={class:"flex items-start justify-between gap-2 mb-3"},ni={class:"grid grid-cols-1 xl:grid-cols-5 sm:grid-cols-3 gap-2 items-start w-full"},ii={class:"min-w-0"},ri={class:"flex items-center justify-end"},ui={key:0},di={key:1,class:"text-muted-color"},ci={key:0},mi={key:1,class:"text-muted-color"},pi={class:"text-sm"},vi={key:0,class:"text-xs text-muted-color"},fi=["title"],bi={key:1,class:"text-muted-color"},gi={class:"space-y-4"},yi={class:"block font-bold mb-2"},xi={class:"text-xs text-muted-color mt-1"},hi={class:"block font-bold mb-2"},_i={class:"text-xs text-muted-color mt-1"},$i={class:"block font-bold mb-2"},ki={key:0,class:"border rounded-md p-3 bg-green-50 dark:bg-green-900/20 space-y-2"},wi={class:"font-bold text-green-700 dark:text-green-400"},Si={class:"text-sm space-y-1"},Ci={class:"text-xs"},Ti={class:"cursor-pointer text-muted-color"},Vi={class:"mt-1 grid grid-cols-2 gap-x-4 gap-y-0.5"},Ai={class:"font-mono"},Zi=qe({__name:"index",setup(B){var Ut;const N=Nl(),{showToast:j}=st(),{isDarkTheme:W}=jl(),m=c("teams"),C=c(null),r=c(!1),k=c("daily"),Z=[{label:"По дням",value:"daily"},{label:"Нарастающий",value:"cumulative"}],L=c(new Date(new Date().getFullYear(),new Date().getMonth()-1,1)),J=["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],le={domains:"Домены",monthlyFees:"Ежемесячные",overages:"Перерасходы"};function ee(o,a,_){const E=new Array(_).fill(null);for(const D of o.days)D.category===a&&D.day>=1&&D.day<=o.daysInMonth&&(E[D.day-1]=(E[D.day-1]??0)+D.amount);for(let D=0;D<o.daysInMonth;D++)E[D]===null&&(E[D]=0);return E}function ne(o){const a=o.length;if(a<2)return{slope:0,intercept:a===1?o[0].y:0};let _=0,E=0,D=0,K=0;for(const{x:H,y:ue}of o)_+=H,E+=ue,D+=H*ue,K+=H*H;const F=a*K-_*_;return F===0?{slope:0,intercept:E/a}:{slope:(a*D-_*E)/F,intercept:(E-(a*D-_*E)/F*_)/a}}function T(o){let a=0;return o.map(_=>_==null?null:(a+=_,a))}function V(o,a=7){return o.map((_,E)=>{if(E<a-1)return null;let D=0,K=0;for(let F=E-a+1;F<=E;F++)o[F]!=null&&(D+=o[F],K++);return K>0?Math.round(D/K):null})}const u=de(()=>{if(!C.value)return null;const o=C.value,a=W.value,_=k.value==="cumulative",E=o.currentMonth.daysInMonth,D=o.previousMonth.daysInMonth,K=Math.max(E,D),F=new Date().getDate(),H=["monthlyFees","domains","overages"],ue=Object.fromEntries(H.map(A=>[A,ee(o.currentMonth,A,K)])),Ce=new Array(K).fill(null);for(const A of H){const P=ee(o.previousMonth,A,K);for(let Ee=0;Ee<K;Ee++)P[Ee]!=null&&(Ce[Ee]=(Ce[Ee]??0)+(P[Ee]??0))}const q=new Array(K).fill(null);for(const A of H)for(let P=0;P<K;P++)ue[A][P]!=null&&(q[P]=(q[P]??0)+(ue[A][P]??0));const Ie=Object.fromEntries(H.map(A=>[A,ue[A].map((P,Ee)=>Ee<F?P:null)])),Ne=_?T(Ce):Ce,_t=_?Object.fromEntries(H.map(A=>[A,T(Ie[A])])):Ie,$t=q.slice(0,F).map((A,P)=>({x:P+1,y:A??0})).filter(A=>A.y>0),{slope:Je,intercept:it}=ne($t),f=_?new Array(K).fill(null):Array.from({length:K},(A,P)=>P>=E?null:Math.max(0,Math.round(it+Je*(P+1)))),fe=q.map((A,P)=>P<F?A:null),je=_?new Array(K).fill(null):V(fe,7).map((A,P)=>P<F?A:null),rt=Array.from({length:K},(A,P)=>String(P+1)),ut=J[o.previousMonth.month-1],dt=J[o.currentMonth.month-1],Ke=q.slice(0,F).reduce((A,P)=>A+(P??0),0),Me=Array.from({length:E-F},(A,P)=>Math.max(0,it+Je*(F+P+1))).reduce((A,P)=>A+P,0),Fe=Math.round(Ke+Me),ct=Ce.reduce((A,P)=>A+(P??0),0),Rt=Fe-ct,ml=ct>0?(Rt/ct*100).toFixed(1):"—",pl=F>0?Math.round(Ke/F):0,vl=Object.fromEntries(H.map(A=>[A,ue[A].slice(0,F).reduce((P,Ee)=>P+(Ee??0),0)])),fl=Object.fromEntries(H.map(A=>[A,ue[A].slice(0,F)])),Xe=q.slice(0,F).filter(A=>A!=null&&A>0),zt=Xe.length>0?Xe.reduce((A,P)=>A+P,0)/Xe.length:0,Mt=Xe.length>1?Math.sqrt(Xe.reduce((A,P)=>A+(P-zt)**2,0)/Xe.length):0,Ft=zt+2*Mt,Pt=[];if(Mt>0)for(let A=0;A<F&&A<E;A++)(q[A]??0)>Ft&&Pt.push(A);const kt={monthlyFees:{bg:a?"rgba(59,130,246,0.35)":"rgba(59,130,246,0.55)",border:"#3b82f6"},domains:{bg:a?"rgba(234,179,8,0.35)":"rgba(234,179,8,0.55)",border:"#eab308"},overages:{bg:a?"rgba(239,68,68,0.35)":"rgba(239,68,68,0.55)",border:"#ef4444"}};return{chartData:{labels:rt,datasets:[{type:"bar",label:`${ut} ${o.previousMonth.year} (итого)`,data:Ne,backgroundColor:a?"rgba(148,163,184,0.2)":"rgba(148,163,184,0.35)",borderColor:"#94a3b8",borderWidth:1,borderRadius:3,stack:"prev",order:5},...H.map((A,P)=>({type:"bar",label:`${le[A]} (${dt})`,data:_t[A],backgroundColor:kt[A].bg,borderColor:kt[A].border,borderWidth:1,borderRadius:P===H.length-1?3:0,stack:"curr",order:4-P})),{type:"line",label:"Тренд / Прогноз",data:f,borderColor:"#a78bfa",borderDash:[4,4],borderWidth:2,fill:!1,pointRadius:0,pointHoverRadius:4,tension:0,order:0,hidden:_},{type:"line",label:"MA(7)",data:je,borderColor:"#f97316",borderWidth:2,fill:!1,pointRadius:0,pointHoverRadius:4,tension:.3,order:1,hidden:_}]},summary:{actualSum:Ke,projectedTotal:Fe,prevSum:ct,diff:Rt,diffPercent:ml,avgDaily:pl,catSums:vl,catSparkData:fl},outlierDays:Pt,outlierThreshold:Ft,categoryColors:kt}}),y=de(()=>{var E;const o=W.value,a=((E=u.value)==null?void 0:E.outlierDays)??[],_={};for(const D of a)_[`outlier_${D}`]={type:"point",xValue:String(D+1),yValue:0,yAdjust:-8,backgroundColor:"#ef4444",borderColor:"#fff",borderWidth:1,radius:5};return{responsive:!0,maintainAspectRatio:!1,interaction:{mode:"index",intersect:!1},onClick:(D,K)=>{if(!K.length||!C.value)return;const H=K[0].index+1,ue=C.value,Ce=ue.currentMonth.month,q=ue.currentMonth.year;d(H,Ce,q)}
2,plugins:{legend:{display:!0,position:"bottom",labels:{color:o?"rgba(255,255,255,0.7)":"#64748b",usePointStyle:!0,pointStyle:"rectRounded",padding:16}},tooltip:{mode:"index",intersect:!1,filter:D=>D.raw!=null,callbacks:{label:D=>D.raw==null?"":` ${D.dataset.label}: $${(Number(D.raw)/100).toFixed(2)}`,footer:D=>{const K=D.filter(H=>H.dataset.stack==="curr"&&H.raw!=null);return K.length===0?"":`Итого: $${(K.reduce((H,ue)=>H+Number(ue.raw),0)/100).toFixed(2)}`}}},annotation:{annotations:_}},scales:{x:{stacked:!0,grid:{color:o?"rgba(255,255,255,0.06)":"rgba(0,0,0,0.06)"},ticks:{color:o?"rgba(255,255,255,0.5)":"#94a3b8",maxRotation:0}},y:{stacked:!0,beginAtZero:!0,grid:{color:o?"rgba(255,255,255,0.06)":"rgba(0,0,0,0.06)"},ticks:{color:o?"rgba(255,255,255,0.5)":"#94a3b8",callback:D=>"$"+(D/100).toFixed(D>=1e4?0:2)}}}}}),te={responsive:!0,maintainAspectRatio:!1,plugins:{legend:{display:!1},tooltip:{enabled:!1}},scales:{x:{display:!1},y:{display:!1}},elements:{point:{radius:0},line:{borderWidth:1.5}}};async function Y(){r.value=!0;try{C.value=await Re.dailyExpenseChart(L.value.getMonth()+1,L.value.getFullYear())}catch{C.value=null}finally{r.value=!1}}Te(L,()=>Y());function $(o){return`$${(o/100).toFixed(2)}`}const z=c(!1),ie=c([]),se=c(!1),R=c("");async function d(o,a,_){R.value=`Расходы за ${o}.${String(a).padStart(2,"0")}.${_}`,z.value=!0,se.value=!0;try{ie.value=await Re.dailyExpenseChartDetails({day:o,month:a,year:_})}catch{ie.value=[]}finally{se.value=!1}}const l=c(0),g=de(()=>{const o=ie.value;return{monthlyFees:o.filter(a=>a.category==="monthlyFees"),overages:o.filter(a=>a.category==="overages"),domains:o.filter(a=>a.category==="domains")}}),ve=c([]),Be=c(!0),ze=c(0),be=c([]),Ve=St({first:0,rows:10}),_e=St({sortField:"created",sortOrder:-1}),Ue=c(null),Ae=c(""),xe=c(""),$e=c(""),he=c({from:Ht(new Date(2025,0,1,0,0,0,0)),to:Ht(new Date(new Date().setHours(23,59,59,999))),timezone:((Ut=N.claims)==null?void 0:Ut.timezone)??"UTC"}),x=[{label:"Active",value:"active"},{label:"Suspended",value:"suspended"},{label:"Canceled",value:"canceled"}],M=[{label:"Completed",value:"completed"},{label:"In Progress",value:"in_progress"},{label:"Not Started",value:"not_started"},{label:"Disabled",value:"disabled"}],ge={id:{field:"_id",op:"eq",serialize:o=>o!=null&&o.trim()?o.trim():void 0},planStatus:{field:"planStatus",op:"eq",serialize:o=>o||void 0},plan:{field:"plan",op:"eq",serialize:o=>o||void 0},onboardingStatus:{field:"onboardingStatus",op:"eq",serialize:o=>o||void 0},createdFrom:{field:"created",op:"gte",serialize:o=>o||void 0},createdTo:{field:"created",op:"lte",serialize:o=>o||void 0}},ke=c([]),ye=c(!1),h=c(!1),i=c(null),ae=c(!1),Q=c(!1),X=c(!1),oe=c(!1),w=c(null),ce=c(null),me=c("buyer"),we=c(!1),De=c(null),yt=[{label:"Buyer",value:"buyer"},{label:"Team Lead",value:"teamLead"},{label:"Tech",value:"tech"}];function xt(){w.value=null,ce.value=null,me.value="buyer",De.value=null,oe.value=!0}async function S(){var o,a,_;if(!w.value||!ce.value){j({type:"warn",title:"Validation",message:"Select both teams"});return}if(w.value.id===ce.value.id){j({type:"warn",title:"Validation",message:"Cannot merge a team into itself"});return}we.value=!0,De.value=null;try{const E=await Re.merge({sourceTeamId:w.value.id,targetTeamId:ce.value.id,newRole:me.value});De.value=E,j({type:"success",title:"Merge",message:"Teams merged successfully"}),await We()}catch(E){const D=((_=(a=(o=E==null?void 0:E.response)==null?void 0:o.data)==null?void 0:a.error)==null?void 0:_.message)??"Failed to merge teams";j({type:"error",title:"Error",message:D})}finally{we.value=!1}}async function Se(){var o,a;Q.value=!0;try{await Pe.post("/tg/system/webhook/setup",null,{withCredentials:!0}),j({type:"success",title:"System Bot",message:"Webhook activated"})}catch(_){const E=((a=(o=_==null?void 0:_.response)==null?void 0:o.data)==null?void 0:a.message)??"Failed to activate webhook";j({type:"error",title:"Error",message:E})}finally{Q.value=!1}}async function pe(){var o,a;Q.value=!0;try{await Pe.post("/tg/system/webhook/remove",null,{withCredentials:!0}),j({type:"success",title:"System Bot",message:"Webhook deactivated"})}catch(_){const E=((a=(o=_==null?void 0:_.response)==null?void 0:o.data)==null?void 0:a.message)??"Failed to deactivate webhook";j({type:"error",title:"Error",message:E})}finally{Q.value=!1}}async function We(o){var a,_,E,D,K;Be.value=!0;try{const{params:F}=jt({pageFirst:Ve.first,pageRows:Ve.rows,sortField:_e.sortField,sortOrder:_e.sortOrder,filters:{id:o??null,planStatus:Ae.value,plan:xe.value,onboardingStatus:$e.value,createdFrom:((a=he.value)==null?void 0:a.from)??"",createdTo:((_=he.value)==null?void 0:_.to)??""},spec:ge}),{data:H,meta:ue}=await Re.list({params:F});ve.value=H,ze.value=ue.total}catch(F){const H=((K=(D=(E=F==null?void 0:F.response)==null?void 0:E.data)==null?void 0:D.error)==null?void 0:K.message)??"Failed to load teams";j({type:"error",title:"Error",message:H})}finally{Be.value=!1}}async function tl(){var o,a,_;ye.value=!0;try{const{data:E}=await el.list({params:{pageSize:1e3}});ke.value=E.filter(D=>D.active)}catch(E){const D=((_=(a=(o=E==null?void 0:E.response)==null?void 0:o.data)==null?void 0:a.error)==null?void 0:_.message)??"Failed to load plans";j({type:"error",title:"Error",message:D})}finally{ye.value=!1}}function ll(o){i.value=o,h.value=!0}const ot=Rl(),Ze=c(!1),ht=c(null);function al(o){const a=o.onboardingSurvey;
2a&&(ht.value=typeof a=="string"?a:a.id,Ze.value=!0)}function At(){const o=ot.query.survey,a=Array.isArray(o)?o[0]:o;a&&/^[0-9a-fA-F]{24}$/.test(a)&&(ht.value=a,Ze.value=!0)}Te(()=>ot.query.survey,At);const sl=zl();Te(Ze,o=>{if(o||!ot.query.survey)return;const{survey:a,..._}=ot.query;sl.replace({query:_})});const Bt=c(null),Ye=c(null),ol=de(()=>{var o;return[{label:"Edit",icon:"pi pi-pencil",command:()=>{Ye.value&&ll(Ye.value)}},{label:"Onboarding Survey",icon:"pi pi-list-check",disabled:!((o=Ye.value)!=null&&o.onboardingSurvey),command:()=>{Ye.value&&al(Ye.value)}}]});function nl(o,a){var _;Ye.value=a,(_=Bt.value)==null||_.toggle(o)}function il(o){const a=ve.value.findIndex(_=>_.id===o.id);a>=0&&(ve.value[a]=o),i.value=o}function rl(o){Ve.first=o.first,Ve.rows=o.rows,We()}function ul(o){_e.sortField=o.sortField,_e.sortOrder=o.sortOrder,We()}function Dt(){var o;Ve.first=0,We(((o=Ue.value)==null?void 0:o.id)??void 0)}Te([Ae,xe,$e,he],()=>{Dt()});function dl(){Ue.value=null,Ae.value="",xe.value="",$e.value="",he.value=void 0,Dt()}function Et(o){if(!o)return"—";const a=new Date(o);return Number.isNaN(a.getTime())?"—":a.toLocaleString()}async function cl(){var o,a,_,E,D,K;ae.value=!0;try{const{params:F}=jt({sortField:_e.sortField,sortOrder:_e.sortOrder,filters:{id:((o=Ue.value)==null?void 0:o.id)??null,planStatus:Ae.value,plan:xe.value,onboardingStatus:$e.value,createdFrom:((a=he.value)==null?void 0:a.from)??"",createdTo:((_=he.value)==null?void 0:_.to)??""},spec:ge}),H=await Re.exportCsv(F),ue=new Date().toISOString().split("T")[0];ra(H,`teams-${ue}.csv`),j({type:"success",title:"Export",message:"CSV downloaded"})}catch(F){const H=((K=(D=(E=F==null?void 0:F.response)==null?void 0:E.data)==null?void 0:D.error)==null?void 0:K.message)??"Failed to export CSV";j({type:"error",title:"Error",message:H})}finally{ae.value=!1}}let nt;return Jt(()=>{var o;((o=N.claims)==null?void 0:o.role)===tt.ADMIN&&(We(It.getItem(Nt.SELECTED_TEAM)??void 0),nt=It.subscribe(Nt.SELECTED_TEAM,a=>We(a??void 0)),tl(),Y(),At())}),Ml(()=>nt==null?void 0:nt()),(o,a)=>{const _=O,E=kl,D=$l,K=Gt,F=lt,H=Tl,ue=Cl,Ce=gt,q=Ct,Ie=Tt,Ne=Sl,_t=wl,$t=_l,Je=He,it=Vl;return v(),Oe(ua,null,{title:n(()=>[...a[21]||(a[21]=[e("div",null,[e("h2",{class:"text-xl font-semibold"},"Teams")],-1)])]),action:n(()=>[e("div",Mn,[t(_,{label:"Activate Bot",icon:"pi pi-telegram",severity:"success",size:"small",loading:Q.value,onClick:Se},null,8,["loading"]),t(_,{label:"Deactivate Bot",icon:"pi pi-power-off",severity:"danger",size:"small",outlined:"",loading:Q.value,onClick:pe},null,8,["loading"]),t(_,{label:o.$t("teams.broadcast.button"),icon:"pi pi-send",severity:"info",size:"small",onClick:a[0]||(a[0]=f=>X.value=!0)},null,8,["label"]),t(_,{label:o.$t("teams.merge.button"),icon:"pi pi-arrows-h",severity:"warning",size:"small",onClick:xt},null,8,["label"]),t(_,{label:"Export CSV",icon:"pi pi-download",severity:"secondary",size:"small",loading:ae.value,onClick:cl},null,8,["loading"])])]),default:n(()=>[t($t,{value:m.value,"onUpdate:value":a[9]||(a[9]=f=>m.value=f)},{default:n(()=>[t(D,null,{default:n(()=>[t(E,{value:"teams"},{default:n(()=>[G(s(o.$t("teams.broadcast.tab_teams")),1)]),_:1}),t(E,{value:"stats"},{default:n(()=>[G(s(o.$t("teams.broadcast.tab_stats")),1)]),_:1})]),_:1}),t(_t,null,{default:n(()=>[t(Ne,{value:"teams"},{default:n(()=>[t(ue,{class:"!shadow-none border border-surface-200 dark:border-surface-700 my-3"},{content:n(()=>{var f,fe,je,rt,ut,dt,Ke;return[e("div",Fn,[a[23]||(a[23]=e("h3",{class:"text-lg font-semibold"},"Расходы команд по дням",-1)),e("div",Pn,[t(K,{modelValue:k.value,"onUpdate:modelValue":a[1]||(a[1]=Me=>k.value=Me),options:Z,optionLabel:"label",optionValue:"value",allowEmpty:!1,size:"small",class:"chart-mode-btn"},null,8,["modelValue"]),a[22]||(a[22]=e("span",{class:"text-sm text-muted-color"},"Сравнить с:",-1)),t(p(vt),{modelValue:L.value,"onUpdate:modelValue":a[2]||(a[2]=Me=>L.value=Me),view:"month",dateFormat:"mm/yy",size:"small",showIcon:!1,manualInput:!1,placeholder:"мм/гг",inputClass:"text-center text-sm p-1.5",appendTo:"body",panelClass:"month-compare-panel"},null,8,["modelValue"])])]),(f=u.value)!=null&&f.summary?(v(),b("div",Ln,[e("div",On,[a[24]||(a[24]=e("div",{class:"text-xs text-muted-color"},"Факт",-1)),e("div",In,s($(u.value.summary.actualSum)),1)]),e("div",Nn,[a[25]||(a[25]=e("div",{class:"text-xs text-muted-color"},"Прогноз",-1)),e("div",jn,s($(u.value.summary.projectedTotal)),1)]),e("div",Hn,[a[26]||(a[26]=e("div",{class:"text-xs text-muted-color"},"Пред. месяц",-1)),e("div",qn,s($(u.value.summary.prevSum)),1)]),e("div",Wn,[a[27]||(a[27]=e("div",{class:"text-xs text-muted-color"},"Δ к пред.",-1)),e("div",{class:I(["font-bold",u.value.summary.diff>=0?"text-red-500":"text-green-500"])},s(u.value.summary.diff>=0?"+":"")+s(u.value.summary.diffPercent)+"% ",3)]),e("div",Yn,[a[28]||(a[28]=e("div",{class:"text-xs text-muted-color"},"Ср./день",-1)),e("div",Kn,s($(u.value.summary.avgDaily)),1)])])):U("",!0),(je=(fe=u.value)==null?void 0:fe.summary)!=null&&je.catSums?(v(),b("div",Xn,[e("div",Gn,[t(F,{severity:"info"},{default:n(()=>[G(" Ежемесячные: "+s($(u.value.summary.catSums.monthlyFees)),1)]),_:1}),((rt=u.value.summary.catSparkData.monthlyFees)==null?void 0:rt.length)>1?(v(),b("div",Qn,[t(H,{type:"line",data:{labels:u.value.summary.catSparkData.monthlyFees.map((Me,Fe)=>Fe),datasets:[{data:u.value.summary.catSparkData.monthlyFees,borderColor:"#3b82f6",fill:!1}]},options:te,class:"w-full h-full"},null,8,["data"])])):U("",!0)]),e("div",Zn,[t(F,{severity:"warn"},{default:n(()=>[G(" Домены: "+s($(u.value.summary.catSums.domains)),1)]),_:1}),((ut=u.value.summary.catSparkData.domains)==null?void 0:ut.length)>1?(v(),b("div",Jn,[t(H,{type:"line",data:{labels:u.value.summary.catSparkData.domains.map((Me,Fe)=>Fe),datasets:[{data:u.value.summary.catSparkData.domains,borderColor:"#eab308",fill:!1}]},options:te,class:"w-full h-full"},null,8,["data"])])):U("",!0)]),e("div",ei,[t(F,{severity:"danger"},{default:n(()=>[G(" Перерасходы: "+s($(u.value.summary.catSums.overages)),1)]),_:1}),((dt=u.value.summary.catSparkData.overages)==null?void 0:dt.length)>1?(v(),b("div",ti,[t(H,{type:"line",data:{labels:u.value.summary.catSparkData.overages.map((Me,Fe)=>Fe),datasets:[{data:u.value.summary.catSparkData.overages,borderColor:"#ef4444",fill:!1}]},options:te,class:"w-full h-full"},null,8,["data"])])):U("",!0)])])):U("",!0),e("div",li,[r.value?(v(),b("div",ai,[...a[29]||(a[29]=[e("i",{class:"pi pi-spin pi-spinner text-2xl text-muted-color"},null,-1)])])):U("",!0),(Ke=u.value)!=null&&Ke.chartData?(v(),Oe(H,{key:1,type:"bar",data:u.value.chartData,options:y.value,class:"h-full w-full"},null,8,["data","options"])):r.value?U("",!0):(v(),b("div",si," Нет данных для отображения "))])]}),_:1}),e("div",oi,[e("div",ni,[e("div",ii,[t(pt,{modelValue:Ue.value,"onUpdate:modelValue":a[3]||(a[3]=f=>Ue.value=f),placeholder:"Filter by team",showClear:"",size:"small",fluid:""},null,8,["modelValue"])]),e("div",null,[t(Ce,{modelValue:Ae.value,"onUpdate:modelValue":a[4]||(a[4]=f=>Ae.value=f),options:x,optionLabel:"label",optionValue:"value",placeholder:"Status",class:"w-full",showClear:"",size:"small"},null,8,["modelValue"])]),e("div",null,[t(Ce,{modelValue:xe.value,"onUpdate:modelValue":a[5]||(a[5]=f=>xe.value=f),options:ke.value,optionLabel:"name",optionValue:"id",placeholder:"Plan",class:"w-full",showClear:"",loading:ye.value,size:"small"},null,8,["modelValue","options","loading"])]),e("div",null,[t(Ce,{modelValue:$e.value,"onUpdate:modelValue":a[6]||(a[6]=f=>$e.value=f),options:M,optionLabel:"label",optionValue:"value",placeholder:"Onboarding",class:"w-full",showClear:"",size:"small"},null,8,["modelValue"])]),e("div",null,[t(Hl,{modelValue:he.value,"onUpdate:modelValue":a[7]||(a[7]=f=>he.value=f),size:"small",placeholder:o.$t("common.date")},null,8,["modelValue","placeholder"])])]),e("div",ri,[t(_,{size:"small",text:"",icon:"pi pi-filter-slash",label:"Reset",onClick:dl})])]),t(Ie,{value:ve.value,selection:be.value,"onUpdate:selection":a[8]||(a[8]=f=>be.value=f),dataKey:"id",loading:Be.value,responsiveLayout:"scroll",stripedRows:"",paginator:!0,rows:Ve.rows,totalRecords:ze.value,lazy:!0,first:Ve.first,sortField:_e.sortField,sortOrder:_e.sortOrder,onPage:rl,onSort:ul,size:"small",tableClass:"base-table",resizableColumns:"",columnResizeMode:"expand",showGridlines:"",rowHover:""},{default:n(()=>[t(q,{selectionMode:"multiple",style:{width:"3rem"},exportable:!1}),t(q,{field:"name",header:o.$t("common.name"),sortable:""},null,8,["header"]),t(q,{exportable:!1,style:{"min-width":"42px","max-width":"42px",width:"42px"},resizable:!1},{body:n(({data:f})=>[t(_,{size:"small",icon:"pi pi-ellipsis-v",outlined:"",text:"",onClick:fe=>nl(fe,f)},null,8,["onClick"])]),_:1}),t(q,{field:"ownerEmail",header:"Owner Email"},{body:n(({data:f})=>[f.ownerEmail?(v(),b("span",ui,s(f.ownerEmail),1)):(v(),b("span",di,"—"))]),_:1}),t(q,{field:"ownerTelegram",header:"Owner TG"},{body:n(({data:f})=>[f.ownerTelegram?(v(),b("span",ci,s(f.ownerTelegram),1)):(v(),b("span",mi,"—"))]),_:1}),t(q,{field:"membersCount",header:"Members"},{body:n(({data:f})=>[G(s(f.membersCount),1)]),_:1}),t(q,{field:"billingBalance",header:"Balance",sortable:""},{body:n(({data:f})=>[G(s((f.billingBalance/100).toFixed(2))+" "+s(f.billingCurrency),1)]),_:1}),t(q,{field:"plan",header:"Plan",sortable:""},{body:n(({data:f})=>{var fe;return[e("span",null,s(((fe=ke.value.find(je=>je.id===f.plan))==null?void 0:fe.name)||"—"),1)]}),_:1}),t(q,{field:"planStatus",header:"Status",sortable:""},{body:n(({data:f})=>[t(F,{value:f.planStatus,severity:f.planStatus==="active"?"success":f.planStatus==="suspended"?"warning":"danger"},null,8,["value","severity"])]),_:1}),t(q,{field:"planStartedAt",header:"Plan start",sortable:""},{body:n(({data:f})=>[G(s(Et(f.planStartedAt)),1)]),_:1}),t(q,{field:"planRenewAt",header:"Plan end",sortable:""},{body:n(({data:f})=>[G(s(Et(f.planRenewAt)),1)]),_:1}),t(q,{field:"onboardingStatus",header:"Onboarding"},{body:n(({data:f})=>[t(F,{value:f.onboardingStatus,severity:f.onboardingStatus==="completed"?"success":f.onboardingStatus==="in_progress"?"info":f.onboardingStatus==="not_started"?"warning":"secondary"},null,8,["value","severity"])]),_:1}),t(q,{field:"onboardingChapter",header:"OB Progress"},{body:n(({data:f})=>[f.onboardingStatus==="in_progress"?(v(),b(re,{key:0},[e("div",pi,s(f.onboardingChapter),1),f.onboardingProgress?(v(),b("div",vi,s(f.onboardingProgress)+" steps ",1)):U("",!0),f.onboardingNextStep?(v(),b("div",{key:1,class:"text-xs text-muted-color truncate",style:{"max-width":"140px"},title:f.onboardingNextStep}," → "+s(f.onboardingNextStep),9,fi)):U("",!0)],64)):(v(),b("span",bi,"—"))]),_:1})]),_:1},8,["value","selection","loading","rows","totalRecords","first","sortField","
2sortOrder"]),t(p(Xt),{ref_key:"actionMenu",ref:Bt,model:ol.value,popup:""},null,8,["model"])]),_:1}),t(Ne,{value:"stats"},{default:n(()=>[t(ko)]),_:1})]),_:1})]),_:1},8,["value"]),t(fn,{visible:h.value,"onUpdate:visible":a[10]||(a[10]=f=>h.value=f),team:i.value,plans:ke.value,loadingPlans:ye.value,onSaved:il},null,8,["visible","team","plans","loadingPlans"]),t(Fs,{modelValue:X.value,"onUpdate:modelValue":a[11]||(a[11]=f=>X.value=f),initialTeams:be.value},null,8,["modelValue","initialTeams"]),t(zn,{visible:Ze.value,"onUpdate:visible":a[12]||(a[12]=f=>Ze.value=f),surveyId:ht.value},null,8,["visible","surveyId"]),t(Je,{visible:oe.value,"onUpdate:visible":a[17]||(a[17]=f=>oe.value=f),header:o.$t("teams.merge.title"),modal:!0,style:{width:"600px",maxWidth:"95vw"}},{footer:n(()=>{var f,fe;return[t(_,{label:"Close",text:"",icon:"pi pi-times",onClick:a[16]||(a[16]=je=>oe.value=!1)}),t(_,{label:o.$t("teams.merge.submit"),icon:"pi pi-arrows-h",severity:"warning",loading:we.value,disabled:!w.value||!ce.value||((f=w.value)==null?void 0:f.id)===((fe=ce.value)==null?void 0:fe.id),onClick:S},null,8,["label","loading","disabled"])]}),default:n(()=>[e("div",gi,[e("div",null,[e("label",yi,s(o.$t("teams.merge.source_label")),1),t(pt,{modelValue:w.value,"onUpdate:modelValue":a[13]||(a[13]=f=>w.value=f),localStorageSave:!1,placeholder:o.$t("teams.merge.select_source"),showClear:"",class:"w-full"},null,8,["modelValue","placeholder"]),e("p",xi,s(o.$t("teams.merge.source_hint")),1)]),e("div",null,[e("label",hi,s(o.$t("teams.merge.target_label")),1),t(pt,{modelValue:ce.value,"onUpdate:modelValue":a[14]||(a[14]=f=>ce.value=f),localStorageSave:!1,placeholder:o.$t("teams.merge.select_target"),showClear:"",class:"w-full"},null,8,["modelValue","placeholder"]),e("p",_i,s(o.$t("teams.merge.target_hint")),1)]),e("div",null,[e("label",$i,s(o.$t("teams.merge.role_label")),1),t(Ce,{modelValue:me.value,"onUpdate:modelValue":a[15]||(a[15]=f=>me.value=f),options:yt,optionLabel:"label",optionValue:"value",class:"w-full"},null,8,["modelValue"])]),De.value?(v(),b("div",ki,[e("label",wi,s(o.$t("teams.merge.completed")),1),e("div",Si,[(v(!0),b(re,null,Le(De.value.log,f=>(v(),b("div",{key:f}
2,s(f),1))),128))]),e("details",Ci,[e("summary",Ti,s(o.$t("teams.merge.full_stats")),1),e("div",Vi,[(v(!0),b(re,null,Le(De.value.stats,(f,fe)=>(v(),b(re,{key:fe},[e("span",null,s(fe),1),e("span",Ai,s(f),1)],64))),128))])])])):U("",!0)])]),_:1},8,["visible","header"]),t(Je,{visible:z.value,"onUpdate:visible":a[20]||(a[20]=f=>z.value=f),header:R.value,modal:!0,style:{width:"700px",maxWidth:"95vw"}},{footer:n(()=>[t(_,{label:"Закрыть",text:"",icon:"pi pi-times",onClick:a[19]||(a[19]=f=>z.value=!1)})]),default:n(()=>[t(it,{activeIndex:l.value,"onUpdate:activeIndex":a[18]||(a[18]=f=>l.value=f)},{default:n(()=>[t(Ne,{value:"0",header:"Ежемесячные"},{default:n(()=>[t(Ie,{value:g.value.monthlyFees,loading:se.value,size:"small",stripedRows:"",paginator:!1},{empty:n(()=>[...a[30]||(a[30]=[G("Нет данных",-1)])]),default:n(()=>[t(q,{field:"team",header:"Команда"}),t(q,{field:"amount",header:"Сумма",style:{width:"120px"}},{body:n(({data:f})=>[G(s($(f.amount)),1)]),_:1}),t(q,{field:"count",header:"Операций",style:{width:"100px"}})]),_:1},8,["value","loading"])]),_:1}),t(Ne,{value:"1",header:"Перерасходы"},{default:n(()=>[t(Ie,{value:g.value.overages,loading:se.value,size:"small",stripedRows:"",paginator:!1},{empty:n(()=>[...a[31]||(a[31]=[G("Нет данных",-1)])]),default:n(()=>[t(q,{field:"team",header:"Команда"}),t(q,{field:"amount",header:"Сумма",style:{width:"120px"}},{body:n(({data:f})=>[G(s($(f.amount)),1)]),_:1}),t(q,{field:"count",header:"Операций",style:{width:"100px"}})]),_:1},8,["value","loading"])]),_:1}),t(Ne,{value:"2",header:"Домены"},{default:n(()=>[t(Ie,{value:g.value.domains,loading:se.value,size:"small",stripedRows:"",paginator:!1},{empty:n(()=>[...a[32]||(a[32]=[G("Нет данных",-1)])]),default:n(()=>[t(q,{field:"team",header:"Команда"}),t(q,{field:"amount",header:"Сумма",style:{width:"120px"}},{body:n(({data:f})=>[G(s($(f.amount)),1)]),_:1}),t(q,{field:"count",header:"Операций",style:{width:"100px"}})]),_:1},8,["value","loading"])]),_:1})]),_:1},8,["activeIndex"])]),_:1},8,["visible","header"])]),_:1})}}});
2export{Zi 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.