Files
gatus/web/static/js/app.js
TwiN 2c42aa8087 fix(ui): Update endpoints in-place instead of reloading every time (#1209)
* fix(ui): Update endpoints in-place instead of reloading every time

Fixes #1207

* Regenerate static assets
2025-08-18 12:36:16 -04:00

1 line
55 KiB
JavaScript

(function(){"use strict";var e={223:function(e,t,a){a.d(t,{L:function(){return Al}});var l=a(963),s=a(252),n=a(577),r=a(262),o=a.p+"img/logo.svg",i=a(201),u=a(507),d=a(970),c=a(135),g=a(3),m=a(512),v=a(388);function p(...e){return(0,v.m6)((0,m.W)(e))}const f=["disabled"];var w={__name:"Button",props:{variant:{type:String,default:"default"},size:{type:String,default:"default"},disabled:{type:Boolean,default:!1}},setup(e){const t=(0,g.j)("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3",lg:"h-11 rounded-md px-8",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}});return(a,l)=>((0,s.wg)(),(0,s.iD)("button",{class:(0,n.C_)((0,r.SU)(p)((0,r.SU)(t)({variant:e.variant,size:e.size}),a.$attrs.class??"")),disabled:e.disabled},[(0,s.WI)(a.$slots,"default")],10,f))}};const h=w;var y=h,b={__name:"Card",setup(e){return(e,t)=>((0,s.wg)(),(0,s.iD)("div",{class:(0,n.C_)((0,r.SU)(p)("rounded-lg border bg-card text-card-foreground shadow-sm",e.$attrs.class??""))},[(0,s.WI)(e.$slots,"default")],2))}};const x=b;var _=x,k={__name:"CardHeader",setup(e){return(e,t)=>((0,s.wg)(),(0,s.iD)("div",{class:(0,n.C_)((0,r.SU)(p)("flex flex-col space-y-1.5 p-6",e.$attrs.class??""))},[(0,s.WI)(e.$slots,"default")],2))}};const S=k;var U=S,D={__name:"CardTitle",setup(e){return(e,t)=>((0,s.wg)(),(0,s.iD)("h3",{class:(0,n.C_)((0,r.SU)(p)("text-2xl font-semibold leading-none tracking-tight",e.$attrs.class??""))},[(0,s.WI)(e.$slots,"default")],2))}};const W=D;var H=W,C={__name:"CardContent",setup(e){return(e,t)=>((0,s.wg)(),(0,s.iD)("div",{class:(0,n.C_)((0,r.SU)(p)("p-6 pt-0",e.$attrs.class??""))},[(0,s.WI)(e.$slots,"default")],2))}};const z=C;var j=z;const T={id:"social"};function F(e,t){return(0,s.wg)(),(0,s.iD)("div",T,t[0]||(t[0]=[(0,s._)("a",{href:"https://github.com/TwiN/gatus",target:"_blank",title:"Gatus on GitHub"},[(0,s._)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 16 16",class:"hover:scale-110"},[(0,s._)("path",{fill:"gray",d:"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"})])],-1)]))}var $=a(744);const R={},A=(0,$.Z)(R,[["render",F],["__scopeId","data-v-788af9ce"]]);var E=A;const L={methods:{generatePrettyTimeAgo(e){let t=(new Date).getTime()-new Date(e).getTime();if(t<500)return"now";if(t>2592e5){let e=(t/864e5).toFixed(0);return e+" day"+("1"!==e?"s":"")+" ago"}if(t>36e5){let e=(t/36e5).toFixed(0);return e+" hour"+("1"!==e?"s":"")+" ago"}if(t>6e4){let e=(t/6e4).toFixed(0);return e+" minute"+("1"!==e?"s":"")+" ago"}let a=(t/1e3).toFixed(0);return a+" second"+("1"!==a?"s":"")+" ago"},generatePrettyTimeDifference(e,t){let a=Math.ceil((new Date(e)-new Date(t))/1e3/60);return a+(1===a?" minute":" minutes")},prettifyTimestamp(e){let t=new Date(e),a=t.getFullYear(),l=(t.getMonth()+1<10?"0":"")+(t.getMonth()+1),s=(t.getDate()<10?"0":"")+t.getDate(),n=(t.getHours()<10?"0":"")+t.getHours(),r=(t.getMinutes()<10?"0":"")+t.getMinutes(),o=(t.getSeconds()<10?"0":"")+t.getSeconds();return a+"-"+l+"-"+s+" "+n+":"+r+":"+o}}},I={key:0,class:"space-y-2"},M={class:"font-mono text-xs"},Z={class:"font-mono text-xs"},N={key:0},q={class:"font-mono text-xs space-y-0.5"},Y={class:"break-all"},P={key:1},O={class:"font-mono text-xs space-y-0.5"};var V={__name:"Tooltip",props:{event:{type:[Event,Object],default:null},result:{type:Object,default:null}},setup(e){const t=e,a=(0,r.iH)(!0),l=(0,r.iH)(0),o=(0,r.iH)(0),i=(0,r.iH)(null),{prettifyTimestamp:u}=L.methods,d=async()=>{if(t.event&&t.event.type)if(await(0,s.Y3)(),"mouseenter"===t.event.type&&i.value){const e=t.event.target,n=e.getBoundingClientRect();a.value=!1,await(0,s.Y3)();const r=i.value.getBoundingClientRect();let u=n.bottom+8,d=n.left;const c=window.innerHeight-n.bottom,g=n.top;c<r.height+20&&(u=g>r.height+20?n.top-r.height-8:g>c?10:window.innerHeight-r.height-10);const m=window.innerWidth-n.left;m<r.width+20&&(d=n.right-r.width,d<10&&(d=10)),l.value=Math.round(u),o.value=Math.round(d)}else"mouseleave"===t.event.type&&(a.value=!0)};return(0,s.YP)((()=>t.event),(e=>{e&&e.type&&("mouseenter"===e.type?(a.value=!1,(0,s.Y3)((()=>d()))):"mouseleave"===e.type&&(a.value=!0))}),{immediate:!0}),(0,s.YP)((()=>t.result),(()=>{a.value||(0,s.Y3)((()=>d()))})),(t,d)=>((0,s.wg)(),(0,s.iD)("div",{id:"tooltip",ref_key:"tooltip",ref:i,class:(0,n.C_)(["fixed z-50 px-3 py-2 text-sm rounded-md shadow-lg border transition-all duration-200","bg-popover text-popover-foreground border-border",a.value?"invisible opacity-0":"visible opacity-100"]),style:(0,n.j5)(`top: ${l.value}px; left: ${o.value}px;`)},[e.result?((0,s.wg)(),(0,s.iD)("div",I,[(0,s._)("div",null,[d[0]||(d[0]=(0,s._)("div",{class:"text-xs font-semibold text-muted-foreground uppercase tracking-wider"},"Timestamp",-1)),(0,s._)("div",M,(0,n.zw)((0,r.SU)(u)(e.result.timestamp)),1)]),(0,s._)("div",null,[d[1]||(d[1]=(0,s._)("div",{class:"text-xs font-semibold text-muted-foreground uppercase tracking-wider"},"Response Time",-1)),(0,s._)("div",Z,(0,n.zw)((e.result.duration/1e6).toFixed(0))+"ms",1)]),e.result.conditionResults&&e.result.conditionResults.length?((0,s.wg)(),(0,s.iD)("div",N,[d[2]||(d[2]=(0,s._)("div",{class:"text-xs font-semibold text-muted-foreground uppercase tracking-wider"},"Conditions",-1)),(0,s._)("div",q,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(e.result.conditionResults,((e,t)=>((0,s.wg)(),(0,s.iD)("div",{key:t,class:"flex items-start gap-1"},[(0,s._)("span",{class:(0,n.C_)(e.success?"text-green-500":"text-red-500")},(0,n.zw)(e.success?"✓":"✗"),3),(0,s._)("span",Y,(0,n.zw)(e.condition),1)])))),128))])])):(0,s.kq)("",!0),e.result.errors&&e.result.errors.length?((0,s.wg)(),(0,s.iD)("div",P,[d[3]||(d[3]=(0,s._)("div",{class:"text-xs font-semibold text-muted-foreground uppercase tracking-wider"},"Errors",-1)),(0,s._)("div",O,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(e.result.errors,((e,t)=>((0,s.wg)(),(0,s.iD)("div",{key:t,class:"text-red-500"}," • "+(0,n.zw)(e),1)))),128))])])):(0,s.kq)("",!0)])):(0,s.kq)("",!0)],6))}};const B=V;var G=B;const K={class:"flex justify-center items-center"};var J={__name:"Loading",props:{size:{type:String,default:"md",validator:e=>["xs","sm","md","lg","xl"].includes(e)}},setup(e){const t=e,a=(0,s.Fl)((()=>{const e={xs:"w-4 h-4",sm:"w-6 h-6",md:"w-8 h-8",lg:"w-12 h-12",xl:"w-16 h-16"};return e[t.size]||e.md}));return(e,t)=>((0,s.wg)(),(0,s.iD)("div",K,[(0,s._)("img",{class:(0,n.C_)(["animate-spin rounded-full opacity-60 grayscale",a.value]),src:o,alt:"Gatus logo"},null,2)]))}};const Q=J;var X=Q;const ee={id:"global",class:"bg-background text-foreground"},te={key:0,class:"flex items-center justify-center min-h-screen"},ae={key:1,class:"relative"},le={class:"border-b bg-card/50 backdrop-blur supports-[backdrop-filter]:bg-card/60"},se={class:"container mx-auto px-4 py-4 max-w-7xl"},ne={class:"flex items-center justify-between"},re={class:"flex items-center gap-4"},oe={class:"w-12 h-12 flex items-center justify-center"},ie=["src"],ue={key:1,src:o,alt:"Gatus",class:"w-full h-full object-contain"},de={class:"text-2xl font-bold tracking-tight"},ce={key:0,class:"text-sm text-muted-foreground"},ge={class:"flex items-center gap-2"},me={key:0,class:"hidden md:flex items-center gap-1"},ve=["href"],pe={key:0,class:"md:hidden mt-4 pt-4 border-t space-y-1"},fe=["href"],we={class:"relative"},he={class:"border-t mt-auto"},ye={class:"container mx-auto px-4 py-6 max-w-7xl"},be={class:"flex flex-col items-center gap-4"},xe={key:2,id:"login-container",class:"flex items-center justify-center min-h-screen p-4"},_e={key:0,class:"mb-6"},ke={class:"p-3 rounded-md bg-destructive/10 border border-destructive/20"},Se={class:"text-sm text-destructive text-center"},Ue={key:0},De={key:1},We=["href"];var He={__name:"App",setup(e){const t=(0,i.yj)(),a=(0,r.iH)(!1),l=(0,r.iH)({oidc:!1,authenticated:!0}),g=(0,r.iH)([]),m=(0,r.iH)({}),v=(0,r.iH)(!1),p=(0,r.iH)(!1);let f=null;const w=(0,s.Fl)((()=>window.config&&window.config.logo&&"{{ .UI.Logo }}"!==window.config.logo?window.config.logo:"")),h=(0,s.Fl)((()=>window.config&&window.config.header&&"{{ .UI.Header }}"!==window.config.header?window.config.header:"Gatus")),b=(0,s.Fl)((()=>window.config&&window.config.link&&"{{ .UI.Link }}"!==window.config.link?window.config.link:null)),x=(0,s.Fl)((()=>window.config&&window.config.buttons?window.config.buttons:[])),k=async()=>{try{const e=await fetch(`${Al}/api/v1/config`,{credentials:"include"});if(a.value=!0,200===e.status){const t=await e.json();l.value=t,g.value=t.announcements||[]}}catch(e){console.error("Failed to fetch config:",e),a.value=!0}},S=(e,t)=>{m.value={result:e,event:t}};return(0,s.bv)((()=>{k(),f=setInterval(k,6e5)})),(0,s.Ah)((()=>{f&&(clearInterval(f),f=null)})),(e,i)=>{const f=(0,s.up)("router-view");return(0,s.wg)(),(0,s.iD)("div",ee,[a.value?l.value&&l.value.oidc&&!l.value.authenticated?((0,s.wg)(),(0,s.iD)("div",xe,[(0,s.Wm)((0,r.SU)(_),{class:"w-full max-w-md"},{default:(0,s.w5)((()=>[(0,s.Wm)((0,r.SU)(U),{class:"text-center"},{default:(0,s.w5)((()=>[i[5]||(i[5]=(0,s._)("img",{src:o,alt:"Gatus",class:"w-20 h-20 mx-auto mb-4"},null,-1)),(0,s.Wm)((0,r.SU)(H),{class:"text-3xl"},{default:(0,s.w5)((()=>i[4]||(i[4]=[(0,s.Uk)("Gatus",-1)]))),_:1,__:[4]}),i[6]||(i[6]=(0,s._)("p",{class:"text-muted-foreground mt-2"},"System Monitoring Dashboard",-1))])),_:1,__:[5,6]}),(0,s.Wm)((0,r.SU)(j),null,{default:(0,s.w5)((()=>[(0,r.SU)(t)&&(0,r.SU)(t).query.error?((0,s.wg)(),(0,s.iD)("div",_e,[(0,s._)("div",ke,[(0,s._)("p",Se,["access_denied"===(0,r.SU)(t).query.error?((0,s.wg)(),(0,s.iD)("span",Ue," You do not have access to this status page ")):((0,s.wg)(),(0,s.iD)("span",De,(0,n.zw)((0,r.SU)(t).query.error),1))])])])):(0,s.kq)("",!0),(0,s._)("a",{href:`${(0,r.SU)(Al)}/oidc/login`,class:"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 bg-primary text-primary-foreground hover:bg-primary/90 h-11 px-8 w-full",onClick:i[2]||(i[2]=e=>p.value=!0)},[p.value?((0,s.wg)(),(0,s.j4)(X,{key:0,size:"xs"})):((0,s.wg)(),(0,s.iD)(s.HY,{key:1},[(0,s.Wm)((0,r.SU)(c.Z),{class:"mr-2 h-4 w-4"}),i[7]||(i[7]=(0,s.Uk)(" Login with OIDC ",-1))],64))],8,We)])),_:1})])),_:1})])):((0,s.wg)(),(0,s.iD)("div",ae,[(0,s._)("header",le,[(0,s._)("div",se,[(0,s._)("div",ne,[(0,s._)("div",re,[((0,s.wg)(),(0,s.j4)((0,s.LL)(b.value?"a":"div"),{href:b.value,target:"_blank",class:"flex items-center gap-3 hover:opacity-80 transition-opacity"},{default:(0,s.w5)((()=>[(0,s._)("div",oe,[w.value?((0,s.wg)(),(0,s.iD)("img",{key:0,src:w.value,alt:"Gatus",class:"w-full h-full object-contain"},null,8,ie)):((0,s.wg)(),(0,s.iD)("img",ue))]),(0,s._)("div",null,[(0,s._)("h1",de,(0,n.zw)(h.value),1),x.value&&x.value.length?((0,s.wg)(),(0,s.iD)("p",ce," System Monitoring Dashboard ")):(0,s.kq)("",!0)])])),_:1},8,["href"]))]),(0,s._)("div",ge,[x.value&&x.value.length?((0,s.wg)(),(0,s.iD)("nav",me,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(x.value,(e=>((0,s.wg)(),(0,s.iD)("a",{key:e.name,href:e.link,target:"_blank",class:"px-3 py-2 text-sm font-medium rounded-md hover:bg-accent hover:text-accent-foreground transition-colors"},(0,n.zw)(e.name),9,ve)))),128))])):(0,s.kq)("",!0),x.value&&x.value.length?((0,s.wg)(),(0,s.j4)((0,r.SU)(y),{key:1,variant:"ghost",size:"icon",class:"md:hidden",onClick:i[0]||(i[0]=e=>v.value=!v.value)},{default:(0,s.w5)((()=>[v.value?((0,s.wg)(),(0,s.j4)((0,r.SU)(d.Z),{key:1,class:"h-5 w-5"})):((0,s.wg)(),(0,s.j4)((0,r.SU)(u.Z),{key:0,class:"h-5 w-5"}))])),_:1})):(0,s.kq)("",!0)])]),x.value&&x.value.length&&v.value?((0,s.wg)(),(0,s.iD)("nav",pe,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(x.value,(e=>((0,s.wg)(),(0,s.iD)("a",{key:e.name,href:e.link,target:"_blank",class:"block px-3 py-2 text-sm font-medium rounded-md hover:bg-accent hover:text-accent-foreground transition-colors",onClick:i[1]||(i[1]=e=>v.value=!1)},(0,n.zw)(e.name),9,fe)))),128))])):(0,s.kq)("",!0)])]),(0,s._)("main",we,[(0,s.Wm)(f,{onShowTooltip:S,announcements:g.value},null,8,["announcements"])]),(0,s._)("footer",he,[(0,s._)("div",ye,[(0,s._)("div",be,[i[3]||(i[3]=(0,s._)("div",{class:"text-sm text-muted-foreground text-center"},[(0,s.Uk)(" Powered by "),(0,s._)("a",{href:"https://gatus.io",target:"_blank",class:"font-medium text-emerald-800 hover:text-emerald-600"},"Gatus")],-1)),(0,s.Wm)(E)])])])])):((0,s.wg)(),(0,s.iD)("div",te,[(0,s.Wm)(X,{size:"lg"})])),(0,s.Wm)(G,{result:m.value.result,event:m.value.event},null,8,["result","event"])])}}};const Ce=He;var ze=Ce,je=a(793),Te=a(138),Fe=a(254),$e=a(146),Re=a(485),Ae=a(893),Ee=a(89),Le=a(372),Ie=a(981),Me={__name:"Badge",props:{variant:{type:String,default:"default"}},setup(e){const t=(0,g.j)("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground",success:"border-transparent bg-green-500 text-white",warning:"border-transparent bg-yellow-500 text-white"}},defaultVariants:{variant:"default"}});return(a,l)=>((0,s.wg)(),(0,s.iD)("div",{class:(0,n.C_)((0,r.SU)(p)((0,r.SU)(t)({variant:e.variant}),a.$attrs.class??""))},[(0,s.WI)(a.$slots,"default")],2))}};const Ze=Me;var Ne=Ze,qe={__name:"StatusBadge",props:{status:{type:String,required:!0,validator:e=>["healthy","unhealthy","degraded","unknown"].includes(e)}},setup(e){const t=e,a=(0,s.Fl)((()=>{switch(t.status){case"healthy":return"success";case"unhealthy":return"destructive";case"degraded":return"warning";default:return"secondary"}})),l=(0,s.Fl)((()=>{switch(t.status){case"healthy":return"Healthy";case"unhealthy":return"Unhealthy";case"degraded":return"Degraded";default:return"Unknown"}})),o=(0,s.Fl)((()=>{switch(t.status){case"healthy":return"bg-green-400";case"unhealthy":return"bg-red-400";case"degraded":return"bg-yellow-400";default:return"bg-gray-400"}}));return(e,t)=>((0,s.wg)(),(0,s.j4)((0,r.SU)(Ne),{variant:a.value,class:"flex items-center gap-1"},{default:(0,s.w5)((()=>[(0,s._)("span",{class:(0,n.C_)(["w-2 h-2 rounded-full",o.value])},null,2),(0,s.Uk)(" "+(0,n.zw)(l.value),1)])),_:1},8,["variant"]))}};const Ye=qe;var Pe=Ye;const Oe={class:"flex items-start justify-between gap-2 sm:gap-3"},Ve={class:"flex-1 min-w-0 overflow-hidden"},Be=["title","aria-label"],Ge={class:"flex items-center gap-2 text-xs sm:text-sm text-muted-foreground"},Ke=["title"],Je={key:1},Qe=["title"],Xe={class:"flex-shrink-0 ml-2"},et={class:"space-y-2"},tt={class:"flex items-center justify-between mb-1"},at=["title"],lt={class:"flex gap-0.5"},st=["onMouseenter","onMouseleave"],nt={class:"flex items-center justify-between text-xs text-muted-foreground mt-1"};var rt={__name:"EndpointCard",props:{endpoint:{type:Object,required:!0},maxResults:{type:Number,default:50},showAverageResponseTime:{type:Boolean,default:!0}},emits:["showTooltip"],setup(e,{emit:t}){const a=(0,i.tv)(),o=e,u=t,d=(0,s.Fl)((()=>o.endpoint.results&&0!==o.endpoint.results.length?o.endpoint.results[o.endpoint.results.length-1]:null)),c=(0,s.Fl)((()=>d.value?d.value.success?"healthy":"unhealthy":"unknown")),g=(0,s.Fl)((()=>d.value?.hostname||null)),m=(0,s.Fl)((()=>{const e=[...o.endpoint.results||[]];while(e.length<o.maxResults)e.unshift(null);return e.slice(-o.maxResults)})),v=(0,s.Fl)((()=>{if(!o.endpoint.results||0===o.endpoint.results.length)return"N/A";let e=0,t=0,a=1/0,l=0;for(const s of o.endpoint.results)if(s.duration){const n=s.duration/1e6;e+=n,t++,a=Math.min(a,n),l=Math.max(l,n)}if(0===t)return"N/A";if(o.showAverageResponseTime){const a=Math.round(e/t);return`~${a}ms`}{const e=Math.round(a),t=Math.round(l);return e===t?`${e}ms`:`${e}-${t}ms`}})),p=(0,s.Fl)((()=>o.endpoint.results&&0!==o.endpoint.results.length?L.methods.generatePrettyTimeAgo(o.endpoint.results[0].timestamp):"")),f=(0,s.Fl)((()=>o.endpoint.results&&0!==o.endpoint.results.length?L.methods.generatePrettyTimeAgo(o.endpoint.results[o.endpoint.results.length-1].timestamp):"")),w=()=>{a.push(`/endpoints/${o.endpoint.key}`)};return(t,a)=>((0,s.wg)(),(0,s.j4)((0,r.SU)(_),{class:"endpoint h-full flex flex-col transition hover:shadow-lg hover:scale-[1.01] dark:hover:border-gray-700"},{default:(0,s.w5)((()=>[(0,s.Wm)((0,r.SU)(U),{class:"endpoint-header px-3 sm:px-6 pt-3 sm:pt-6 pb-2 space-y-0"},{default:(0,s.w5)((()=>[(0,s._)("div",Oe,[(0,s._)("div",Ve,[(0,s.Wm)((0,r.SU)(H),{class:"text-base sm:text-lg truncate"},{default:(0,s.w5)((()=>[(0,s._)("span",{class:"hover:text-primary cursor-pointer hover:underline text-sm sm:text-base block truncate",onClick:w,onKeydown:(0,l.D2)(w,["enter"]),title:e.endpoint.name,role:"link",tabindex:"0","aria-label":`View details for ${e.endpoint.name}`},(0,n.zw)(e.endpoint.name),41,Be)])),_:1}),(0,s._)("div",Ge,[e.endpoint.group?((0,s.wg)(),(0,s.iD)("span",{key:0,class:"truncate",title:e.endpoint.group},(0,n.zw)(e.endpoint.group),9,Ke)):(0,s.kq)("",!0),e.endpoint.group&&g.value?((0,s.wg)(),(0,s.iD)("span",Je,"•")):(0,s.kq)("",!0),g.value?((0,s.wg)(),(0,s.iD)("span",{key:2,class:"truncate",title:g.value},(0,n.zw)(g.value),9,Qe)):(0,s.kq)("",!0)])]),(0,s._)("div",Xe,[(0,s.Wm)(Pe,{status:c.value},null,8,["status"])])])])),_:1}),(0,s.Wm)((0,r.SU)(j),{class:"endpoint-content flex-1 pb-3 sm:pb-4 px-3 sm:px-6 pt-2"},{default:(0,s.w5)((()=>[(0,s._)("div",et,[(0,s._)("div",null,[(0,s._)("div",tt,[a[0]||(a[0]=(0,s._)("div",{class:"flex-1"},null,-1)),(0,s._)("p",{class:"text-xs text-muted-foreground",title:e.showAverageResponseTime?"Average response time":"Minimum and maximum response time"},(0,n.zw)(v.value),9,at)]),(0,s._)("div",lt,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(m.value,((e,t)=>((0,s.wg)(),(0,s.iD)("div",{key:t,class:(0,n.C_)(["flex-1 h-6 sm:h-8 rounded-sm transition-all",e?e.success?"bg-green-500 hover:bg-green-700":"bg-red-500 hover:bg-red-700":"bg-gray-200 dark:bg-gray-700"]),onMouseenter:t=>e&&u("showTooltip",e,t),onMouseleave:t=>e&&u("showTooltip",null,t)},null,42,st)))),128))]),(0,s._)("div",nt,[(0,s._)("span",null,(0,n.zw)(p.value),1),(0,s._)("span",null,(0,n.zw)(f.value),1)])])])])),_:1})])),_:1}))}};const ot=rt;var it=ot,ut=a(275);const dt=["value"];var ct={__name:"Input",props:{modelValue:{type:[String,Number],default:""}},emits:["update:modelValue"],setup(e){return(t,a)=>((0,s.wg)(),(0,s.iD)("input",{class:(0,n.C_)((0,r.SU)(p)("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",t.$attrs.class??"")),value:e.modelValue,onInput:a[0]||(a[0]=e=>t.$emit("update:modelValue",e.target.value))},null,42,dt))}};const gt=ct;var mt=gt,vt=a(368);const pt=["aria-expanded","aria-label"],ft={class:"truncate"},wt={key:0,role:"listbox",class:"absolute top-full left-0 z-50 mt-1 w-full rounded-md border bg-popover text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95"},ht={class:"p-1"},yt=["onClick","aria-selected"],bt={class:"absolute left-1.5 sm:left-2 flex h-3.5 w-3.5 items-center justify-center"};var xt={__name:"Select",props:{modelValue:{type:String,default:""},options:{type:Array,required:!0},placeholder:{type:String,default:"Select..."},class:{type:String,default:""}},emits:["update:modelValue"],setup(e,{emit:t}){const a=e,l=t,o=(0,r.iH)(!1),i=(0,r.iH)(null),u=(0,r.iH)(-1),d=(0,s.Fl)((()=>a.options.find((e=>e.value===a.modelValue))||{label:a.placeholder,value:""})),c=e=>{l("update:modelValue",e.value),o.value=!1},g=()=>{if(o.value=!o.value,o.value){const e=a.options.findIndex((e=>e.value===a.modelValue));u.value=e>=0?e:0}else u.value=-1},m=e=>{i.value&&!i.value.contains(e.target)&&(o.value=!1,u.value=-1)},v=e=>{if(o.value)switch(e.key){case"ArrowDown":e.preventDefault(),u.value=Math.min(u.value+1,a.options.length-1);break;case"ArrowUp":e.preventDefault(),u.value=Math.max(u.value-1,0);break;case"Enter":case" ":e.preventDefault(),u.value>=0&&u.value<a.options.length&&c(a.options[u.value]);break;case"Escape":e.preventDefault(),o.value=!1,u.value=-1;break}else"Enter"!==e.key&&" "!==e.key&&"ArrowDown"!==e.key&&"ArrowUp"!==e.key||(e.preventDefault(),g())};return(0,s.bv)((()=>{document.addEventListener("click",m)})),(0,s.Ah)((()=>{document.removeEventListener("click",m)})),(t,l)=>((0,s.wg)(),(0,s.iD)("div",{ref_key:"selectRef",ref:i,class:(0,n.C_)(["relative",a.class])},[(0,s._)("button",{onClick:g,onKeydown:v,"aria-expanded":o.value,"aria-haspopup":!0,"aria-label":d.value.label||a.placeholder,class:"flex h-9 sm:h-10 w-full items-center justify-between rounded-md border border-input bg-background px-2 sm:px-3 py-1.5 sm:py-2 text-xs sm:text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50"},[(0,s._)("span",ft,(0,n.zw)(d.value.label),1),(0,s.Wm)((0,r.SU)(Re.Z),{class:"h-3 w-3 sm:h-4 sm:w-4 opacity-50 flex-shrink-0 ml-1"})],40,pt),o.value?((0,s.wg)(),(0,s.iD)("div",wt,[(0,s._)("div",ht,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(e.options,((t,a)=>((0,s.wg)(),(0,s.iD)("div",{key:t.value,onClick:e=>c(t),class:(0,n.C_)(["relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-6 sm:pl-8 pr-2 text-xs sm:text-sm outline-none hover:bg-accent hover:text-accent-foreground",a===u.value&&"bg-accent text-accent-foreground"]),role:"option","aria-selected":e.modelValue===t.value},[(0,s._)("span",bt,[e.modelValue===t.value?((0,s.wg)(),(0,s.j4)((0,r.SU)(vt.Z),{key:0,class:"h-3 w-3 sm:h-4 sm:w-4"})):(0,s.kq)("",!0)]),(0,s.Uk)(" "+(0,n.zw)(t.label),1)],10,yt)))),128))])])):(0,s.kq)("",!0)],2))}};const _t=xt;var kt=_t;const St={class:"flex flex-col lg:flex-row gap-3 lg:gap-4 p-3 sm:p-4 bg-card rounded-lg border"},Ut={class:"flex-1"},Dt={class:"relative"},Wt={class:"flex flex-col sm:flex-row gap-3 sm:gap-4"},Ht={class:"flex items-center gap-2 flex-1 sm:flex-initial"},Ct={class:"flex items-center gap-2 flex-1 sm:flex-initial"};var zt={__name:"SearchBar",emits:["search","update:showOnlyFailing","update:showRecentFailures","update:groupByGroup","update:sortBy","initializeCollapsedGroups"],setup(e,{emit:t}){const a=(0,r.iH)(""),l=(0,r.iH)(localStorage.getItem("gatus:filter-by")||"undefined"!==typeof window&&window.config?.defaultFilterBy||"none"),n=(0,r.iH)(localStorage.getItem("gatus:sort-by")||"undefined"!==typeof window&&window.config?.defaultSortBy||"name"),o=[{label:"None",value:"none"},{label:"Failing",value:"failing"},{label:"Unstable",value:"unstable"}],i=[{label:"Name",value:"name"},{label:"Group",value:"group"},{label:"Health",value:"health"}],u=t,d=e=>{l.value=e,localStorage.setItem("gatus:filter-by",e),u("update:showOnlyFailing",!1),u("update:showRecentFailures",!1),"failing"===e?u("update:showOnlyFailing",!0):"unstable"===e&&u("update:showRecentFailures",!0)},c=e=>{n.value=e,localStorage.setItem("gatus:sort-by",e),u("update:sortBy",e),u("update:groupByGroup","group"===e),"group"===e&&u("initializeCollapsedGroups")};return(0,s.bv)((()=>{d(l.value),c(n.value)})),(e,t)=>((0,s.wg)(),(0,s.iD)("div",St,[(0,s._)("div",Ut,[(0,s._)("div",Dt,[(0,s.Wm)((0,r.SU)(ut.Z),{class:"absolute left-3 top-1/2 transform -translate-y-1/2 h-4 w-4 text-muted-foreground"}),t[4]||(t[4]=(0,s._)("label",{for:"search-input",class:"sr-only"},"Search endpoints",-1)),(0,s.Wm)((0,r.SU)(mt),{id:"search-input",modelValue:a.value,"onUpdate:modelValue":t[0]||(t[0]=e=>a.value=e),type:"text",placeholder:"Search endpoints...",class:"pl-10 text-sm sm:text-base",onInput:t[1]||(t[1]=t=>e.$emit("search",a.value))},null,8,["modelValue"])])]),(0,s._)("div",Wt,[(0,s._)("div",Ht,[t[5]||(t[5]=(0,s._)("label",{class:"text-xs sm:text-sm font-medium text-muted-foreground whitespace-nowrap"},"Filter by:",-1)),(0,s.Wm)((0,r.SU)(kt),{modelValue:l.value,"onUpdate:modelValue":[t[2]||(t[2]=e=>l.value=e),d],options:o,placeholder:"None",class:"flex-1 sm:w-[140px] md:w-[160px]"},null,8,["modelValue"])]),(0,s._)("div",Ct,[t[6]||(t[6]=(0,s._)("label",{class:"text-xs sm:text-sm font-medium text-muted-foreground whitespace-nowrap"},"Sort by:",-1)),(0,s.Wm)((0,r.SU)(kt),{modelValue:n.value,"onUpdate:modelValue":[t[3]||(t[3]=e=>n.value=e),c],options:i,placeholder:"Name",class:"flex-1 sm:w-[90px] md:w-[100px]"},null,8,["modelValue"])])])]))}};const jt=zt;var Tt=jt,Ft=a(789),$t=a(679);const Rt={id:"settings",class:"fixed bottom-4 left-4 z-50"},At={class:"flex items-center gap-1 bg-background/95 backdrop-blur-sm border rounded-full shadow-md p-1"},Et=["aria-label","aria-expanded"],Lt={class:"text-xs font-medium"},It=["onClick"],Mt=["aria-label"],Zt={class:"absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 bg-popover text-popover-foreground text-xs rounded-md shadow-md opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none whitespace-nowrap"},Nt="300",qt="theme",Yt=31536e3;var Pt={__name:"Settings",emits:["refreshData"],setup(e,{emit:t}){const a=t,o=[{value:"10",label:"10s"},{value:"30",label:"30s"},{value:"60",label:"1m"},{value:"120",label:"2m"},{value:"300",label:"5m"},{value:"600",label:"10m"}],i={REFRESH_INTERVAL:"gatus:refresh-interval"};function u(){const e=document.cookie.match(new RegExp(`${qt}=(dark|light);?`))?.[1];return"dark"===e||!e&&(window.matchMedia("(prefers-color-scheme: dark)").matches||document.documentElement.classList.contains("dark"))}function d(){const e=localStorage.getItem(i.REFRESH_INTERVAL),t=e&&parseInt(e),a=t&&t>=10&&o.some((t=>t.value===e));return a?e:Nt}const c=(0,r.iH)(d()),g=(0,r.iH)(u()),m=(0,r.iH)(!1);let v=null;const p=e=>{const t=o.find((t=>t.value===e));return t?t.label:`${e}s`},f=e=>{localStorage.setItem(i.REFRESH_INTERVAL,e),v&&clearInterval(v),v=setInterval((()=>{w()}),1e3*e)},w=()=>{a("refreshData")},h=e=>{c.value=e,m.value=!1,w(),f(e)},y=e=>{const t=document.getElementById("settings");t&&!t.contains(e.target)&&(m.value=!1)},b=e=>{document.cookie=`${qt}=${e}; path=/; max-age=${Yt}; samesite=strict`},x=()=>{const e=u()?"light":"dark";b(e),_()},_=()=>{const e=u();g.value=e,document.documentElement.classList.toggle("dark",e)};return(0,s.bv)((()=>{f(c.value),_(),document.addEventListener("click",y)})),(0,s.Ah)((()=>{v&&clearInterval(v),document.removeEventListener("click",y)})),(e,t)=>((0,s.wg)(),(0,s.iD)("div",Rt,[(0,s._)("div",At,[(0,s._)("button",{onClick:t[1]||(t[1]=e=>m.value=!m.value),"aria-label":`Refresh interval: ${p(c.value)}`,"aria-expanded":m.value,class:"flex items-center gap-1.5 px-3 py-1.5 rounded-full hover:bg-accent transition-colors relative"},[(0,s.Wm)((0,r.SU)(Fe.Z),{class:"w-3.5 h-3.5 text-muted-foreground"}),(0,s._)("span",Lt,(0,n.zw)(p(c.value)),1),m.value?((0,s.wg)(),(0,s.iD)("div",{key:0,onClick:t[0]||(t[0]=(0,l.iM)((()=>{}),["stop"])),class:"absolute bottom-full left-0 mb-2 bg-popover border rounded-lg shadow-lg overflow-hidden"},[((0,s.wg)(),(0,s.iD)(s.HY,null,(0,s.Ko)(o,(e=>(0,s._)("button",{key:e.value,onClick:t=>h(e.value),class:(0,n.C_)(["block w-full px-4 py-2 text-xs text-left hover:bg-accent transition-colors",c.value===e.value&&"bg-accent"])},(0,n.zw)(e.label),11,It))),64))])):(0,s.kq)("",!0)],8,Et),t[2]||(t[2]=(0,s._)("div",{class:"h-5 w-px bg-border/50"},null,-1)),(0,s._)("button",{onClick:x,"aria-label":g.value?"Switch to light mode":"Switch to dark mode",class:"p-1.5 rounded-full hover:bg-accent transition-colors group relative"},[g.value?((0,s.wg)(),(0,s.j4)((0,r.SU)(Ft.Z),{key:0,class:"h-3.5 w-3.5 transition-all"})):((0,s.wg)(),(0,s.j4)((0,r.SU)($t.Z),{key:1,class:"h-3.5 w-3.5 transition-all"})),(0,s._)("div",Zt,(0,n.zw)(g.value?"Light mode":"Dark mode"),1)],8,Mt)])]))}};const Ot=(0,$.Z)(Pt,[["__scopeId","data-v-482756f8"]]);var Vt=Ot,Bt=a(691),Gt=a(446),Kt=a(5),Jt=a(337);const Qt={key:0,class:"announcement-container mb-4"},Xt={class:"flex items-center justify-between"},ea={class:"flex items-center gap-2"},ta={class:"text-xs text-gray-500 dark:text-gray-400"},aa={key:0,class:"announcement-content p-4 transition-all duration-200 rounded-b-lg"},la={class:"relative"},sa={class:"space-y-3"},na={class:"flex items-center gap-3 mb-2 relative"},ra={class:"relative z-10 bg-white dark:bg-gray-800 px-2 py-1 rounded-md border border-gray-200 dark:border-gray-600"},oa={class:"text-xs font-medium text-gray-600 dark:text-gray-300"},ia={class:"space-y-2 ml-7 relative"},ua={class:"flex items-center justify-between gap-3"},da={class:"flex-1 min-w-0"},ca={class:"text-sm leading-relaxed text-gray-900 dark:text-gray-100"},ga=["title"];var ma={__name:"AnnouncementBanner",props:{announcements:{type:Array,default:()=>[]}},setup(e){const t=e,a=(0,r.iH)(!1),l=()=>{a.value=!a.value},o={outage:{icon:Bt.Z,background:"bg-red-50 border-gray-200 dark:bg-red-900/50 dark:border-gray-600",border:"border-red-500",iconColor:"text-red-600 dark:text-red-400",text:"text-red-700 dark:text-red-300"},warning:{icon:Gt.Z,background:"bg-yellow-50 border-gray-200 dark:bg-yellow-900/50 dark:border-gray-600",border:"border-yellow-500",iconColor:"text-yellow-600 dark:text-yellow-400",text:"text-yellow-700 dark:text-yellow-300"},information:{icon:Kt.Z,background:"bg-blue-50 border-gray-200 dark:bg-blue-900/50 dark:border-gray-600",border:"border-blue-500",iconColor:"text-blue-600 dark:text-blue-400",text:"text-blue-700 dark:text-blue-300"},operational:{icon:Ee.Z,background:"bg-green-50 border-gray-200 dark:bg-green-900/50 dark:border-gray-600",border:"border-green-500",iconColor:"text-green-600 dark:text-green-400",text:"text-green-700 dark:text-green-300"},none:{icon:Jt.Z,background:"bg-gray-50 border-gray-200 dark:bg-gray-800/50 dark:border-gray-600",border:"border-gray-500",iconColor:"text-gray-600 dark:text-gray-400",text:"text-gray-700 dark:text-gray-300"}},i=(0,s.Fl)((()=>t.announcements&&t.announcements.length>0?t.announcements[0]:null)),u=(0,s.Fl)((()=>{const e=i.value?.type||"none";return o[e]?.icon||Jt.Z})),d=(0,s.Fl)((()=>{const e=i.value?.type||"none";return o[e]?.iconColor||"text-gray-600 dark:text-gray-400"})),c=(0,s.Fl)((()=>{const e=i.value?.type||"none",t=o[e];return`border-l-4 ${t.border.replace("border-","border-l-")}`})),g=(0,s.Fl)((()=>{if(!t.announcements||0===t.announcements.length)return{};const e={};return t.announcements.forEach((t=>{const a=new Date(t.timestamp).toDateString();e[a]||(e[a]=[]),e[a].push(t)})),e})),m=e=>o[e]?.icon||Jt.Z,v=e=>o[e]||o.none,p=e=>{const t=1===e.length?"2rem":2+3.5*(e.length-1)+"rem";return{top:"1.5rem",height:t}},f=e=>{const t=new Date(e),a=new Date,l=new Date(a);return l.setDate(l.getDate()-1),t.toDateString()===a.toDateString()?"Today":t.toDateString()===l.toDateString()?"Yesterday":t.toLocaleDateString("en-US",{weekday:"long",year:"numeric",month:"long",day:"numeric"})},w=e=>new Date(e).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1}),h=e=>new Date(e).toLocaleString("en-US",{year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:"short"});return(t,o)=>e.announcements&&e.announcements.length?((0,s.wg)(),(0,s.iD)("div",Qt,[(0,s._)("div",{class:(0,n.C_)(["rounded-lg border bg-card text-card-foreground shadow-sm transition-all duration-200",c.value])},[(0,s._)("div",{class:(0,n.C_)(["announcement-header px-4 py-3 cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors",a.value?"rounded-lg":"rounded-t-lg border-b border-gray-200 dark:border-gray-600"]),onClick:l},[(0,s._)("div",Xt,[(0,s._)("div",ea,[((0,s.wg)(),(0,s.j4)((0,s.LL)(u.value),{class:(0,n.C_)(["w-5 h-5",d.value])},null,8,["class"])),o[0]||(o[0]=(0,s._)("h2",{class:"text-base font-semibold text-gray-900 dark:text-gray-100"},"Announcements",-1)),(0,s._)("span",ta," ("+(0,n.zw)(e.announcements.length)+") ",1)]),(0,s.Wm)((0,r.SU)(Re.Z),{class:(0,n.C_)(["w-4 h-4 text-gray-500 dark:text-gray-400 transition-transform duration-200",a.value?"-rotate-90":"rotate-0"])},null,8,["class"])])],2),a.value?(0,s.kq)("",!0):((0,s.wg)(),(0,s.iD)("div",aa,[(0,s._)("div",la,[(0,s._)("div",sa,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(g.value,((e,t)=>((0,s.wg)(),(0,s.iD)("div",{key:t,class:"relative"},[e.length>0?((0,s.wg)(),(0,s.iD)("div",{key:0,class:"absolute left-3 w-0.5 bg-gray-300 dark:bg-gray-600 pointer-events-none",style:(0,n.j5)(p(e))},null,4)):(0,s.kq)("",!0),(0,s._)("div",na,[(0,s._)("div",ra,[(0,s._)("time",oa,(0,n.zw)(f(t)),1)]),o[1]||(o[1]=(0,s._)("div",{class:"flex-1 border-t border-gray-200 dark:border-gray-600"},null,-1))]),(0,s._)("div",ia,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(e,((e,a)=>((0,s.wg)(),(0,s.iD)("div",{key:`${t}-${a}-${e.timestamp}`,class:"relative"},[(0,s._)("div",{class:(0,n.C_)(["absolute -left-[26px] top-1/2 -translate-y-1/2 w-5 h-5 rounded-full border bg-white dark:bg-gray-800 flex items-center justify-center z-10",v(e.type).border])},[((0,s.wg)(),(0,s.j4)((0,s.LL)(m(e.type)),{class:(0,n.C_)(["w-3 h-3",v(e.type).iconColor])},null,8,["class"]))],2),(0,s._)("div",{class:(0,n.C_)(["rounded-md border p-3 transition-all duration-200 hover:shadow-sm",v(e.type).background])},[(0,s._)("div",ua,[(0,s._)("div",da,[(0,s._)("p",ca,(0,n.zw)(e.message),1)]),(0,s._)("time",{class:(0,n.C_)(["text-xs font-mono whitespace-nowrap",v(e.type).text]),title:h(e.timestamp)},(0,n.zw)(w(e.timestamp)),11,ga)])],2)])))),128))])])))),128))])])]))],2)])):(0,s.kq)("",!0)}};const va=(0,$.Z)(ma,[["__scopeId","data-v-23979b4a"]]);var pa=va;const fa={class:"dashboard-container bg-background"},wa={class:"container mx-auto px-4 py-8 max-w-7xl"},ha={class:"mb-8"},ya={class:"flex items-center justify-between mb-6"},ba={class:"flex items-center gap-4"},xa={key:0,class:"flex items-center justify-center py-20"},_a={key:1,class:"text-center py-20"},ka={class:"text-muted-foreground"},Sa={key:2},Ua={key:0,class:"space-y-6"},Da=["onClick"],Wa={class:"flex items-center gap-3"},Ha={class:"text-xl font-semibold text-foreground"},Ca={class:"flex items-center gap-2"},za={key:0,class:"bg-red-600 text-white px-2 py-1 rounded-full text-sm font-medium"},ja={key:0,class:"endpoint-group-content p-4"},Ta={class:"grid gap-3 grid-cols-1 sm:grid-cols-2 lg:grid-cols-3"},Fa={key:1,class:"grid gap-3 grid-cols-1 sm:grid-cols-2 lg:grid-cols-3"},$a={key:2,class:"mt-8 flex items-center justify-center gap-2"},Ra={class:"flex gap-1"},Aa=96;var Ea={__name:"Home",props:{announcements:{type:Array,default:()=>[]}},emits:["showTooltip"],setup(e,{emit:t}){const a=e,l=t,o=(0,r.iH)([]),i=(0,r.iH)(!1),u=(0,r.iH)(1),d=(0,r.iH)(""),c=(0,r.iH)(!1),g=(0,r.iH)(!1),m=(0,r.iH)(!0),v=(0,r.iH)(!1),p=(0,r.iH)(localStorage.getItem("gatus:sort-by")||"name"),f=(0,r.iH)(new Set),w=(0,s.Fl)((()=>{let e=[...o.value];if(d.value){const t=d.value.toLowerCase();e=e.filter((e=>e.name.toLowerCase().includes(t)||e.group&&e.group.toLowerCase().includes(t)))}return c.value&&(e=e.filter((e=>{if(!e.results||0===e.results.length)return!1;const t=e.results[e.results.length-1];return!t.success}))),g.value&&(e=e.filter((e=>!(!e.results||0===e.results.length)&&e.results.some((e=>!e.success))))),"health"===p.value&&e.sort(((e,t)=>{const a=e.results&&e.results.length>0&&e.results[e.results.length-1].success,l=t.results&&t.results.length>0&&t.results[t.results.length-1].success;return!a&&l?-1:a&&!l?1:e.name.localeCompare(t.name)})),e})),h=(0,s.Fl)((()=>Math.ceil(w.value.length/Aa))),b=(0,s.Fl)((()=>{if(!v.value)return null;const e={};w.value.forEach((t=>{const a=t.group||"No Group";e[a]||(e[a]=[]),e[a].push(t)}));const t=Object.keys(e).sort(((e,t)=>"No Group"===e?1:"No Group"===t?-1:e.localeCompare(t))),a={};return t.forEach((t=>{a[t]=e[t]})),a})),x=(0,s.Fl)((()=>{if(v.value)return b.value;const e=(u.value-1)*Aa,t=e+Aa;return w.value.slice(e,t)})),_=(0,s.Fl)((()=>{const e=[],t=5;let a=Math.max(1,u.value-Math.floor(t/2)),l=Math.min(h.value,a+t-1);l-a<t-1&&(a=Math.max(1,l-t+1));for(let s=a;s<=l;s++)e.push(s);return e})),k=async()=>{const e=0===o.value.length;e&&(i.value=!0);try{const t=await fetch(`${Al}/api/v1/endpoints/statuses?page=1&pageSize=100`,{credentials:"include"});if(200===t.status){const a=await t.json();if(e)o.value=a;else{const e=new Set(o.value.map((e=>e.key))),t=new Set(a.map((e=>e.key))),l=a.some((t=>!e.has(t.key))),s=o.value.some((e=>!t.has(e.key)));if(l||s)o.value=a;else{const e=new Map(a.map((e=>[e.key,e])));o.value.forEach(((t,a)=>{const l=e.get(t.key);l&&Object.assign(o.value[a],l)}))}}}else console.error("[Home][fetchData] Error:",await t.text())}catch(t){console.error("[Home][fetchData] Error:",t)}finally{e&&(i.value=!1)}},S=()=>{o.value=[],k()},U=e=>{d.value=e,u.value=1},D=e=>{u.value=e,window.scrollTo({top:0,behavior:"smooth"})},W=()=>{m.value=!m.value},H=(e,t)=>{l("showTooltip",e,t)},C=e=>e.filter((e=>{if(!e.results||0===e.results.length)return!1;const t=e.results[e.results.length-1];return!t.success})).length,z=e=>{f.value.has(e)?f.value.delete(e):f.value.add(e);const t=Array.from(f.value);localStorage.setItem("gatus:collapsed-groups",JSON.stringify(t))},j=()=>{try{const e=localStorage.getItem("gatus:collapsed-groups");e&&(f.value=new Set(JSON.parse(e)))}catch(e){console.warn("Failed to parse saved collapsed groups:",e),localStorage.removeItem("gatus:collapsed-groups")}};return(0,s.bv)((()=>{k()})),(e,t)=>((0,s.wg)(),(0,s.iD)("div",fa,[(0,s._)("div",wa,[(0,s._)("div",ha,[(0,s._)("div",ya,[t[6]||(t[6]=(0,s._)("div",null,[(0,s._)("h1",{class:"text-4xl font-bold tracking-tight"},"Health Dashboard"),(0,s._)("p",{class:"text-muted-foreground mt-2"},"Monitor the health of your endpoints in real-time")],-1)),(0,s._)("div",ba,[(0,s.Wm)((0,r.SU)(y),{variant:"ghost",size:"icon",onClick:W,title:m.value?"Show min-max response time":"Show average response time"},{default:(0,s.w5)((()=>[m.value?((0,s.wg)(),(0,s.j4)((0,r.SU)(je.Z),{key:0,class:"h-5 w-5"})):((0,s.wg)(),(0,s.j4)((0,r.SU)(Te.Z),{key:1,class:"h-5 w-5"}))])),_:1},8,["title"]),(0,s.Wm)((0,r.SU)(y),{variant:"ghost",size:"icon",onClick:S,title:"Refresh data"},{default:(0,s.w5)((()=>[(0,s.Wm)((0,r.SU)(Fe.Z),{class:"h-5 w-5"})])),_:1})])]),(0,s.Wm)(Tt,{onSearch:U,"onUpdate:showOnlyFailing":t[0]||(t[0]=e=>c.value=e),"onUpdate:showRecentFailures":t[1]||(t[1]=e=>g.value=e),"onUpdate:groupByGroup":t[2]||(t[2]=e=>v.value=e),"onUpdate:sortBy":t[3]||(t[3]=e=>p.value=e),onInitializeCollapsedGroups:j})]),(0,s.Wm)(pa,{announcements:a.announcements},null,8,["announcements"]),t[8]||(t[8]=(0,s._)("div",null,null,-1)),i.value?((0,s.wg)(),(0,s.iD)("div",xa,[(0,s.Wm)(X,{size:"lg"})])):0===w.value.length?((0,s.wg)(),(0,s.iD)("div",_a,[(0,s.Wm)((0,r.SU)($e.Z),{class:"h-12 w-12 text-muted-foreground mx-auto mb-4"}),t[7]||(t[7]=(0,s._)("h3",{class:"text-lg font-semibold mb-2"},"No endpoints found",-1)),(0,s._)("p",ka,(0,n.zw)(d.value||c.value||g.value?"Try adjusting your filters":"No endpoints are configured"),1)])):((0,s.wg)(),(0,s.iD)("div",Sa,[v.value?((0,s.wg)(),(0,s.iD)("div",Ua,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(x.value,((e,t)=>((0,s.wg)(),(0,s.iD)("div",{key:t,class:"endpoint-group border rounded-lg overflow-hidden"},[(0,s._)("div",{onClick:e=>z(t),class:"endpoint-group-header flex items-center justify-between p-4 bg-card border-b cursor-pointer hover:bg-accent/50 transition-colors"},[(0,s._)("div",Wa,[f.value.has(t)?((0,s.wg)(),(0,s.j4)((0,r.SU)(Ae.Z),{key:1,class:"h-5 w-5 text-muted-foreground"})):((0,s.wg)(),(0,s.j4)((0,r.SU)(Re.Z),{key:0,class:"h-5 w-5 text-muted-foreground"})),(0,s._)("h2",Ha,(0,n.zw)(t),1)]),(0,s._)("div",Ca,[C(e)>0?((0,s.wg)(),(0,s.iD)("span",za,(0,n.zw)(C(e)),1)):((0,s.wg)(),(0,s.j4)((0,r.SU)(Ee.Z),{key:1,class:"h-6 w-6 text-green-600"}))])],8,Da),f.value.has(t)?(0,s.kq)("",!0):((0,s.wg)(),(0,s.iD)("div",ja,[(0,s._)("div",Ta,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(e,(e=>((0,s.wg)(),(0,s.j4)(it,{key:e.key,endpoint:e,maxResults:50,showAverageResponseTime:m.value,onShowTooltip:H},null,8,["endpoint","showAverageResponseTime"])))),128))])]))])))),128))])):((0,s.wg)(),(0,s.iD)("div",Fa,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(x.value,(e=>((0,s.wg)(),(0,s.j4)(it,{key:e.key,endpoint:e,maxResults:50,showAverageResponseTime:m.value,onShowTooltip:H},null,8,["endpoint","showAverageResponseTime"])))),128))])),!v.value&&h.value>1?((0,s.wg)(),(0,s.iD)("div",$a,[(0,s.Wm)((0,r.SU)(y),{variant:"outline",size:"icon",disabled:1===u.value,onClick:t[4]||(t[4]=e=>D(u.value-1))},{default:(0,s.w5)((()=>[(0,s.Wm)((0,r.SU)(Le.Z),{class:"h-4 w-4"})])),_:1},8,["disabled"]),(0,s._)("div",Ra,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(_.value,(e=>((0,s.wg)(),(0,s.j4)((0,r.SU)(y),{key:e,variant:e===u.value?"default":"outline",size:"sm",onClick:t=>D(e)},{default:(0,s.w5)((()=>[(0,s.Uk)((0,n.zw)(e),1)])),_:2},1032,["variant","onClick"])))),128))]),(0,s.Wm)((0,r.SU)(y),{variant:"outline",size:"icon",disabled:u.value===h.value,onClick:t[5]||(t[5]=e=>D(u.value+1))},{default:(0,s.w5)((()=>[(0,s.Wm)((0,r.SU)(Ie.Z),{class:"h-4 w-4"})])),_:1},8,["disabled"])])):(0,s.kq)("",!0)]))]),(0,s.Wm)(Vt,{onRefreshData:k})]))}};const La=Ea;var Ia=La,Ma=a(318),Za=a(779),Na=a(141),qa=a(478);const Ya={class:"flex items-center justify-between"},Pa={class:"text-sm text-muted-foreground"};var Oa={__name:"Pagination",props:{numberOfResultsPerPage:Number,currentPageProp:{type:Number,default:1}},emits:["page"],setup(e,{emit:t}){const a=e,l=t,o=(0,r.iH)(a.currentPageProp),i=(0,s.Fl)((()=>{let e=100;if("undefined"!==typeof window&&window.config&&window.config.maximumNumberOfResults){const t=parseInt(window.config.maximumNumberOfResults);isNaN(t)||(e=t)}return Math.ceil(e/a.numberOfResultsPerPage)})),u=()=>{o.value--,l("page",o.value)},d=()=>{o.value++,l("page",o.value)};return(e,t)=>((0,s.wg)(),(0,s.iD)("div",Ya,[(0,s.Wm)((0,r.SU)(y),{variant:"outline",size:"sm",disabled:o.value>=i.value,onClick:d,class:"flex items-center gap-1"},{default:(0,s.w5)((()=>[(0,s.Wm)((0,r.SU)(Le.Z),{class:"h-4 w-4"}),t[0]||(t[0]=(0,s.Uk)(" Previous ",-1))])),_:1,__:[0]},8,["disabled"]),(0,s._)("span",Pa," Page "+(0,n.zw)(o.value)+" of "+(0,n.zw)(i.value),1),(0,s.Wm)((0,r.SU)(y),{variant:"outline",size:"sm",disabled:o.value<=1,onClick:u,class:"flex items-center gap-1"},{default:(0,s.w5)((()=>[t[1]||(t[1]=(0,s.Uk)(" Next ",-1)),(0,s.Wm)((0,r.SU)(Ie.Z),{class:"h-4 w-4"})])),_:1,__:[1]},8,["disabled"])]))}};const Va=Oa;var Ba=Va;const Ga={class:"dashboard-container bg-background"},Ka={class:"container mx-auto px-4 py-8 max-w-7xl"},Ja={class:"mb-8"},Qa={key:0,class:"space-y-6"},Xa={class:"flex items-start justify-between"},el={class:"text-4xl font-bold tracking-tight"},tl={class:"flex items-center gap-3 text-muted-foreground mt-2"},al={key:0},ll={key:1},sl={key:2},nl={class:"grid gap-6 md:grid-cols-2 lg:grid-cols-4"},rl={class:"text-2xl font-bold"},ol={class:"text-2xl font-bold"},il={class:"text-2xl font-bold"},ul={class:"text-2xl font-bold"},dl={class:"flex items-center justify-between"},cl={class:"flex items-center gap-2"},gl={class:"space-y-4"},ml={key:1,class:"pt-4 border-t"},vl={key:0,class:"space-y-6"},pl={class:"flex items-center justify-between"},fl=["src"],wl={class:"grid gap-4 md:grid-cols-2 lg:grid-cols-4"},hl=["src","alt"],yl={class:"grid gap-4 md:grid-cols-2 lg:grid-cols-4"},bl={class:"text-sm text-muted-foreground mb-2"},xl=["src","alt"],_l={class:"text-center"},kl=["src"],Sl={class:"space-y-4"},Ul={class:"mt-1"},Dl={class:"flex-1"},Wl={class:"font-medium"},Hl={class:"text-sm text-muted-foreground"},Cl={key:1,class:"flex items-center justify-center py-20"};var zl={__name:"Details",emits:["showTooltip"],setup(e,{emit:t}){const a=(0,i.tv)(),o=(0,i.yj)(),u=t,d=(0,r.iH)(null),c=(0,r.iH)(null),g=(0,r.iH)([]),m=(0,r.iH)(1),v=(0,r.iH)(!1),p=(0,r.iH)(!1),f=(0,r.iH)("24h"),w="."===Al?"..":Al,h=(0,r.iH)(!1),b=(0,s.Fl)((()=>c.value&&c.value.results&&0!==c.value.results.length?c.value.results[c.value.results.length-1]:null)),x=(0,s.Fl)((()=>b.value?b.value.success?"healthy":"unhealthy":"unknown")),k=(0,s.Fl)((()=>b.value?.hostname||null)),S=(0,s.Fl)((()=>{if(!d.value||!d.value.results||0===d.value.results.length)return"N/A";let e=0,t=0;for(const a of d.value.results)a.duration&&(e+=a.duration,t++);return 0===t?"N/A":Math.round(e/t/1e6)})),D=(0,s.Fl)((()=>{if(!d.value||!d.value.results||0===d.value.results.length)return"N/A";let e=1/0,t=0,a=!1;for(const n of d.value.results)if(n.duration){const l=n.duration/1e6;e=Math.min(e,l),t=Math.max(t,l),a=!0}if(!a)return"N/A";const l=Math.round(e),s=Math.round(t);return l===s?`${l}ms`:`${l}-${s}ms`})),W=(0,s.Fl)((()=>c.value&&c.value.results&&0!==c.value.results.length?L.methods.generatePrettyTimeAgo(c.value.results[c.value.results.length-1].timestamp):"Never")),C=async()=>{h.value=!0;try{const e=await fetch(`${w}/api/v1/endpoints/${o.params.key}/statuses?page=${m.value}&pageSize=50`,{credentials:"include"});if(200===e.status){const t=await e.json();d.value=t,1===m.value&&(c.value=t);let a=[];if(t.events&&t.events.length>0)for(let e=t.events.length-1;e>=0;e--){let l=t.events[e];if(e===t.events.length-1)"UNHEALTHY"===l.type?l.fancyText="Endpoint is unhealthy":"HEALTHY"===l.type?l.fancyText="Endpoint is healthy":"START"===l.type&&(l.fancyText="Monitoring started");else{let a=t.events[e+1];"HEALTHY"===l.type?l.fancyText="Endpoint became healthy":"UNHEALTHY"===l.type?l.fancyText=a?"Endpoint was unhealthy for "+L.methods.generatePrettyTimeDifference(a.timestamp,l.timestamp):"Endpoint became unhealthy":"START"===l.type&&(l.fancyText="Monitoring started")}l.fancyTimeAgo=L.methods.generatePrettyTimeAgo(l.timestamp),a.push(l)}if(g.value=a,t.results&&t.results.length>0)for(let e=0;e<t.results.length;e++)if(t.results[e].duration>0){v.value=!0;break}}else console.error("[Details][fetchData] Error:",await e.text())}catch(e){console.error("[Details][fetchData] Error:",e)}finally{h.value=!1}},z=()=>{a.push("/")},T=e=>{m.value=e,C()},F=(e,t)=>{u("showTooltip",e,t)},$=e=>new Date(e).toLocaleString(),R=()=>`${w}/api/v1/endpoints/${d.value.key}/health/badge.svg`,A=e=>`${w}/api/v1/endpoints/${d.value.key}/uptimes/${e}/badge.svg`,E=e=>`${w}/api/v1/endpoints/${d.value.key}/response-times/${e}/badge.svg`,I=e=>`${w}/api/v1/endpoints/${d.value.key}/response-times/${e}/chart.svg`;return(0,s.bv)((()=>{C()})),(e,t)=>((0,s.wg)(),(0,s.iD)("div",Ga,[(0,s._)("div",Ka,[(0,s._)("div",Ja,[(0,s.Wm)((0,r.SU)(y),{variant:"ghost",class:"mb-4",onClick:z},{default:(0,s.w5)((()=>[(0,s.Wm)((0,r.SU)(Ma.Z),{class:"h-4 w-4 mr-2"}),t[2]||(t[2]=(0,s.Uk)(" Back to Dashboard ",-1))])),_:1,__:[2]}),d.value&&d.value.name?((0,s.wg)(),(0,s.iD)("div",Qa,[(0,s._)("div",Xa,[(0,s._)("div",null,[(0,s._)("h1",el,(0,n.zw)(d.value.name),1),(0,s._)("div",tl,[d.value.group?((0,s.wg)(),(0,s.iD)("span",al,"Group: "+(0,n.zw)(d.value.group),1)):(0,s.kq)("",!0),d.value.group&&k.value?((0,s.wg)(),(0,s.iD)("span",ll,"•")):(0,s.kq)("",!0),k.value?((0,s.wg)(),(0,s.iD)("span",sl,(0,n.zw)(k.value),1)):(0,s.kq)("",!0)])]),(0,s.Wm)(Pe,{status:x.value},null,8,["status"])]),(0,s._)("div",nl,[(0,s.Wm)((0,r.SU)(_),null,{default:(0,s.w5)((()=>[(0,s.Wm)((0,r.SU)(U),{class:"pb-2"},{default:(0,s.w5)((()=>[(0,s.Wm)((0,r.SU)(H),{class:"text-sm font-medium text-muted-foreground"},{default:(0,s.w5)((()=>t[3]||(t[3]=[(0,s.Uk)("Current Status",-1)]))),_:1,__:[3]})])),_:1}),(0,s.Wm)((0,r.SU)(j),null,{default:(0,s.w5)((()=>[(0,s._)("div",rl,(0,n.zw)("healthy"===x.value?"Operational":"Issues Detected"),1)])),_:1})])),_:1}),(0,s.Wm)((0,r.SU)(_),null,{default:(0,s.w5)((()=>[(0,s.Wm)((0,r.SU)(U),{class:"pb-2"},{default:(0,s.w5)((()=>[(0,s.Wm)((0,r.SU)(H),{class:"text-sm font-medium text-muted-foreground"},{default:(0,s.w5)((()=>t[4]||(t[4]=[(0,s.Uk)("Avg Response Time",-1)]))),_:1,__:[4]})])),_:1}),(0,s.Wm)((0,r.SU)(j),null,{default:(0,s.w5)((()=>[(0,s._)("div",ol,(0,n.zw)(S.value)+"ms",1)])),_:1})])),_:1}),(0,s.Wm)((0,r.SU)(_),null,{default:(0,s.w5)((()=>[(0,s.Wm)((0,r.SU)(U),{class:"pb-2"},{default:(0,s.w5)((()=>[(0,s.Wm)((0,r.SU)(H),{class:"text-sm font-medium text-muted-foreground"},{default:(0,s.w5)((()=>t[5]||(t[5]=[(0,s.Uk)("Response Time Range",-1)]))),_:1,__:[5]})])),_:1}),(0,s.Wm)((0,r.SU)(j),null,{default:(0,s.w5)((()=>[(0,s._)("div",il,(0,n.zw)(D.value),1)])),_:1})])),_:1}),(0,s.Wm)((0,r.SU)(_),null,{default:(0,s.w5)((()=>[(0,s.Wm)((0,r.SU)(U),{class:"pb-2"},{default:(0,s.w5)((()=>[(0,s.Wm)((0,r.SU)(H),{class:"text-sm font-medium text-muted-foreground"},{default:(0,s.w5)((()=>t[6]||(t[6]=[(0,s.Uk)("Last Check",-1)]))),_:1,__:[6]})])),_:1}),(0,s.Wm)((0,r.SU)(j),null,{default:(0,s.w5)((()=>[(0,s._)("div",ul,(0,n.zw)(W.value),1)])),_:1})])),_:1})]),(0,s.Wm)((0,r.SU)(_),null,{default:(0,s.w5)((()=>[(0,s.Wm)((0,r.SU)(U),null,{default:(0,s.w5)((()=>[(0,s._)("div",dl,[(0,s.Wm)((0,r.SU)(H),null,{default:(0,s.w5)((()=>t[7]||(t[7]=[(0,s.Uk)("Recent Checks",-1)]))),_:1,__:[7]}),(0,s._)("div",cl,[(0,s.Wm)((0,r.SU)(y),{variant:"ghost",size:"icon",onClick:t[0]||(t[0]=e=>p.value=!p.value),title:p.value?"Show min-max response time":"Show average response time"},{default:(0,s.w5)((()=>[p.value?((0,s.wg)(),(0,s.j4)((0,r.SU)(je.Z),{key:0,class:"h-5 w-5"})):((0,s.wg)(),(0,s.j4)((0,r.SU)(Te.Z),{key:1,class:"h-5 w-5"}))])),_:1},8,["title"]),(0,s.Wm)((0,r.SU)(y),{variant:"ghost",size:"icon",onClick:C,title:"Refresh data",disabled:h.value},{default:(0,s.w5)((()=>[(0,s.Wm)((0,r.SU)(Fe.Z),{class:(0,n.C_)(["h-4 w-4",h.value&&"animate-spin"])},null,8,["class"])])),_:1},8,["disabled"])])])])),_:1}),(0,s.Wm)((0,r.SU)(j),null,{default:(0,s.w5)((()=>[(0,s._)("div",gl,[d.value?((0,s.wg)(),(0,s.j4)(it,{key:0,endpoint:d.value,maxResults:50,showAverageResponseTime:p.value,onShowTooltip:F,class:"border-0 shadow-none bg-transparent p-0"},null,8,["endpoint","showAverageResponseTime"])):(0,s.kq)("",!0),d.value&&d.value.key?((0,s.wg)(),(0,s.iD)("div",ml,[(0,s.Wm)(Ba,{onPage:T,numberOfResultsPerPage:50,currentPageProp:m.value},null,8,["currentPageProp"])])):(0,s.kq)("",!0)])])),_:1})])),_:1}),v.value?((0,s.wg)(),(0,s.iD)("div",vl,[(0,s.Wm)((0,r.SU)(_),null,{default:(0,s.w5)((()=>[(0,s.Wm)((0,r.SU)(U),null,{default:(0,s.w5)((()=>[(0,s._)("div",pl,[(0,s.Wm)((0,r.SU)(H),null,{default:(0,s.w5)((()=>t[8]||(t[8]=[(0,s.Uk)("Response Time Trend",-1)]))),_:1,__:[8]}),(0,s.wy)((0,s._)("select",{"onUpdate:modelValue":t[1]||(t[1]=e=>f.value=e),class:"text-sm bg-background border rounded-md px-3 py-1 focus:outline-none focus:ring-2 focus:ring-ring"},t[9]||(t[9]=[(0,s._)("option",{value:"24h"},"24 hours",-1),(0,s._)("option",{value:"7d"},"7 days",-1),(0,s._)("option",{value:"30d"},"30 days",-1)]),512),[[l.bM,f.value]])])])),_:1}),(0,s.Wm)((0,r.SU)(j),null,{default:(0,s.w5)((()=>[(0,s._)("img",{src:I(f.value),alt:"Response time chart",class:"w-full"},null,8,fl)])),_:1})])),_:1}),(0,s._)("div",wl,[((0,s.wg)(),(0,s.iD)(s.HY,null,(0,s.Ko)(["30d","7d","24h","1h"],(e=>(0,s.Wm)((0,r.SU)(_),{key:e},{default:(0,s.w5)((()=>[(0,s.Wm)((0,r.SU)(U),{class:"pb-2"},{default:(0,s.w5)((()=>[(0,s.Wm)((0,r.SU)(H),{class:"text-sm font-medium text-muted-foreground text-center"},{default:(0,s.w5)((()=>[(0,s.Uk)((0,n.zw)("30d"===e?"Last 30 days":"7d"===e?"Last 7 days":"24h"===e?"Last 24 hours":"Last hour"),1)])),_:2},1024)])),_:2},1024),(0,s.Wm)((0,r.SU)(j),null,{default:(0,s.w5)((()=>[(0,s._)("img",{src:E(e),alt:`${e} response time`,class:"mx-auto mt-2"},null,8,hl)])),_:2},1024)])),_:2},1024))),64))])])):(0,s.kq)("",!0),(0,s.Wm)((0,r.SU)(_),null,{default:(0,s.w5)((()=>[(0,s.Wm)((0,r.SU)(U),null,{default:(0,s.w5)((()=>[(0,s.Wm)((0,r.SU)(H),null,{default:(0,s.w5)((()=>t[10]||(t[10]=[(0,s.Uk)("Uptime Statistics",-1)]))),_:1,__:[10]})])),_:1}),(0,s.Wm)((0,r.SU)(j),null,{default:(0,s.w5)((()=>[(0,s._)("div",yl,[((0,s.wg)(),(0,s.iD)(s.HY,null,(0,s.Ko)(["30d","7d","24h","1h"],(e=>(0,s._)("div",{key:e,class:"text-center"},[(0,s._)("p",bl,(0,n.zw)("30d"===e?"Last 30 days":"7d"===e?"Last 7 days":"24h"===e?"Last 24 hours":"Last hour"),1),(0,s._)("img",{src:A(e),alt:`${e} uptime`,class:"mx-auto"},null,8,xl)]))),64))])])),_:1})])),_:1}),(0,s.Wm)((0,r.SU)(_),null,{default:(0,s.w5)((()=>[(0,s.Wm)((0,r.SU)(U),null,{default:(0,s.w5)((()=>[(0,s.Wm)((0,r.SU)(H),null,{default:(0,s.w5)((()=>t[11]||(t[11]=[(0,s.Uk)("Current Health",-1)]))),_:1,__:[11]})])),_:1}),(0,s.Wm)((0,r.SU)(j),null,{default:(0,s.w5)((()=>[(0,s._)("div",_l,[(0,s._)("img",{src:R(),alt:"health badge",class:"mx-auto"},null,8,kl)])])),_:1})])),_:1}),g.value&&g.value.length>0?((0,s.wg)(),(0,s.j4)((0,r.SU)(_),{key:1},{default:(0,s.w5)((()=>[(0,s.Wm)((0,r.SU)(U),null,{default:(0,s.w5)((()=>[(0,s.Wm)((0,r.SU)(H),null,{default:(0,s.w5)((()=>t[12]||(t[12]=[(0,s.Uk)("Events",-1)]))),_:1,__:[12]})])),_:1}),(0,s.Wm)((0,r.SU)(j),null,{default:(0,s.w5)((()=>[(0,s._)("div",Sl,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(g.value,(e=>((0,s.wg)(),(0,s.iD)("div",{key:e.timestamp,class:"flex items-start gap-4 pb-4 border-b last:border-0"},[(0,s._)("div",Ul,["HEALTHY"===e.type?((0,s.wg)(),(0,s.j4)((0,r.SU)(Za.Z),{key:0,class:"h-5 w-5 text-green-500"})):"UNHEALTHY"===e.type?((0,s.wg)(),(0,s.j4)((0,r.SU)(Na.Z),{key:1,class:"h-5 w-5 text-red-500"})):((0,s.wg)(),(0,s.j4)((0,r.SU)(qa.Z),{key:2,class:"h-5 w-5 text-muted-foreground"}))]),(0,s._)("div",Dl,[(0,s._)("p",Wl,(0,n.zw)(e.fancyText),1),(0,s._)("p",Hl,(0,n.zw)($(e.timestamp))+" • "+(0,n.zw)(e.fancyTimeAgo),1)])])))),128))])])),_:1})])),_:1})):(0,s.kq)("",!0)])):((0,s.wg)(),(0,s.iD)("div",Cl,[(0,s.Wm)(X,{size:"lg"})]))])]),(0,s.Wm)(Vt,{onRefreshData:C})]))}};const jl=zl;var Tl=jl;const Fl=[{path:"/",name:"Home",component:Ia},{path:"/endpoints/:key",name:"Details",component:Tl}],$l=(0,i.p7)({history:(0,i.PO)("/"),routes:Fl});var Rl=$l;const Al="";(0,l.ri)(ze).use(Rl).mount("#app")}},t={};function a(l){var s=t[l];if(void 0!==s)return s.exports;var n=t[l]={exports:{}};return e[l](n,n.exports,a),n.exports}a.m=e,function(){var e=[];a.O=function(t,l,s,n){if(!l){var r=1/0;for(d=0;d<e.length;d++){l=e[d][0],s=e[d][1],n=e[d][2];for(var o=!0,i=0;i<l.length;i++)(!1&n||r>=n)&&Object.keys(a.O).every((function(e){return a.O[e](l[i])}))?l.splice(i--,1):(o=!1,n<r&&(r=n));if(o){e.splice(d--,1);var u=s();void 0!==u&&(t=u)}}return t}n=n||0;for(var d=e.length;d>0&&e[d-1][2]>n;d--)e[d]=e[d-1];e[d]=[l,s,n]}}(),function(){a.d=function(e,t){for(var l in t)a.o(t,l)&&!a.o(e,l)&&Object.defineProperty(e,l,{enumerable:!0,get:t[l]})}}(),function(){a.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){a.p="/"}(),function(){var e={143:0};a.O.j=function(t){return 0===e[t]};var t=function(t,l){var s,n,r=l[0],o=l[1],i=l[2],u=0;if(r.some((function(t){return 0!==e[t]}))){for(s in o)a.o(o,s)&&(a.m[s]=o[s]);if(i)var d=i(a)}for(t&&t(l);u<r.length;u++)n=r[u],a.o(e,n)&&e[n]&&e[n][0](),e[n]=0;return a.O(d)},l=self["webpackChunkgatus"]=self["webpackChunkgatus"]||[];l.forEach(t.bind(null,0)),l.push=t.bind(null,l.push.bind(l))}();var l=a.O(void 0,[998],(function(){return a(223)}));l=a.O(l)})();