1import{i as Ue,j as xe,k as He,m as Ae,n as Ce}from"../chunks/DPYfO6kF.js";import{l as Se}from"../chunks/DJRs0O51.js";import{D as _e,i as q,t as P,h as le,E as Fe}from"../chunks/DOtmUfyy.js";import"../chunks/DsnmJJEf.js";import{o as ze}from"../chunks/Zs36Il0d.js";import{p as Pe,i as G,h as ye,g as e,s as $,j as m,f as E,c as de,a as H,d as W,r as D,t as Be,u as n,b as $e,e as O,n as We}from"../chunks/peRXpkqj.js";import{i as L}from"../chunks/bhMyoObS.js";import{A as De}from"../chunks/DTO_U6Z-.js";import{s as Ne}from"../chunks/BKEvBigI.js";import{p as Ve,c as Z}from"../chunks/BvHlQ2Z1.js";import{S as Ee}from"../chunks/Db3jZQ9R.js";import{S as ee}from"../chunks/BqgrOArB.js";import{B as te}from"../chunks/BIv5A7p4.js";import{C as ie}from"../chunks/CxbSQgAM.js";import{C as Oe}from"../chunks/5MB_-9rE.js";import{V as z}from"../chunks/CieBOaQW.js";import{D as qe,a as je,b as Ie,R as Me}from"../chunks/BqyQekaI.js";import{S as we}from"../chunks/DDz8Jfg4.js";import{w as Le,r as Ge}from"../chunks/B7Vg46kj.js";import{q as Je}from"../chunks/CY8U0sF0.js";import{g as Re}from"../chunks/Bohe3iUJ.js";import{D as Ke}from"../chunks/B9cm83XG.js";import{T as Qe}from"../chunks/D0lkrLb2.js";import{S as Xe}from"../chunks/DNrcSXj_.js";import{r as ke}from"../chunks/BlhWB9-F.js";async function Ye({params:J}){const u=J.node,[R,v]=await Promise.all([_e("notification-config",async()=>await Ue()),_e("users",async()=>await Se(void 0,{hostname:u}))]),p=q(R)?{transports:[]}:R,f=Array.isArray(v)?v:[];return{config:p,users:f,loadErrors:q(v)?[v]:[]}}const St=Object.freeze(Object.defineProperty({__proto__:null,load:Ye},Symbol.toStringTag,{value:"Module"}));var Ze=O('<div class="space-y-3"><!> <!> <!> <!></div>'),et=O('<div class="space-y-3"><!> <!></div>'),tt=O('<div class="space-y-3"><div class="grid gap-3 sm:grid-cols-2"><!> <!> <!> <!></div> <!> <!> <div class="grid grid-cols-2 gap-x-4"><!> <!></div></div>'),rt=O('<span class="icon-[mdi--loading] mr-2 h-4 w-4 animate-spin"></span>'),st=O("<!> ",1),ot=O('<!> <div class="space-y-4"><div class="grid gap-3 sm:grid-cols-2"><!> <!></div> <!></div> <!>',1),nt=O('<input type="text" style="display:none;" name="dummy_username"/> <input type="password" style="display:none;" name="dummy_password"/> <!>',1);function Te(J,u){Pe(u,!0);let R=Ve(u,"open",15),v=G(!1),p=G(!1);function f(o="smtp"){return{name:"",type:o,enabled:!1,ntfyBaseUrl:"https://ntfy.sh",ntfyTopic:"",ntfyToken:"",ntfyHasAuthToken:!1,smtpHost:"",smtpPort:587,smtpUsername:"",smtpFrom:"",smtpUseTls:!0,smtpRecipients:[],smtpPassword:"",smtpHasPassword:!1,discordWebhookUrl:""}}const a=n(()=>u.edit&&u.id?u.transports.find(o=>o.id===u.id)??null:null);let t=G(ye(f()));Le(()=>R(),o=>{o&&(e(a)?$(t,{id:e(a).id,name:e(a).name,type:e(a).type,enabled:e(a).enabled,ntfyBaseUrl:e(a).ntfy?.baseUrl??"https://ntfy.sh",ntfyTopic:e(a).ntfy?.topic??"",ntfyToken:"",ntfyHasAuthToken:e(a).ntfy?.hasAuthToken??!1,smtpHost:e(a).email?.smtpHost??"",smtpPort:e(a).email?.smtpPort??587,smtpUsername:e(a).email?.smtpUsername??"",smtpFrom:e(a).email?.smtpFrom??"",smtpUseTls:e(a).email?.smtpUseTls??!0,smtpRecipients:[...e(a).email?.recipients??[]],smtpPassword:"",smtpHasPassword:e(a).email?.hasPassword??!1,discordWebhookUrl:e(a).discord?.webhookUrl??""},!0):$(t,f(),!0))});const C=n(()=>{const o=new we,k=[];for(const U of u.users){const x=U.email.trim();!x||o.has(x)||(o.add(x),k.push({label:U.username?`${U.username} <${x}>`:x,value:x}))}return k});function N(o){const k=new we,U=[];for(const x of o){const B=x.trim();!B||k.has(B)||(k.add(B),U.push(B))}return U}function j(o){return{name:o.name.trim(),type:o.type,enabled:o.enabled,ntfy:o.type==="ntfy"?{baseUrl:o.ntfyBaseUrl,topic:o.ntfyTopic,...o.ntfyToken.trim().length>0?{authToken:o.ntfyToken.trim()}:{}}:null,email:o.type==="smtp"?{smtpHost:o.smtpHost,smtpPort:Number(o.smtpPort)||587,smtpUsername:o.smtpUsername,smtpFrom:o.smtpFrom,smtpUseTls:o.smtpUseTls,recipients:N(o.smtpRecipients),...o.smtpPassword.trim().length>0?{smtpPassword:o.smtpPassword.trim()}:{}}:null,discord:o.type==="discord"?{...o.discordWebhookUrl.trim().length>0?{webhookUrl:o.discordWebhookUrl.trim()}:{}}:null}}function I(){e(a)&&$(t,{id:e(a).id,name:e(a).name,type:e(a).type,enabled:e(a).enabled,ntfyBaseUrl:e(a).ntfy?.baseUrl??"https://ntfy.sh",ntfyTopic:e(a
1).ntfy?.topic??"",ntfyToken:"",ntfyHasAuthToken:e(a).ntfy?.hasAuthToken??!1,smtpHost:e(a).email?.smtpHost??"",smtpPort:e(a).email?.smtpPort??587,smtpUsername:e(a).email?.smtpUsername??"",smtpFrom:e(a).email?.smtpFrom??"",smtpUseTls:e(a).email?.smtpUseTls??!0,smtpRecipients:[...e(a).email?.recipients??[]],smtpPassword:"",smtpHasPassword:e(a).email?.hasPassword??!1,discordWebhookUrl:e(a).discord?.webhookUrl??""},!0)}const s=n(()=>Re("main"));async function re(){if(u.edit&&!e(t).id){P.error(e(s)(3600),{duration:5e3,position:"bottom-center"});return}if(e(t).name.trim().length===0){P.error(e(s)(2123),{duration:5e3,position:"bottom-center"});return}if(e(t).type==="smtp"){if(e(t).smtpFrom.trim().length===0){P.error(e(s)(2503),{duration:5e3,position:"bottom-center"});return}if(e(t).smtpHost.trim().length===0){P.error(e(s)(2504),{duration:5e3,position:"bottom-center"});return}if(e(t).smtpRecipients.length===0){P.error(e(s)(2505),{duration:5e3,position:"bottom-center"});return}}else if(e(t).type==="ntfy"){if(e(t).ntfyTopic.trim().length===0){P.error(e(s)(2506),{duration:5e3,position:"bottom-center"});return}}else if(e(t).type==="discord"&&e(t).discordWebhookUrl.trim().length===0){P.error(e(s)(2507),{duration:5e3,position:"bottom-center"});return}$(v,!0);const o=j(e(t)),k=u.edit?await xe(e(t).id,o):await He(o);if($(v,!1),q(k)&&k.status==="error"){le(k),P.error(e(s)(2117,[u.edit?"update":"create"]),{duration:5e3,position:"bottom-center"});return}P.success(e(s)(2101,[u.edit?"updated":"created"]),{duration:3500,position:"bottom-center"}),R(!1),u.afterChange()}var M=nt(),K=m(E(M),4);Z(K,()=>Me,(o,k)=>{k(o,{get open(){return R()},set open(U){R(U)},children:(U,x)=>{var B=de(),me=E(B);{let se=n(()=>u.edit&&!!e(a));Z(me,()=>qe,(ue,oe)=>{oe(ue,{class:"max-h-[90vh] overflow-y-auto sm:max-w-140",showCloseButton:!0,get showResetButton(){return e(se)},onClose:()=>R(!1),onReset:I,children:(ce,be)=>{var r=ot(),i=E(r);Z(i,()=>je,(l,d)=>{d(l,{children:(c,y)=>{var h=de(),A=E(h);Z(A,()=>Ie,(T,b)=>{b(T,{children:(S,Y)=>{{let F=n(()=>u.edit?e(s)(2118):e(s)(2119));ee(S,{icon:"icon-[mingcute--mail-ai-line]",size:"h-5 w-5",gap:"gap-2",get title(){return e(F)}})}},$$slots:{default:!0}})}),H(c,h)},$$slots:{default:!0}})});var g=m(i,2),Q=W(g),ne=W(Q);{let l=n(()=>e(s)(2103)),d=n(()=>e(s)(2147));z(ne,{get label(){return e(l)},get placeholder(){return e(d)},get value(){return e(t).name},set value(c){e(t).name=c}})}var X=m(ne,2);{let l=n(()=>e(s)(293)),d=n(()=>[{value:"ntfy",label:"ntfy"},{value:"smtp",label:"SMTP"},{value:"discord",label:e(s)(37)}]);Ee(X,{get label(){return e(l)},get options(){return e(d)},onChange:c=>e(t).type=c,classes:{parent:"flex-1 min-w-0 space-y-1.5",label:"text-sm font-medium whitespace-nowrap h-7",trigger:"inline-flex h-8 w-full min-w-0 max-w-full items-center overflow-hidden px-3 text-left"},get value(){return e(t).type},set value(c){e(t).type=c}})}D(Q);var ae=m(Q,2);{var pe=l=>{var d=Ze(),c=W(d);{let T=n(()=>e(s)(2105));z(c,{get label(){return e(T)},placeholder:"https://ntfy.sh",get value(){return e(t).ntfyBaseUrl},set value(b){e(t).ntfyBaseUrl=b}})}var y=m(c,2);{let T=n(()=>e(s)(2106)),b=n(()=>({icon:"icon-[oui--generate]",tooltip:e(s)(2146),function:async()=>Je()}));z(y,{get label(){return e(T)},placeholder:"sylve-events-5678",get topRightButton(){return e(b)},get value(){return e(t).ntfyTopic},set value(S){e(t).ntfyTopic=S}})}var h=m(y,2);{let T=n(()=>e(s)(2107)),b=n(()=>e(t).ntfyHasAuthToken?e(s)(2108):e(s)(1584));z(h,{get label(){return e(T)},type:"password",get placeholder(){return e(b)},revealOnFocus:!0,get value(){return e(t).ntfyToken},set value(S){e(t).ntfyToken=S}})}var A=m(h,2);{let T=n(()=>e(s)(375));ie(A,{get label(){return e(T)},get checked(){return e(t).enabled},set checked(b){e(t).enabled=b}})}D(d),H(l,d)},fe=l=>{var d=et(),c=W(d);{let h=n(()=>e(s)(2437));z(c,{get label(){return e(h)},placeholder:"https://discord.com/api/webhooks/...",get value(){return e(t).discordWebhookUrl},set value(A){e(t).discordWebhookUrl=A}})}var y=m(c,2);{let h=n(()=>e(s)(375));ie(y,{get label(){return e(h)},get checked(){return e(t).enabled},set checked(A){e(t).enabled=A}})}D(d),H(l,d)},ge=l=>{var d=tt(),c=W(d),y=W(c);{let _=n(()=>e(s)(2109));z(y,{get label(){return e(_)},placeholder:"smtp.gmail.com",get value(){return e(t).smtpHost},set value(w){e(t).smtpHost=w}})}var h=m(y,2);{let _=n(()=>e(s)(2110));z(h,{get label(){return e(_)},type:"number",placeholder:"587",get value(){return e(t).smtpPort},set value(w){e(t).smtpPort=w}})}var A=m(h,2);{let _=n(()=>e(s)(2111));z(A,{get label(){return e(_)},placeholder:"[email protected]",get value(){return e(t).smtpUsername},set value(w){e(t).smtpUsername=w}})}var T=m(A,2);{let _=n(()=>e(s)(2112));z(T,{get label(){return e(_)},placeholder:"[email protected]",get value(){return e(t).smtpFrom},set value(w){e(t).smtpFrom=w}})}D(c);var b=m(c,2);{let _=n(()=>e(s)(2113)),w=n(()=>e(t).smtpHasPassword?e(s)(2114):e(s)(1584));z(b,{get label(){return e(_)},type:"password",get placeholder(){return e(w)},revealOnFocus:!0,get value(){return e(t).smtpPassword},set value(V){e(t).smtpPassword=V}})}var S=m(b,2);{let _=n(()=>e(s)(2124)),w=n(()=>e(s)(2125));Oe(S,{get label(){return e(_)},get data(){return e(C)},get placeholder(){return e(w)},width:"w-full",multiple:!0,allowCustom:!0,onValueChange:V=>
1{e(t).smtpRecipients=N(Array.isArray(V)?V:[])},get open(){return e(p)},set open(V){$(p,V,!0)},get value(){return e(t).smtpRecipients},set value(V){e(t).smtpRecipients=V}})}var Y=m(S,2),F=W(Y);{let _=n(()=>e(s)(375));ie(F,{get label(){return e(_)},get checked(){return e(t).enabled},set checked(w){e(t).enabled=w}})}var he=m(F,2);{let _=n(()=>e(s)(2120));ie(he,{get label(){return e(_)},get checked(){return e(t).smtpUseTls},set checked(w){e(t).smtpUseTls=w}})}D(Y),D(d),H(l,d)};L(ae,l=>{e(t).type==="ntfy"?l(pe):e(t).type==="discord"?l(fe,1):l(ge,-1)})}D(g);var ve=m(g,2);Z(ve,()=>Ke,(l,d)=>{d(l,{children:(c,y)=>{te(c,{onclick:re,get disabled(){return e(v)},children:(h,A)=>{var T=st(),b=E(T);{var S=F=>{var he=rt();H(F,he)};L(b,F=>{e(v)&&F(S)})}var Y=m(b);Be(F=>Ne(Y,` ${F??""}`),[()=>u.edit?e(s)(153):e(s)(219)]),H(h,T)},$$slots:{default:!0}})},$$slots:{default:!0}})}),H(ce,r)},$$slots:{default:!0}})})}H(U,B)},$$slots:{default:!0}})}),H(J,M),$e()}var at=O('<div class="flex h-full w-full flex-col"><div class="flex h-10 w-full items-center gap-2 border-b p-2"><!> <!> <!> <!> <!></div> <!></div> <!> <!> <!>',1);function Ft(J,u){Pe(u,!0);const R=(r,i=We)=>{var g=de(),Q=E(g);{var ne=X=>{var ae=de(),pe=E(ae);{var fe=l=>{te(l,{onclick:()=>{p.edit.open=!0,p.edit.id=Number(e(N)?.id)},size:"sm",variant:"outline",class:"h-6.5",children:(d,c)=>{{let y=n(()=>e(f)(145));ee(d,{icon:"icon-[mdi--pencil]",size:"h-4 w-4",gap:"gap-2",get title(){return e(y)}})}},$$slots:{default:!0}})},ge=l=>{te(l,{onclick:()=>{p.delete.open=!0,p.delete.id=Number(e(N)?.id)},size:"sm",variant:"outline",class:"h-6.5",children:(d,c)=>{{let y=n(()=>e(f)(144));ee(d,{icon:"icon-[mdi--delete]",size:"h-4 w-4",gap:"gap-2",get title(){return e(y)}})}},$$slots:{default:!0}})},ve=l=>{te(l,{onclick:s,size:"sm",variant:"outline",class:"h-6.5",get disabled(){return e(I)},children:(d,c)=>{{let y=n(()=>e(I)?"icon-[mdi--loading] animate-spin":"icon-[mdi--flask-outline]"),h=n(()=>e(f)(2006));ee(d,{get icon(){return e(y)},size:"h-4 w-4",gap:"gap-2",get title(){return e(h)}})}},$$slots:{default:!0}})};L(pe,l=>{i()==="edit"?l(fe):i()==="delete"?l(ge,1):i()==="test"&&l(ve,2)})}H(X,ae)};L(Q,X=>{e(C)&&e(C).length===1&&X(ne)})}H(r,g)};ze(()=>{for(const r of u.data.loadErrors)le(r)});let v=Ge(()=>"notification-config",async r=>{const i=await Ue();return q(i)||Fe(r,i),q(i)?u.data.config:i},{initialValue:u.data.config}),p=ye({create:{open:!1},edit:{open:!1,id:0},delete:{open:!1,id:0}});const f=n(()=>Re("main"));let a=ye([{field:"id",title:"ID",visible:!1},{field:"enabled",title:e(f)(99),formatter:r=>r.getValue()?ke("mdi:check-circle",e(f)(375),"text-green-500"):ke("mdi:close-circle",e(f)(376),"text-muted-foreground")},{field:"type",title:e(f)(293),formatter:r=>{const i=r.getValue();return i==="ntfy"?"ntfy":i==="smtp"?"SMTP":i==="discord"?e(f)(37):i||"-"}},{field:"name",title:e(f)(140),formatter:r=>r.getValue()||"-"},{field:"details",title:e(f)(2126),formatter:r=>r.getValue()||"-"}]);const t=n(()=>({columns:a,rows:(v.current.transports||[]).map(r=>{let i="-";if(r.type==="smtp"&&r.email?.recipients?.length){const g=r.email.recipients;i=g.length<=2?g.join(", "):`${g[0]} ...+${g.length-1} more`}else r.type==="ntfy"&&r.ntfy?.topic?i=r.ntfy.topic:r.type==="discord"&&(i=r.discord?.webhookUrl?new URL(r.discord.webhookUrl).hostname:"-");return{id:r.id,name:r.name,type:r.type,enabled:r.enabled,details:i}})}));let C=G(null),N=n(()=>e(C)?e(C)[0]:{}),j=G(""),I=G(!1);async function s(){if(!e(N)?.id)return;$(I,!0);const r=await Ce(Number(e(N).id));$(I,!1),q(r)&&r.status==="success"?P.success(e(f)(2121),{position:"bottom-center"}):(le(r),P.error(e(f)(2122),{position:"bottom-center"}))}var re=at(),M=E(re),K=W(M),o=W(K);Xe(o,{get query(){return e(j)},set query(r){$(j,r,!0)}});var k=m(o,2);te(k,{size:"sm",class:"h-6",onclick:()=>p.create.open=!0,children:(r,i)=>{{let g=n(()=>e(f)(147));ee(r,{icon:"icon-[gg--add]",size:"h-4 w-4",gap:"gap-2",get title(){return e(g)}})}},$$slots:{default:!0}});var U=m(k,2);R(U,()=>"test");var x=m(U,2);R(x,()=>"edit");var B=m(x,2);R(B,()=>"delete"),D(K);var me=m(K,2);Qe(me,{get data(){return e(t)},name:"tt-notification-transports",get parentActiveRow(){return e(C)},set parentActiveRow(r){$(C,r,!0)},get query(){return e(j)},set query(r){$(j,r,!0)}}),D(M);var se=m(M,2);{var ue=r=>{{let i=n(()=>v.current.transports||[]);Te(r,{edit:!1,get users(){return u.data.users},get transports(){return e(i)},afterChange:()=>v.refetch(),get open(){return p.create.open},set open(g){p.create.open=g}})}};L(se,r=>{p.create.open&&r(ue)})}var oe=m(se,2);{var ce=r=>{{let i=n(()=>v.current.transports||[]);Te(r,{edit:!0,get id(){return p.edit.id},get users(){return u.data.users},get transports(){return e(i)},afterChange:()=>v.refetch(),get open(){return p.edit.open},set open(g){p.edit.open=g}})}};L(oe,r=>{p.edit.open&&r(ce)})}var be=m(oe,2);{let r=n(()=>
1({parent:"transport",element:String(e(N)?.name??"")}));De(be,{get open(){return p.delete.open},get names(){return e(r)},actions:{onConfirm:async()=>{const i=await Ae(p.delete.id);v.refetch(),q(i)&&i.status==="success"?P.success(e(f)(2115),{position:"bottom-center"}):(le(i),P.error(e(f)(2116),{position:"bottom-center"})),$(C,null),p.delete.open=!1},onCancel:()=>{$(C,null),p.delete.open=!1}}})}H(J,re),$e()}export{Ft as component,St as universal};
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.