1import{$ as pe,u as me,d as f,r as p,w as ge,x as u,y as i,a5 as w,I,z as t,R as s,F as T,E as G,at as a,J as U,G as r,H as o,as as P}from"./vendor-core-BGHbtoTu.js";import{B as fe}from"./app-foundation-B-z2ytBD.js";import{ae as be,$ as ye,ao as J,M as W,Q as D,S as Q,V as ke,O as F}from"./main-C6nj-lFV.js";import{_ as _e}from"./vendor-media-Bt4sEGo_.js";import{_ as he}from"./empty-placeholder.vue_vue_type_script_setup_true_lang-C3OO2Wbn.js";import{_ as X}from"./index.vue_vue_type_script_setup_true_lang-BaHmbXSP.js";import{c as Y}from"./clipboard-DMblfw5J.js";import{u as we,a as Ie,b as Ce,c as xe,d as $e,e as Ve}from"./index-D5GpBpz_.js";import{u as Be}from"./index-DvmQ05is.js";import"./index-Cp2fT9hK.js";import"./vendor-ui-CFdeOrdc.js";import"./vendor-validation-Ccex1DH0.js";import"./web-access-pwa-CF464Anl.js";import"./trigger.vue_vue_type_script_setup_true_lang-DZNU0Bh3.js";import"./tappable-Bclnai5p.js";import"./no-translate.vue_vue_type_script_setup_true_lang-BF-YgGNd.js";import"./dropdown.utils-BfjxPUyD.js";import"./dropdown.composables-LNa5rIRr.js";const Se={class:"bothelp-page"},Ue={key:0,class:"settings-stack"},Ae={key:1,class:"settings-list"},Ee=["onClick"],Le={class:"settings-row__content"},Me={class:"settings-row__after"},Ne={key:2,class:"list-empty"},Pe=["disabled"],Qe={class:"settings-row__content"},Re={class:"journal-summary"},Te={class:"summary-card"},We={class:"summary-card success"},De={class:"summary-card pending"},Fe={class:"section-heading journal-heading"},He={key:1,class:"event-list"},qe={class:"event-card__head"},Ke={class:"event-card__identity"},Oe={key:0},ze={key:1},je={class:"event-card__details"},Ze={key:0,class:"event-error"},Ge={class:"event-card__foot"},Je={class:"modal-fields"},Xe={key:0,class:"form-error"},Ye={class:"modal-fields"},et=["disabled"],tt={class:"integration-sheet"},lt={class:"integration-sheet__status"},nt={class:"webhook-field"},st={class:"webhook-field__value"},at=["disabled"],it=pe({__name:"page",setup(ot){const ee=me(),C=f(()=>{const n=Number(ee.query.entitlementId);return Number.isInteger(n)&&n>0?n:void 0}),H=we(),A=Ie(()=>C.value),x=Ce(()=>C.value),q=Be(),K=xe(),O=$e(),$=Ve(),{notify:m}=be(),E=p("integrations"),_=p(""),b=p(null),c=p(null),L=p(""),V=p(""),y=p(!1),k=p(!1),M=p(null);fe({activeTab:E,tabs:[{value:"integrations",label:"ÐнÑегÑаÑии"},{value:"events",label:"ÐÑÑнал"}]});const g=f(()=>(H.data.value??[]).filter(n=>!C.value||n.entitlementId===C.value)),R=f(()=>A.data.value??[]),z=f(()=>_.value.trim().length>0&&b.value!=null),te=f(()=>(q.data.value??[]).map(n=>({value:n.id,label:n.label||n.key}))),le=f(()=>g.value.map(n=>({value:n.id,label:`${n.name}
1 · ${n.entitlementLabel||n.entitlementKey}`}))),d=f(()=>g.value.find(n=>n.id===M.value)??null),j=f({get:()=>d.value!==null,set:n=>{n||(M.value=null)}}),ne={granted:"ÐÑдано",pending:"ÐÐ¶Ð¸Ð´Ð°ÐµÑ Ð²Ñ
ода",duplicate:"ÐовÑоÑ",error:"ÐÑибка"};function se(n){return{granted:"success",pending:"pending",duplicate:"neutral",error:"error"}[n]}function ae(){_.value="",b.value=C.value??null,V.value="",y.value=!0}function ie(){var n;c.value=g.value.length===1?((n=g.value[0])==null?void 0:n.id)??null:null,L.value="",k.value=!0}const Z=ye({text:"ÐобавиÑÑ webhook",show:!1,handler:ae});ge(E,n=>{n==="integrations"?Z.show():Z.hide()},{immediate:!0});async function oe(){if(!(!z.value||b.value==null)){V.value="";try{const n=await K.mutateAsync({name:_.value.trim(),entitlementId:b.value});_.value="",b.value=null,c.value=n.id,y.value=!1;const e=await Y(n.webhookUrl);m({title:e?"ÐнÑегÑаÑÐ¸Ñ Ñоздана, URL ÑкопиÑован":"ÐнÑегÑаÑÐ¸Ñ Ñоздана",badge:{text:"ÐоÑово",icon:"i-lucide-check"}})}catch(n){console.error("[bothelp-entitlements] integration creation failed",{cause:n}),V.value="Ðе ÑдалоÑÑ ÑоздаÑÑ Ð¸Ð½ÑегÑаÑиÑ. ÐÑовеÑÑÑе Ð¿Ð¾Ð»Ñ Ð¸ попÑобÑйÑе еÑÑ Ñаз."}}}async function ue(n){const e=await Y(n.webhookUrl);m({title:e?"Webhook URL ÑкопиÑован":"Ðе ÑдалоÑÑ ÑкопиÑоваÑÑ URL",badge:e?{text:"ÐоÑово",icon:"i-lucide-check"}:{text:"ÐÑибка",icon:"i-lucide-x"}})}async function re(n){try{await O.mutateAsync({id:n.id,isActive:!n.isActive}),m({title:n.isActive?"ÐнÑегÑаÑÐ¸Ñ Ð¾ÑклÑÑена":"ÐнÑегÑаÑÐ¸Ñ Ð²ÐºÐ»ÑÑена",badge:{text:"ÐоÑово",icon:"i-lucide-check"}})}catch(e){console.error("[bothelp-entitlements] integration status update failed",{cause:e,integrationId:n.id}),m({title:"Ðе ÑдалоÑÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ ÑÑаÑÑÑ",badge:{text:"ÐÑибка",icon:"i-lucide-x"}})}}function de(n){return new Intl.DateTimeFormat("ru-RU",{dateStyle:"short",timeStyle:"short"}).format(new Date(n))}async function ce(n){var B,S;const e=n.target,v=(B=e.files)==null?void 0:B[0];if(L.value=(v==null?void 0:v.name)??"",!(!v||c.value==null))try{const h=await v.text(),l=[...new Set(((S=h.match(/[\w.%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}/gi))==null?void 0:S.map(ve=>ve.toLowerCase()))??[])];if(!l.length){m({title:"Ð Ñайле не Ð½Ð°Ð¹Ð´ÐµÐ½Ñ email",badge:{text:"ÐÑибка",icon:"i-lucide-x"}});return}if(l.length>5e3){m({title:"Родном Ñайле можно загÑÑзиÑÑ Ð´Ð¾ 5000 email",badge:{text:"ÐÑибка",icon:"i-lucide-x"}});return}const N=await $.mutateAsync({id:c.value,emails:l,fileName:v.name});m({title:`ÐбÑабоÑано ${N.total}: вÑдано ${N.granted??0}, ожидаÑÑ ${N.pending??0}`,badge:{text:"ÐмпоÑÑ Ð·Ð°Ð²ÐµÑÑÑн",icon:"i-lucide-check"}}),k.value=!1,E.value="events"}catch(h){console.error("[bothelp-entitlements] CSV backfill failed",{cause:h,integrationId:c.value}),m({title:"Ðе ÑдалоÑÑ Ð¸Ð¼Ð¿Ð¾ÑÑиÑоваÑÑ Ñайл",badge:{text:"ÐÑибка",icon:"i-lucide-x"}})}finally{e.value="",L.value=""}}return(n,e)=>{var v,B,S,h;return i(),u("div",Se,[E.value==="integrations"?(i(),u("div",Ue,[t("section",null,[e[17]||(e[17]=t("h2",{class:"settings-label"}," Webhook-инÑегÑаÑии ",-1)),s(H).isPending.value?(i(),w(s(J),{key:0,class:"mt-6"})):g.value.length?(i(),u("div",Ae,[(i(!0),u(T,null,G(g.value,l=>(i(),u("button",{key:l.id,type:"button",class:"settings-row",onClick:N=>M.value=l.id},[e[15]||(e[15]=t("span",{class:"settings-row__icon i-lucide-webhook"},null,-1)),t("span",Le,[t("strong",null,a(l.name),1),t("small",null,a(l.entitlementLabel||l.entitlementKe
1y),1)]),t("span",Me,[t("span",{class:U(["status-dot",l.isActive?"active":"inactive"])},null,2),e[14]||(e[14]=t("span",{class:"settings-row__chevron i-lucide-chevron-right"},null,-1))])],8,Ee))),128))])):(i(),u("div",Ne,e[16]||(e[16]=[t("span",{class:"settings-row__icon i-lucide-webhook"},null,-1),t("span",null,[t("strong",null,"Webhook пока неÑ"),t("small",null,"ÐобавÑÑе пеÑвÑй кнопкой Ð²Ð½Ð¸Ð·Ñ ÑкÑана")],-1)])))]),t("section",null,[e[21]||(e[21]=t("h2",{class:"settings-label"}," Ранее загÑÑженнÑе ÑÑаÑÑники ",-1)),t("button",{type:"button",class:"settings-row",disabled:!g.value.length,onClick:ie},[e[19]||(e[19]=t("span",{class:"settings-row__icon i-lucide-file-spreadsheet"},null,-1)),t("span",Qe,[e[18]||(e[18]=t("strong",null,"ÐмпоÑÑ Ð¸Ð· CSV",-1)),t("small",null,a(g.value.length?"ÐагÑÑзиÑÑ Ñже запиÑавÑиÑ
ÑÑ":"СнаÑала добавÑÑе webhook"),1)]),e[20]||(e[20]=t("span",{class:"settings-row__chevron i-lucide-chevron-right"},null,-1))],8,Pe)]),e[22]||(e[22]=t("section",null,[t("h2",{class:"settings-label"}," ÐаÑиÑление доÑÑÑпа "),t("div",{class:"info-row"},[t("span",{class:"settings-row__icon i-lucide-at-sign"}),t("span",null,[t("strong",null,"Ðо email полÑзоваÑелÑ"),t("small",null,"ÐпÑÐ¸Ñ Ð²ÑдаÑÑÑÑ ÑÑÐ°Ð·Ñ Ð¸Ð»Ð¸ поÑле иденÑиÑикаÑии в пÑиложении.")])])],-1))])):(i(),u(T,{key:1},[t("div",Re,[t("div",Te,[e[23]||(e[23]=t("span",null,"ÐÑего",-1)),t("strong",null,a(((v=s(x).data.value)==null?void 0:v.total)??0),1)]),t("div",We,[e[24]||(e[24]=t("span",null,"ÐÑдано",-1)),t("strong",null,a(((B=s(x).data.value)==null?void 0:B.granted)??0),1)]),t("div",De,[e[25]||(e[25]=t("span",null,"ÐжидаÑÑ",-1)),t("strong",null,a(((S=s(x).data.value)==null?void 0:S.pending)??0),1)])]),t("div",Fe,[t("div",null,[e[26]||(e[26]=t("h2",null,"ÐаÑиÑÐ»ÐµÐ½Ð¸Ñ Ð¾Ð¿Ñий",-1)),t("p",null,"ÐоÑледние "+a(R.value.length)+" ÑобÑÑий из "+a(((h=s(x).data.value)==null?void 0:h.total)??0),1)]),r(s(W),{size:"sm",variant:"secondary","before-icon":"i-lucide-refresh-cw",loading:s(A).isFetching.value,onClick:e[0]||(e[0]=l=>{s(A).refetch(),s(x).refetch()})},{default:o(()=>e[27]||(e[27]=[P(" ÐбновиÑÑ ")])),_:1},8,["loading"])]),s(A).isPending.value?(i(),w(s(J),{key:0,class:"mt-6"})):R.value.length?(i(),u("div",He,[(i(!0),u(T,null,G(R.value,l=>(i(),u("article",{key:l.id,class:"event-card"},[t("div",qe,[t("div",Ke,[e[28]||(e[28]=t("div",{class:"event-card__avatar i-lucide-user-round"},null,-1)),t("div",null,[t("h3",null,a(l.email||"Email не пеÑедан"),1),l.bothelpUserId?(i(),u("p",Oe," BotHelp ID: "+a(l.bothelpUserId),1)):l.userId?(i(),u("p",ze," ÐолÑзоваÑÐµÐ»Ñ #"+a(l.userId),1)):I("",!0)])]),t("span",{class:U(["status-pill",se(l.status)])},a(ne[l.status]),3)]),t("div",je,[t("div",null,[e[29]||(e[29]=t("span",null,"ÐнÑегÑаÑиÑ",-1)),t("strong",null,a(l.integrationName),1)]),t("div",null,[e[30]||(e[30]=t("span",null,"ÐпÑиÑ",-1)),t("strong",null,a(l.entitlementLabel||l.entitlementKe
1y),1)])]),l.errorMessage?(i(),u("p",Ze,a(l.errorMessage),1)):I("",!0),t("div",Ge,a(de(l.createdAt)),1)]))),128))])):(i(),w(s(he),{key:2,icon:"i-lucide-list-checks",class:"empty-state"},{default:o(()=>e[31]||(e[31]=[P(" СобÑÑий пока Ð½ÐµÑ ")])),_:1}))],64)),y.value?(i(),w(s(F),{key:2,open:y.value,"onUpdate:open":e[5]||(e[5]=l=>y.value=l)},{default:o(()=>[r(s(D),{title:"ÐовÑй webhook",description:"BotHelp бÑÐ´ÐµÑ Ð²ÑдаваÑÑ Ð²ÑбÑаннÑÑ Ð¾Ð¿ÑÐ¸Ñ Ð¿Ð¾ email","navigation-icon":"back",onClose:e[4]||(e[4]=l=>y.value=!1)},{footer:o(()=>[r(s(W),{class:"sheet-primary","before-icon":"i-lucide-webhook",disabled:!z.value,loading:s(K).isPending.value,onClick:oe},{default:o(()=>e[32]||(e[32]=[P(" СоздаÑÑ webhook ")])),_:1},8,["disabled","loading"]),t("button",{type:"button",class:"sheet-secondary",onClick:e[3]||(e[3]=l=>y.value=!1)}," ÐÑмена ")]),default:o(()=>[t("div",Je,[r(s(Q),{header:"Ðазвание",description:"ÐÑÐ´ÐµÑ Ð²Ð¸Ð´Ð½Ð¾ ÑолÑко админиÑÑÑаÑоÑам",required:""},{default:o(()=>[r(s(ke),{modelValue:_.value,"onUpdate:modelValue":e[1]||(e[1]=l=>_.value=l),placeholder:"ÐапÑимеÑ, ÐаÑаÑон авгÑÑÑ","before-icon":"i-lucide-tag"},null,8,["modelValue"])]),_:1}),r(s(Q),{header:"ÐпÑÐ¸Ñ Ð´Ð¾ÑÑÑпа",description:"ÐÑкÑÐ¾ÐµÑ ÐºÐ°ÑегоÑии и маÑеÑÐ¸Ð°Ð»Ñ Ñ ÑÑой опÑией",required:""},{default:o(()=>[r(s(X),{modelValue:b.value,"onUpdate:modelValue":e[2]||(e[2]=l=>b.value=l),options:te.value,loading:s(q).isPending.value,placeholder:"ÐÑбеÑиÑе опÑиÑ"},null,8,["modelValue","options","loading"])]),_:1}),V.value?(i(),u("p",Xe,a(V.value),1)):I("",!0)])]),_:1})]),_:1},8,["open"])):I("",!0),k.value?(i(),w(s(F),{key:3,open:k.value,"onUpdate:open":e[9]||(e[9]=l=>k.value=l)},{default:o(()=>[r(s(D),{title:"ÐмпоÑÑ ÑÑаÑÑников",description:"ÐагÑÑзка email из CSV-Ñайла BotHelp","navigation-icon":"back",onClose:e[8]||(e[8]=l=>k.value=!1)},{footer:o(()=>[t("button",{type:"button",class:"sheet-secondary neutral",onClick:e[7]||(e[7]=l=>k.value=!1)}," ÐакÑÑÑÑ ")]),default:o(()=>[t("div",Ye,[e[33]||(e[33]=t("div",{class:"import-hint"},[t("span",{class:"i-lucide-file-spreadsheet"}),t("p",null,"Email бÑдÑÑ Ð¾Ð±ÑабоÑÐ°Ð½Ñ Ð¿Ð¾ Ñем же пÑавилам, ÑÑо и новÑе webhook.")],-1)),r(s(Q),{header:"ÐнÑегÑаÑиÑ",required:""},{default:o(()=>[r(s(X),{modelValue:c.value,"onUpdate:modelValue":e[6]||(e[6]=l=>c.value=l),options:le.value,placeholder:"ÐÑбеÑиÑе инÑегÑаÑиÑ"},null,8,["modelValue","options"])]),_:1}),t("label",{class:U(["file-picker",{disabled:c.value==null||s($).isPending.value}])},[t("span",{class:U(s($).isPending.value?"i-lucide-loader-2 animate-spin":"i-lucide-upload")},null,2),t("span",null,[t("strong",null,a(s($).isPending.value?"ÐбÑабаÑÑваем Ñайлâ¦":"ÐÑбÑаÑÑ CSV-Ñайл"),1),t("small",null,a(L.value||"Ðо 5000 email за Ð¾Ð´Ð½Ñ Ð·Ð°Ð³ÑÑзкÑ"),1)]),t("input",{type:"file",accept:".csv,text/csv,text/plain",disabled:c.value==null||s($).isPending.value,onChange:ce},null,40,et)],2)])]),_:1})]),_:1},8,["open"])):I("",!0),d.value?(i(),w(s(F),{key:4,open:j.value,"onUpdate:open":e[13]||(e[13]=l=>j.value=l)},{default:o(()=>[r(s(D),{title:d.value.name,description:d.value.entitlementLabel||d.value.entitlementKe
1y,"navigation-icon":"back",onClose:e[12]||(e[12]=l=>M.value=null)},{footer:o(()=>[r(s(W),{class:"sheet-primary","before-icon":"i-lucide-copy",onClick:e[10]||(e[10]=l=>ue(d.value))},{default:o(()=>e[36]||(e[36]=[P(" ÐопиÑоваÑÑ URL ")])),_:1}),t("button",{type:"button",class:"sheet-secondary neutral",disabled:s(O).isPending.value,onClick:e[11]||(e[11]=l=>re(d.value))},a(d.value.isActive?"ÐÑклÑÑиÑÑ Ð¸Ð½ÑегÑаÑиÑ":"ÐклÑÑиÑÑ Ð¸Ð½ÑегÑаÑиÑ"),9,at)]),default:o(()=>[t("div",tt,[t("div",lt,[e[34]||(e[34]=t("span",null,"СÑаÑÑÑ",-1)),t("span",{class:U(["status-pill",d.value.isActive?"success":"neutral"])},a(d.value.isActive?"ÐкÑивна":"ÐÑклÑÑена"),3)]),r(s(Q),{header:"Webhook URL",description:"ÐÑÑавÑÑе ÑÑÐ¾Ñ Ð°Ð´ÑÐµÑ Ð² дейÑÑвие BotHelp"},{default:o(()=>[t("div",nt,[e[35]||(e[35]=t("span",{class:"i-lucide-link-2"},null,-1)),t("span",st,a(d.value.webhookUrl),1)])]),_:1})])]),_:1},8,["title","description"])]),_:1},8,["open"])):I("",!0)])}}}),$t=_e(it,[["__scopeId","data-v-53a60ad5"]]);export{$t 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.