diff --git a/web/app/src/components/EndpointCard.vue b/web/app/src/components/EndpointCard.vue index 2dfae1d1..c4b64d5d 100644 --- a/web/app/src/components/EndpointCard.vue +++ b/web/app/src/components/EndpointCard.vue @@ -15,7 +15,7 @@ {{ endpoint.name }} -
+
{{ endpoint.group }} {{ hostname }} diff --git a/web/static/css/app.css b/web/static/css/app.css index 37f638a5..50cd1c22 100644 --- a/web/static/css/app.css +++ b/web/static/css/app.css @@ -2,4 +2,4 @@ /* ! tailwindcss v3.1.8 | MIT License | https://tailwindcss.com -*/*,:after,:before{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:Consolas,Monaco,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}:root{--background:0 0% 100%;--foreground:222.2 84% 4.9%;--card:0 0% 100%;--card-foreground:222.2 84% 4.9%;--popover:0 0% 100%;--popover-foreground:222.2 84% 4.9%;--primary:222.2 47.4% 11.2%;--primary-foreground:210 40% 98%;--secondary:210 40% 96.1%;--secondary-foreground:222.2 47.4% 11.2%;--muted:210 40% 96.1%;--muted-foreground:215.4 16.3% 46.9%;--accent:210 40% 96.1%;--accent-foreground:222.2 47.4% 11.2%;--destructive:0 84.2% 60.2%;--destructive-foreground:210 40% 98%;--border:214.3 31.8% 91.4%;--input:214.3 31.8% 91.4%;--ring:222.2 84% 4.9%;--radius:0.5rem}:root.dark{--background:222.2 84% 4.9%;--foreground:210 40% 98%;--card:222.2 84% 4.9%;--card-foreground:210 40% 98%;--popover:222.2 84% 4.9%;--popover-foreground:210 40% 98%;--primary:210 40% 98%;--primary-foreground:222.2 47.4% 11.2%;--secondary:217.2 32.6% 17.5%;--secondary-foreground:210 40% 98%;--muted:217.2 32.6% 17.5%;--muted-foreground:215 20.2% 65.1%;--accent:217.2 32.6% 17.5%;--accent-foreground:210 40% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:210 40% 98%;--border:217.2 32.6% 17.5%;--input:217.2 32.6% 17.5%;--ring:212.7 26.8% 83.9%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.left-3{left:.75rem}.-left-\[26px\]{left:-26px}.top-1\/2{top:50%}.left-1\/2{left:50%}.bottom-8{bottom:2rem}.top-8{top:2rem}.bottom-4{bottom:1rem}.left-4{left:1rem}.bottom-full{bottom:100%}.left-0{left:0}.top-full{top:100%}.left-1\.5{left:.375rem}.left-1{left:.25rem}.z-10{z-index:10}.z-50{z-index:50}.-m-2{margin:-.5rem}.mx-auto{margin-left:auto;margin-right:auto}.mt-4{margin-top:1rem}.mt-auto{margin-top:auto}.mb-4{margin-bottom:1rem}.mt-2{margin-top:.5rem}.mb-6{margin-bottom:1.5rem}.mr-2{margin-right:.5rem}.mb-2{margin-bottom:.5rem}.ml-7{margin-left:1.75rem}.ml-2{margin-left:.5rem}.mb-1{margin-bottom:.25rem}.mt-1{margin-top:.25rem}.mt-6{margin-top:1.5rem}.mt-0\.5{margin-top:.125rem}.mt-0{margin-top:0}.mb-3{margin-bottom:.75rem}.mt-8{margin-top:2rem}.ml-1{margin-left:.25rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.\!hidden{display:none!important}.h-12{height:3rem}.h-full{height:100%}.h-5{height:1.25rem}.h-20{height:5rem}.h-11{height:2.75rem}.h-4{height:1rem}.h-3{height:.75rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-16{height:4rem}.h-1{height:.25rem}.h-3\.5{height:.875rem}.h-2{height:.5rem}.h-10{height:2.5rem}.h-9{height:2.25rem}.max-h-\[80vh\]{max-height:80vh}.max-h-\[60vh\]{max-height:60vh}.max-h-48{max-height:12rem}.max-h-32{max-height:8rem}.min-h-screen{min-height:100vh}.w-12{width:3rem}.w-full{width:100%}.w-5{width:1.25rem}.w-20{width:5rem}.w-4{width:1rem}.w-0\.5{width:.125rem}.w-0{width:0}.w-3{width:.75rem}.w-8{width:2rem}.w-6{width:1.5rem}.w-16{width:4rem}.w-3\.5{width:.875rem}.w-px{width:1px}.w-2{width:.5rem}.w-10{width:2.5rem}.min-w-0{min-width:0}.max-w-7xl{max-width:80rem}.max-w-md{max-width:28rem}.max-w-2xl{max-width:42rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-x-px,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-px{--tw-translate-x:-1px}.-translate-x-1\/2{--tw-translate-x:-50%}.-rotate-90,.-translate-x-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate:-90deg}.rotate-0{--tw-rotate:0deg}.rotate-0,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-4{gap:1rem}.gap-3{gap:.75rem}.gap-2{gap:.5rem}.gap-1{gap:.25rem}.gap-0\.5{gap:.125rem}.gap-0{gap:0}.gap-1\.5{gap:.375rem}.gap-6{gap:1.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.break-all{word-break:break-all}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-lg{border-radius:var(--radius)}.rounded-full{border-radius:9999px}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded{border-radius:.25rem}.rounded-t-lg{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.rounded-b-lg{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius)}.border{border-width:1px}.border-2{border-width:2px}.border-0{border-width:0}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-l-4{border-left-width:4px}.border-l-2{border-left-width:2px}.border-dashed{border-style:dashed}.border-destructive\/20{border-color:hsl(var(--destructive)/.2)}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity))}.border-yellow-500{--tw-border-opacity:1;border-color:rgb(234 179 8/var(--tw-border-opacity))}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity))}.border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.border-green-600{--tw-border-opacity:1;border-color:rgb(22 163 74/var(--tw-border-opacity))}.border-red-600{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity))}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity))}.border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity))}.border-border{border-color:hsl(var(--border))}.border-transparent{border-color:transparent}.border-input{border-color:hsl(var(--input))}.bg-background{background-color:hsl(var(--background))}.bg-card\/50{background-color:hsl(var(--card)/.5)}.bg-destructive\/10{background-color:hsl(var(--destructive)/.1)}.bg-primary{background-color:hsl(var(--primary))}.bg-card{background-color:hsl(var(--card))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity))}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-background\/95{background-color:hsl(var(--background)/.95)}.bg-popover{background-color:hsl(var(--popover))}.bg-accent{background-color:hsl(var(--accent))}.bg-border\/50{background-color:hsl(var(--border)/.5)}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity))}.bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity))}.bg-yellow-400{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity))}.bg-black\/50{background-color:rgba(0,0,0,.5)}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity))}.object-contain{-o-object-fit:contain;object-fit:contain}.p-4{padding:1rem}.p-3{padding:.75rem}.p-2{padding:.5rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-0{padding:0}.p-6{padding:1.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-20{padding-top:5rem;padding-bottom:5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-0{padding-top:0;padding-bottom:0}.pt-4{padding-top:1rem}.pt-3{padding-top:.75rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pt-2{padding-top:.5rem}.pt-1{padding-top:.25rem}.pl-10{padding-left:2.5rem}.pb-4{padding-bottom:1rem}.pt-0{padding-top:0}.pl-6{padding-left:1.5rem}.pr-2{padding-right:.5rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:Consolas,Monaco,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-xs{font-size:.75rem;line-height:1rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-relaxed{line-height:1.625}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.text-foreground{color:hsl(var(--foreground))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity))}.text-destructive{color:hsl(var(--destructive))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity))}.text-yellow-700{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-blue-900{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-primary{color:hsl(var(--primary))}.text-accent-foreground{color:hsl(var(--accent-foreground))}.underline-offset-4{text-underline-offset:4px}.opacity-60{opacity:.6}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-2{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-blue-200{--tw-ring-opacity:1;--tw-ring-color:rgb(191 219 254/var(--tw-ring-opacity))}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.grayscale{--tw-grayscale:grayscale(100%)}.filter,.grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px)}.backdrop-blur,.backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.bg-success{background-color:#28a745}html{height:100%}body{min-height:100vh}@media screen and (max-width:1279px){body{padding-top:0;padding-bottom:0}}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.last\:border-0:last-child{border-width:0}@media (hover:hover) and (pointer:fine){.hover\:scale-\[1\.01\]:hover{--tw-scale-x:1.01;--tw-scale-y:1.01}.hover\:scale-110:hover,.hover\:scale-\[1\.01\]:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity))}.hover\:bg-accent\/30:hover{background-color:hsl(var(--accent)/.3)}.hover\:bg-accent\/50:hover{background-color:hsl(var(--accent)/.5)}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary)/.8)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive)/.8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-emerald-600:hover{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity))}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.hover\:shadow-lg:hover,.hover\:shadow-sm:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media (hover:hover) and (pointer:fine){.group:hover .group-hover\:opacity-100{opacity:1}}.dark .dark\:border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}.dark .dark\:border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity))}.dark .dark\:border-blue-700{--tw-border-opacity:1;border-color:rgb(29 78 216/var(--tw-border-opacity))}.dark .dark\:border-red-700{--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity))}.dark .dark\:border-green-700{--tw-border-opacity:1;border-color:rgb(21 128 61/var(--tw-border-opacity))}.dark .dark\:bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}.dark .dark\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.dark .dark\:bg-red-900\/50{background-color:rgba(127,29,29,.5)}.dark .dark\:bg-yellow-900\/50{background-color:rgba(113,63,18,.5)}.dark .dark\:bg-blue-900\/50{background-color:rgba(30,58,138,.5)}.dark .dark\:bg-green-900\/50{background-color:rgba(20,83,45,.5)}.dark .dark\:bg-gray-800\/50{background-color:rgba(31,41,55,.5)}.dark .dark\:bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.dark .dark\:bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity))}.dark .dark\:bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity))}.dark .dark\:bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity))}.dark .dark\:bg-blue-900\/30{background-color:rgba(30,58,138,.3)}.dark .dark\:bg-green-900\/30{background-color:rgba(20,83,45,.3)}.dark .dark\:bg-red-900\/30{background-color:rgba(127,29,29,.3)}.dark .dark\:text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.dark .dark\:text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.dark .dark\:text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}.dark .dark\:text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity))}.dark .dark\:text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity))}.dark .dark\:text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity))}.dark .dark\:text-yellow-300{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity))}.dark .dark\:text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity))}.dark .dark\:text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity))}.dark .dark\:text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity))}.dark .dark\:text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity))}.dark .dark\:text-blue-200{--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity))}.dark .dark\:text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity))}.dark .dark\:text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity))}.dark .dark\:ring-blue-800{--tw-ring-opacity:1;--tw-ring-color:rgb(30 64 175/var(--tw-ring-opacity))}@media (hover:hover) and (pointer:fine){.dark .dark\:hover\:border-gray-700:hover{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}.dark .dark\:hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}}@media (min-width:640px){.sm\:left-2{left:.5rem}.sm\:h-8{height:2rem}.sm\:h-10{height:2.5rem}.sm\:h-4{height:1rem}.sm\:w-\[140px\]{width:140px}.sm\:w-\[90px\]{width:90px}.sm\:w-4{width:1rem}.sm\:flex-initial{flex:0 1 auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:gap-3{gap:.75rem}.sm\:gap-4{gap:1rem}.sm\:p-4{padding:1rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:px-3{padding-left:.75rem;padding-right:.75rem}.sm\:py-2{padding-top:.5rem;padding-bottom:.5rem}.sm\:pt-6{padding-top:1.5rem}.sm\:pb-4{padding-bottom:1rem}.sm\:pl-8{padding-left:2rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:flex{display:flex}.md\:hidden{display:none}.md\:w-\[160px\]{width:160px}.md\:w-\[100px\]{width:100px}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:gap-4{gap:1rem}}.suite[data-v-648070e3]{transition:all .2s ease}.suite[data-v-648070e3]:hover{transform:translateY(-2px)}.suite-header[data-v-648070e3]{border-bottom:1px solid rgba(0,0,0,.05)}.dark .suite-header[data-v-648070e3]{border-bottom:1px solid hsla(0,0%,100%,.05)}@keyframes slideIn-482756f8{0%{transform:translateX(-20px);opacity:0}to{transform:translateX(0);opacity:1}}#settings[data-v-482756f8]{animation:slideIn-482756f8 .3s ease-out}#settings>div[data-v-482756f8]{transition:all .2s ease}#settings>div[data-v-482756f8]:hover{transform:translateY(-2px);box-shadow:0 10px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}.announcement-container[data-v-48763619]{animation:slideDown-48763619 .3s ease-out}@keyframes slideDown-48763619{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.announcement-container .ml-7[data-v-48763619]{margin-left:1.5rem}}.suite-details-container[data-v-92dafcfe]{min-height:100vh} \ No newline at end of file +*/*,:after,:before{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:after,:before{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:Consolas,Monaco,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}:root{--background:0 0% 100%;--foreground:222.2 84% 4.9%;--card:0 0% 100%;--card-foreground:222.2 84% 4.9%;--popover:0 0% 100%;--popover-foreground:222.2 84% 4.9%;--primary:222.2 47.4% 11.2%;--primary-foreground:210 40% 98%;--secondary:210 40% 96.1%;--secondary-foreground:222.2 47.4% 11.2%;--muted:210 40% 96.1%;--muted-foreground:215.4 16.3% 46.9%;--accent:210 40% 96.1%;--accent-foreground:222.2 47.4% 11.2%;--destructive:0 84.2% 60.2%;--destructive-foreground:210 40% 98%;--border:214.3 31.8% 91.4%;--input:214.3 31.8% 91.4%;--ring:222.2 84% 4.9%;--radius:0.5rem}:root.dark{--background:222.2 84% 4.9%;--foreground:210 40% 98%;--card:222.2 84% 4.9%;--card-foreground:210 40% 98%;--popover:222.2 84% 4.9%;--popover-foreground:210 40% 98%;--primary:210 40% 98%;--primary-foreground:222.2 47.4% 11.2%;--secondary:217.2 32.6% 17.5%;--secondary-foreground:210 40% 98%;--muted:217.2 32.6% 17.5%;--muted-foreground:215 20.2% 65.1%;--accent:217.2 32.6% 17.5%;--accent-foreground:210 40% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:210 40% 98%;--border:217.2 32.6% 17.5%;--input:217.2 32.6% 17.5%;--ring:212.7 26.8% 83.9%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.left-3{left:.75rem}.-left-\[26px\]{left:-26px}.top-1\/2{top:50%}.left-1\/2{left:50%}.bottom-8{bottom:2rem}.top-8{top:2rem}.bottom-4{bottom:1rem}.left-4{left:1rem}.bottom-full{bottom:100%}.left-0{left:0}.top-full{top:100%}.left-1\.5{left:.375rem}.left-1{left:.25rem}.z-10{z-index:10}.z-50{z-index:50}.-m-2{margin:-.5rem}.mx-auto{margin-left:auto;margin-right:auto}.mt-4{margin-top:1rem}.mt-auto{margin-top:auto}.mb-4{margin-bottom:1rem}.mt-2{margin-top:.5rem}.mb-6{margin-bottom:1.5rem}.mr-2{margin-right:.5rem}.mb-2{margin-bottom:.5rem}.ml-7{margin-left:1.75rem}.ml-2{margin-left:.5rem}.mb-1{margin-bottom:.25rem}.mt-1{margin-top:.25rem}.mt-6{margin-top:1.5rem}.mt-0\.5{margin-top:.125rem}.mt-0{margin-top:0}.mb-3{margin-bottom:.75rem}.mt-8{margin-top:2rem}.ml-1{margin-left:.25rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.\!hidden{display:none!important}.h-12{height:3rem}.h-full{height:100%}.h-5{height:1.25rem}.h-20{height:5rem}.h-11{height:2.75rem}.h-4{height:1rem}.h-3{height:.75rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-16{height:4rem}.h-1{height:.25rem}.h-3\.5{height:.875rem}.h-2{height:.5rem}.h-10{height:2.5rem}.h-9{height:2.25rem}.max-h-\[80vh\]{max-height:80vh}.max-h-\[60vh\]{max-height:60vh}.max-h-48{max-height:12rem}.max-h-32{max-height:8rem}.min-h-screen{min-height:100vh}.min-h-\[1\.25rem\]{min-height:1.25rem}.w-12{width:3rem}.w-full{width:100%}.w-5{width:1.25rem}.w-20{width:5rem}.w-4{width:1rem}.w-0\.5{width:.125rem}.w-0{width:0}.w-3{width:.75rem}.w-8{width:2rem}.w-6{width:1.5rem}.w-16{width:4rem}.w-3\.5{width:.875rem}.w-px{width:1px}.w-2{width:.5rem}.w-10{width:2.5rem}.min-w-0{min-width:0}.max-w-7xl{max-width:80rem}.max-w-md{max-width:28rem}.max-w-2xl{max-width:42rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-x-px,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-px{--tw-translate-x:-1px}.-translate-x-1\/2{--tw-translate-x:-50%}.-rotate-90,.-translate-x-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate:-90deg}.rotate-0{--tw-rotate:0deg}.rotate-0,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-4{gap:1rem}.gap-3{gap:.75rem}.gap-2{gap:.5rem}.gap-1{gap:.25rem}.gap-0\.5{gap:.125rem}.gap-0{gap:0}.gap-1\.5{gap:.375rem}.gap-6{gap:1.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.break-all{word-break:break-all}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-lg{border-radius:var(--radius)}.rounded-full{border-radius:9999px}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded{border-radius:.25rem}.rounded-t-lg{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.rounded-b-lg{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius)}.border{border-width:1px}.border-2{border-width:2px}.border-0{border-width:0}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-l-4{border-left-width:4px}.border-l-2{border-left-width:2px}.border-dashed{border-style:dashed}.border-destructive\/20{border-color:hsl(var(--destructive)/.2)}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity))}.border-yellow-500{--tw-border-opacity:1;border-color:rgb(234 179 8/var(--tw-border-opacity))}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity))}.border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.border-green-600{--tw-border-opacity:1;border-color:rgb(22 163 74/var(--tw-border-opacity))}.border-red-600{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity))}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity))}.border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity))}.border-border{border-color:hsl(var(--border))}.border-transparent{border-color:transparent}.border-input{border-color:hsl(var(--input))}.bg-background{background-color:hsl(var(--background))}.bg-card\/50{background-color:hsl(var(--card)/.5)}.bg-destructive\/10{background-color:hsl(var(--destructive)/.1)}.bg-primary{background-color:hsl(var(--primary))}.bg-card{background-color:hsl(var(--card))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity))}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-background\/95{background-color:hsl(var(--background)/.95)}.bg-popover{background-color:hsl(var(--popover))}.bg-accent{background-color:hsl(var(--accent))}.bg-border\/50{background-color:hsl(var(--border)/.5)}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity))}.bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity))}.bg-yellow-400{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity))}.bg-black\/50{background-color:rgba(0,0,0,.5)}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity))}.object-contain{-o-object-fit:contain;object-fit:contain}.p-4{padding:1rem}.p-3{padding:.75rem}.p-2{padding:.5rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-0{padding:0}.p-6{padding:1.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-20{padding-top:5rem;padding-bottom:5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-0{padding-top:0;padding-bottom:0}.pt-4{padding-top:1rem}.pt-3{padding-top:.75rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pt-2{padding-top:.5rem}.pt-1{padding-top:.25rem}.pl-10{padding-left:2.5rem}.pb-4{padding-bottom:1rem}.pt-0{padding-top:0}.pl-6{padding-left:1.5rem}.pr-2{padding-right:.5rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:Consolas,Monaco,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-xs{font-size:.75rem;line-height:1rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-relaxed{line-height:1.625}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.text-foreground{color:hsl(var(--foreground))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity))}.text-destructive{color:hsl(var(--destructive))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity))}.text-yellow-700{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-blue-900{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-primary{color:hsl(var(--primary))}.text-accent-foreground{color:hsl(var(--accent-foreground))}.underline-offset-4{text-underline-offset:4px}.opacity-60{opacity:.6}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-2{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-blue-200{--tw-ring-opacity:1;--tw-ring-color:rgb(191 219 254/var(--tw-ring-opacity))}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.grayscale{--tw-grayscale:grayscale(100%)}.filter,.grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px)}.backdrop-blur,.backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.bg-success{background-color:#28a745}html{height:100%}body{min-height:100vh}@media screen and (max-width:1279px){body{padding-top:0;padding-bottom:0}}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.last\:border-0:last-child{border-width:0}@media (hover:hover) and (pointer:fine){.hover\:scale-\[1\.01\]:hover{--tw-scale-x:1.01;--tw-scale-y:1.01}.hover\:scale-110:hover,.hover\:scale-\[1\.01\]:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary)/.9)}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity))}.hover\:bg-accent\/30:hover{background-color:hsl(var(--accent)/.3)}.hover\:bg-accent\/50:hover{background-color:hsl(var(--accent)/.5)}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary)/.8)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary)/.8)}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive)/.8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive)/.9)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-emerald-600:hover{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity))}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.hover\:shadow-lg:hover,.hover\:shadow-sm:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media (hover:hover) and (pointer:fine){.group:hover .group-hover\:opacity-100{opacity:1}}.dark .dark\:border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}.dark .dark\:border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity))}.dark .dark\:border-blue-700{--tw-border-opacity:1;border-color:rgb(29 78 216/var(--tw-border-opacity))}.dark .dark\:border-red-700{--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity))}.dark .dark\:border-green-700{--tw-border-opacity:1;border-color:rgb(21 128 61/var(--tw-border-opacity))}.dark .dark\:bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}.dark .dark\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.dark .dark\:bg-red-900\/50{background-color:rgba(127,29,29,.5)}.dark .dark\:bg-yellow-900\/50{background-color:rgba(113,63,18,.5)}.dark .dark\:bg-blue-900\/50{background-color:rgba(30,58,138,.5)}.dark .dark\:bg-green-900\/50{background-color:rgba(20,83,45,.5)}.dark .dark\:bg-gray-800\/50{background-color:rgba(31,41,55,.5)}.dark .dark\:bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.dark .dark\:bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity))}.dark .dark\:bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity))}.dark .dark\:bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity))}.dark .dark\:bg-blue-900\/30{background-color:rgba(30,58,138,.3)}.dark .dark\:bg-green-900\/30{background-color:rgba(20,83,45,.3)}.dark .dark\:bg-red-900\/30{background-color:rgba(127,29,29,.3)}.dark .dark\:text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.dark .dark\:text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.dark .dark\:text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}.dark .dark\:text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity))}.dark .dark\:text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity))}.dark .dark\:text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity))}.dark .dark\:text-yellow-300{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity))}.dark .dark\:text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity))}.dark .dark\:text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity))}.dark .dark\:text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity))}.dark .dark\:text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity))}.dark .dark\:text-blue-200{--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity))}.dark .dark\:text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity))}.dark .dark\:text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity))}.dark .dark\:ring-blue-800{--tw-ring-opacity:1;--tw-ring-color:rgb(30 64 175/var(--tw-ring-opacity))}@media (hover:hover) and (pointer:fine){.dark .dark\:hover\:border-gray-700:hover{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}.dark .dark\:hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}}@media (min-width:640px){.sm\:left-2{left:.5rem}.sm\:h-8{height:2rem}.sm\:h-10{height:2.5rem}.sm\:h-4{height:1rem}.sm\:w-\[140px\]{width:140px}.sm\:w-\[90px\]{width:90px}.sm\:w-4{width:1rem}.sm\:flex-initial{flex:0 1 auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:gap-3{gap:.75rem}.sm\:gap-4{gap:1rem}.sm\:p-4{padding:1rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:px-3{padding-left:.75rem;padding-right:.75rem}.sm\:py-2{padding-top:.5rem;padding-bottom:.5rem}.sm\:pt-6{padding-top:1.5rem}.sm\:pb-4{padding-bottom:1rem}.sm\:pl-8{padding-left:2rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:flex{display:flex}.md\:hidden{display:none}.md\:w-\[160px\]{width:160px}.md\:w-\[100px\]{width:100px}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:gap-4{gap:1rem}}.suite[data-v-648070e3]{transition:all .2s ease}.suite[data-v-648070e3]:hover{transform:translateY(-2px)}.suite-header[data-v-648070e3]{border-bottom:1px solid rgba(0,0,0,.05)}.dark .suite-header[data-v-648070e3]{border-bottom:1px solid hsla(0,0%,100%,.05)}@keyframes slideIn-482756f8{0%{transform:translateX(-20px);opacity:0}to{transform:translateX(0);opacity:1}}#settings[data-v-482756f8]{animation:slideIn-482756f8 .3s ease-out}#settings>div[data-v-482756f8]{transition:all .2s ease}#settings>div[data-v-482756f8]:hover{transform:translateY(-2px);box-shadow:0 10px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}.announcement-container[data-v-48763619]{animation:slideDown-48763619 .3s ease-out}@keyframes slideDown-48763619{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.announcement-container .ml-7[data-v-48763619]{margin-left:1.5rem}}.suite-details-container[data-v-92dafcfe]{min-height:100vh} \ No newline at end of file diff --git a/web/static/js/app.js b/web/static/js/app.js index 4676e243..d63f78ab 100644 --- a/web/static/js/app.js +++ b/web/static/js/app.js @@ -1 +1 @@ -(function(){"use strict";var e={671:function(e,t,s){s.d(t,{L:function(){return xn}});var l=s(963),a=s(252),r=s(577),n=s(262),o=s.p+"img/logo.svg",u=s(201),i=s(507),d=s(970),c=s(135),g=s(3),p=s(512),m=s(388);function v(...e){return(0,m.m6)((0,p.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(s,l)=>((0,a.wg)(),(0,a.iD)("button",{class:(0,r.C_)((0,n.SU)(v)((0,n.SU)(t)({variant:e.variant,size:e.size}),s.$attrs.class??"")),disabled:e.disabled},[(0,a.WI)(s.$slots,"default")],10,f))}};const x=w;var h=x,b={__name:"Card",setup(e){return(e,t)=>((0,a.wg)(),(0,a.iD)("div",{class:(0,r.C_)((0,n.SU)(v)("rounded-lg border bg-card text-card-foreground shadow-sm",e.$attrs.class??""))},[(0,a.WI)(e.$slots,"default")],2))}};const y=b;var k=y,_={__name:"CardHeader",setup(e){return(e,t)=>((0,a.wg)(),(0,a.iD)("div",{class:(0,r.C_)((0,n.SU)(v)("flex flex-col space-y-1.5 p-6",e.$attrs.class??""))},[(0,a.WI)(e.$slots,"default")],2))}};const S=_;var D=S,U={__name:"CardTitle",setup(e){return(e,t)=>((0,a.wg)(),(0,a.iD)("h3",{class:(0,r.C_)((0,n.SU)(v)("text-2xl font-semibold leading-none tracking-tight",e.$attrs.class??""))},[(0,a.WI)(e.$slots,"default")],2))}};const z=U;var W=z,C={__name:"CardContent",setup(e){return(e,t)=>((0,a.wg)(),(0,a.iD)("div",{class:(0,r.C_)((0,n.SU)(v)("p-6 pt-0",e.$attrs.class??""))},[(0,a.WI)(e.$slots,"default")],2))}};const j=C;var H=j;const R={id:"social"};function F(e,t){return(0,a.wg)(),(0,a.iD)("div",R,t[0]||(t[0]=[(0,a._)("a",{href:"https://github.com/TwiN/gatus",target:"_blank",title:"Gatus on GitHub"},[(0,a._)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 16 16",class:"hover:scale-110"},[(0,a._)("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 q=s(744);const $={},Z=(0,q.Z)($,[["render",F],["__scopeId","data-v-788af9ce"]]);var T=Z;const E=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 s=(t/1e3).toFixed(0);return s+" second"+("1"!==s?"s":"")+" ago"},L=(e,t)=>{let s=Math.ceil((new Date(e)-new Date(t))/1e3/60);return s+(1===s?" minute":" minutes")},A=e=>{let t=new Date(e),s=t.getFullYear(),l=(t.getMonth()+1<10?"0":"")+(t.getMonth()+1),a=(t.getDate()<10?"0":"")+t.getDate(),r=(t.getHours()<10?"0":"")+t.getHours(),n=(t.getMinutes()<10?"0":"")+t.getMinutes(),o=(t.getSeconds()<10?"0":"")+t.getSeconds();return s+"-"+l+"-"+a+" "+r+":"+n+":"+o},N={key:0,class:"space-y-2"},M={key:0,class:"flex items-center gap-2"},I={class:"text-xs font-semibold"},Y={class:"font-mono text-xs"},O={key:1},K={class:"font-mono text-xs"},P={key:0,class:"mt-1 space-y-0.5"},V={class:"truncate"},G={class:"text-muted-foreground"},B={key:0,class:"text-xs text-muted-foreground"},J={class:"text-xs font-semibold text-muted-foreground uppercase tracking-wider"},Q={class:"font-mono text-xs"},X={key:2},ee={class:"font-mono text-xs space-y-0.5"},te={class:"break-all"},se={key:3},le={class:"font-mono text-xs space-y-0.5"};var ae={__name:"Tooltip",props:{event:{type:[Event,Object],default:null},result:{type:Object,default:null}},setup(e){const t=e,s=(0,n.iH)(!0),l=(0,n.iH)(0),o=(0,n.iH)(0),u=(0,n.iH)(null),i=(0,a.Fl)((()=>t.result&&void 0!==t.result.endpointResults)),d=(0,a.Fl)((()=>i.value&&t.result.endpointResults?t.result.endpointResults.length:0)),c=(0,a.Fl)((()=>i.value&&t.result.endpointResults?t.result.endpointResults.filter((e=>e.success)).length:0)),g=async()=>{if(t.event&&t.event.type)if(await(0,a.Y3)(),"mouseenter"===t.event.type&&u.value){const e=t.event.target,r=e.getBoundingClientRect();s.value=!1,await(0,a.Y3)();const n=u.value.getBoundingClientRect();let i=r.bottom+8,d=r.left;const c=window.innerHeight-r.bottom,g=r.top;cn.height+20?r.top-n.height-8:g>c?10:window.innerHeight-n.height-10);const p=window.innerWidth-r.left;pt.event),(e=>{e&&e.type&&("mouseenter"===e.type?(s.value=!1,(0,a.Y3)((()=>g()))):"mouseleave"===e.type&&(s.value=!0))}),{immediate:!0}),(0,a.YP)((()=>t.result),(()=>{s.value||(0,a.Y3)((()=>g()))})),(t,g)=>((0,a.wg)(),(0,a.iD)("div",{id:"tooltip",ref_key:"tooltip",ref:u,class:(0,r.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",s.value?"invisible opacity-0":"visible opacity-100"]),style:(0,r.j5)(`top: ${l.value}px; left: ${o.value}px;`)},[e.result?((0,a.wg)(),(0,a.iD)("div",N,[i.value?((0,a.wg)(),(0,a.iD)("div",M,[(0,a._)("span",{class:(0,r.C_)(["inline-block w-2 h-2 rounded-full",e.result.success?"bg-green-500":"bg-red-500"])},null,2),(0,a._)("span",I,(0,r.zw)(e.result.success?"Suite Passed":"Suite Failed"),1)])):(0,a.kq)("",!0),(0,a._)("div",null,[g[0]||(g[0]=(0,a._)("div",{class:"text-xs font-semibold text-muted-foreground uppercase tracking-wider"},"Timestamp",-1)),(0,a._)("div",Y,(0,r.zw)((0,n.SU)(A)(e.result.timestamp)),1)]),i.value&&e.result.endpointResults?((0,a.wg)(),(0,a.iD)("div",O,[g[1]||(g[1]=(0,a._)("div",{class:"text-xs font-semibold text-muted-foreground uppercase tracking-wider"},"Endpoints",-1)),(0,a._)("div",K,[(0,a._)("span",{class:(0,r.C_)(c.value===d.value?"text-green-500":"text-yellow-500")},(0,r.zw)(c.value)+"/"+(0,r.zw)(d.value)+" passed ",3)]),e.result.endpointResults.length>0?((0,a.wg)(),(0,a.iD)("div",P,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(e.result.endpointResults.slice(0,5),((e,t)=>((0,a.wg)(),(0,a.iD)("div",{key:t,class:"flex items-center gap-1 text-xs"},[(0,a._)("span",{class:(0,r.C_)(e.success?"text-green-500":"text-red-500")},(0,r.zw)(e.success?"✓":"✗"),3),(0,a._)("span",V,(0,r.zw)(e.name),1),(0,a._)("span",G,"("+(0,r.zw)((e.duration/1e6).toFixed(0))+"ms)",1)])))),128)),e.result.endpointResults.length>5?((0,a.wg)(),(0,a.iD)("div",B," ... and "+(0,r.zw)(e.result.endpointResults.length-5)+" more ",1)):(0,a.kq)("",!0)])):(0,a.kq)("",!0)])):(0,a.kq)("",!0),(0,a._)("div",null,[(0,a._)("div",J,(0,r.zw)(i.value?"Total Duration":"Response Time"),1),(0,a._)("div",Q,(0,r.zw)((i.value,(e.result.duration/1e6).toFixed(0)))+"ms ",1)]),!i.value&&e.result.conditionResults&&e.result.conditionResults.length?((0,a.wg)(),(0,a.iD)("div",X,[g[2]||(g[2]=(0,a._)("div",{class:"text-xs font-semibold text-muted-foreground uppercase tracking-wider"},"Conditions",-1)),(0,a._)("div",ee,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(e.result.conditionResults,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{key:t,class:"flex items-start gap-1"},[(0,a._)("span",{class:(0,r.C_)(e.success?"text-green-500":"text-red-500")},(0,r.zw)(e.success?"✓":"✗"),3),(0,a._)("span",te,(0,r.zw)(e.condition),1)])))),128))])])):(0,a.kq)("",!0),e.result.errors&&e.result.errors.length?((0,a.wg)(),(0,a.iD)("div",se,[g[3]||(g[3]=(0,a._)("div",{class:"text-xs font-semibold text-muted-foreground uppercase tracking-wider"},"Errors",-1)),(0,a._)("div",le,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(e.result.errors,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{key:t,class:"text-red-500"}," • "+(0,r.zw)(e),1)))),128))])])):(0,a.kq)("",!0)])):(0,a.kq)("",!0)],6))}};const re=ae;var ne=re;const oe={class:"flex justify-center items-center"};var ue={__name:"Loading",props:{size:{type:String,default:"md",validator:e=>["xs","sm","md","lg","xl"].includes(e)}},setup(e){const t=e,s=(0,a.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,a.wg)(),(0,a.iD)("div",oe,[(0,a._)("img",{class:(0,r.C_)(["animate-spin rounded-full opacity-60 grayscale",s.value]),src:o,alt:"Gatus logo"},null,2)]))}};const ie=ue;var de=ie;const ce={id:"global",class:"bg-background text-foreground"},ge={key:0,class:"flex items-center justify-center min-h-screen"},pe={key:1,class:"relative"},me={class:"border-b bg-card/50 backdrop-blur supports-[backdrop-filter]:bg-card/60"},ve={class:"container mx-auto px-4 py-4 max-w-7xl"},fe={class:"flex items-center justify-between"},we={class:"flex items-center gap-4"},xe={class:"w-12 h-12 flex items-center justify-center"},he=["src"],be={key:1,src:o,alt:"Gatus",class:"w-full h-full object-contain"},ye={class:"text-2xl font-bold tracking-tight"},ke={key:0,class:"text-sm text-muted-foreground"},_e={class:"flex items-center gap-2"},Se={key:0,class:"hidden md:flex items-center gap-1"},De=["href"],Ue={key:0,class:"md:hidden mt-4 pt-4 border-t space-y-1"},ze=["href"],We={class:"relative"},Ce={class:"border-t mt-auto"},je={class:"container mx-auto px-4 py-6 max-w-7xl"},He={class:"flex flex-col items-center gap-4"},Re={key:2,id:"login-container",class:"flex items-center justify-center min-h-screen p-4"},Fe={key:0,class:"mb-6"},qe={class:"p-3 rounded-md bg-destructive/10 border border-destructive/20"},$e={class:"text-sm text-destructive text-center"},Ze={key:0},Te={key:1},Ee=["href"];var Le={__name:"App",setup(e){const t=(0,u.yj)(),s=(0,n.iH)(!1),l=(0,n.iH)({oidc:!1,authenticated:!0}),g=(0,n.iH)([]),p=(0,n.iH)({}),m=(0,n.iH)(!1),v=(0,n.iH)(!1);let f=null;const w=(0,a.Fl)((()=>window.config&&window.config.logo&&"{{ .UI.Logo }}"!==window.config.logo?window.config.logo:"")),x=(0,a.Fl)((()=>window.config&&window.config.header&&"{{ .UI.Header }}"!==window.config.header?window.config.header:"Gatus")),b=(0,a.Fl)((()=>window.config&&window.config.link&&"{{ .UI.Link }}"!==window.config.link?window.config.link:null)),y=(0,a.Fl)((()=>window.config&&window.config.buttons?window.config.buttons:[])),_=async()=>{try{const e=await fetch(`${xn}/api/v1/config`,{credentials:"include"});if(s.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),s.value=!0}},S=(e,t)=>{p.value={result:e,event:t}};return(0,a.bv)((()=>{_(),f=setInterval(_,6e5)})),(0,a.Ah)((()=>{f&&(clearInterval(f),f=null)})),(e,u)=>{const f=(0,a.up)("router-view");return(0,a.wg)(),(0,a.iD)("div",ce,[s.value?l.value&&l.value.oidc&&!l.value.authenticated?((0,a.wg)(),(0,a.iD)("div",Re,[(0,a.Wm)((0,n.SU)(k),{class:"w-full max-w-md"},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(D),{class:"text-center"},{default:(0,a.w5)((()=>[u[5]||(u[5]=(0,a._)("img",{src:o,alt:"Gatus",class:"w-20 h-20 mx-auto mb-4"},null,-1)),(0,a.Wm)((0,n.SU)(W),{class:"text-3xl"},{default:(0,a.w5)((()=>u[4]||(u[4]=[(0,a.Uk)("Gatus",-1)]))),_:1,__:[4]}),u[6]||(u[6]=(0,a._)("p",{class:"text-muted-foreground mt-2"},"System Monitoring Dashboard",-1))])),_:1,__:[5,6]}),(0,a.Wm)((0,n.SU)(H),null,{default:(0,a.w5)((()=>[(0,n.SU)(t)&&(0,n.SU)(t).query.error?((0,a.wg)(),(0,a.iD)("div",Fe,[(0,a._)("div",qe,[(0,a._)("p",$e,["access_denied"===(0,n.SU)(t).query.error?((0,a.wg)(),(0,a.iD)("span",Ze," You do not have access to this status page ")):((0,a.wg)(),(0,a.iD)("span",Te,(0,r.zw)((0,n.SU)(t).query.error),1))])])])):(0,a.kq)("",!0),(0,a._)("a",{href:`${(0,n.SU)(xn)}/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:u[2]||(u[2]=e=>v.value=!0)},[v.value?((0,a.wg)(),(0,a.j4)(de,{key:0,size:"xs"})):((0,a.wg)(),(0,a.iD)(a.HY,{key:1},[(0,a.Wm)((0,n.SU)(c.Z),{class:"mr-2 h-4 w-4"}),u[7]||(u[7]=(0,a.Uk)(" Login with OIDC ",-1))],64))],8,Ee)])),_:1})])),_:1})])):((0,a.wg)(),(0,a.iD)("div",pe,[(0,a._)("header",me,[(0,a._)("div",ve,[(0,a._)("div",fe,[(0,a._)("div",we,[((0,a.wg)(),(0,a.j4)((0,a.LL)(b.value?"a":"div"),{href:b.value,target:"_blank",class:"flex items-center gap-3 hover:opacity-80 transition-opacity"},{default:(0,a.w5)((()=>[(0,a._)("div",xe,[w.value?((0,a.wg)(),(0,a.iD)("img",{key:0,src:w.value,alt:"Gatus",class:"w-full h-full object-contain"},null,8,he)):((0,a.wg)(),(0,a.iD)("img",be))]),(0,a._)("div",null,[(0,a._)("h1",ye,(0,r.zw)(x.value),1),y.value&&y.value.length?((0,a.wg)(),(0,a.iD)("p",ke," System Monitoring Dashboard ")):(0,a.kq)("",!0)])])),_:1},8,["href"]))]),(0,a._)("div",_e,[y.value&&y.value.length?((0,a.wg)(),(0,a.iD)("nav",Se,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(y.value,(e=>((0,a.wg)(),(0,a.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,r.zw)(e.name),9,De)))),128))])):(0,a.kq)("",!0),y.value&&y.value.length?((0,a.wg)(),(0,a.j4)((0,n.SU)(h),{key:1,variant:"ghost",size:"icon",class:"md:hidden",onClick:u[0]||(u[0]=e=>m.value=!m.value)},{default:(0,a.w5)((()=>[m.value?((0,a.wg)(),(0,a.j4)((0,n.SU)(d.Z),{key:1,class:"h-5 w-5"})):((0,a.wg)(),(0,a.j4)((0,n.SU)(i.Z),{key:0,class:"h-5 w-5"}))])),_:1})):(0,a.kq)("",!0)])]),y.value&&y.value.length&&m.value?((0,a.wg)(),(0,a.iD)("nav",Ue,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(y.value,(e=>((0,a.wg)(),(0,a.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:u[1]||(u[1]=e=>m.value=!1)},(0,r.zw)(e.name),9,ze)))),128))])):(0,a.kq)("",!0)])]),(0,a._)("main",We,[(0,a.Wm)(f,{onShowTooltip:S,announcements:g.value},null,8,["announcements"])]),(0,a._)("footer",Ce,[(0,a._)("div",je,[(0,a._)("div",He,[u[3]||(u[3]=(0,a._)("div",{class:"text-sm text-muted-foreground text-center"},[(0,a.Uk)(" Powered by "),(0,a._)("a",{href:"https://gatus.io",target:"_blank",class:"font-medium text-emerald-800 hover:text-emerald-600"},"Gatus")],-1)),(0,a.Wm)(T)])])])])):((0,a.wg)(),(0,a.iD)("div",ge,[(0,a.Wm)(de,{size:"lg"})])),(0,a.Wm)(ne,{result:p.value.result,event:p.value.event},null,8,["result","event"])])}}};const Ae=Le;var Ne=Ae,Me=s(793),Ie=s(138),Ye=s(254),Oe=s(146),Ke=s(485),Pe=s(893),Ve=s(89),Ge=s(372),Be=s(981),Je={__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(s,l)=>((0,a.wg)(),(0,a.iD)("div",{class:(0,r.C_)((0,n.SU)(v)((0,n.SU)(t)({variant:e.variant}),s.$attrs.class??""))},[(0,a.WI)(s.$slots,"default")],2))}};const Qe=Je;var Xe=Qe,et={__name:"StatusBadge",props:{status:{type:String,required:!0,validator:e=>["healthy","unhealthy","degraded","unknown"].includes(e)}},setup(e){const t=e,s=(0,a.Fl)((()=>{switch(t.status){case"healthy":return"success";case"unhealthy":return"destructive";case"degraded":return"warning";default:return"secondary"}})),l=(0,a.Fl)((()=>{switch(t.status){case"healthy":return"Healthy";case"unhealthy":return"Unhealthy";case"degraded":return"Degraded";default:return"Unknown"}})),o=(0,a.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,a.wg)(),(0,a.j4)((0,n.SU)(Xe),{variant:s.value,class:"flex items-center gap-1"},{default:(0,a.w5)((()=>[(0,a._)("span",{class:(0,r.C_)(["w-2 h-2 rounded-full",o.value])},null,2),(0,a.Uk)(" "+(0,r.zw)(l.value),1)])),_:1},8,["variant"]))}};const tt=et;var st=tt;const lt={class:"flex items-start justify-between gap-2 sm:gap-3"},at={class:"flex-1 min-w-0 overflow-hidden"},rt=["title","aria-label"],nt={class:"flex items-center gap-2 text-xs sm:text-sm text-muted-foreground"},ot=["title"],ut={key:1},it=["title"],dt={class:"flex-shrink-0 ml-2"},ct={class:"space-y-2"},gt={class:"flex items-center justify-between mb-1"},pt=["title"],mt={class:"flex gap-0.5"},vt=["onMouseenter","onMouseleave"],ft={class:"flex items-center justify-between text-xs text-muted-foreground mt-1"};var wt={__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 s=(0,u.tv)(),o=e,i=t,d=(0,a.Fl)((()=>o.endpoint.results&&0!==o.endpoint.results.length?o.endpoint.results[o.endpoint.results.length-1]:null)),c=(0,a.Fl)((()=>d.value?d.value.success?"healthy":"unhealthy":"unknown")),g=(0,a.Fl)((()=>d.value?.hostname||null)),p=(0,a.Fl)((()=>{const e=[...o.endpoint.results||[]];while(e.length{if(!o.endpoint.results||0===o.endpoint.results.length)return"N/A";let e=0,t=0,s=1/0,l=0;for(const a of o.endpoint.results)if(a.duration){const r=a.duration/1e6;e+=r,t++,s=Math.min(s,r),l=Math.max(l,r)}if(0===t)return"N/A";if(o.showAverageResponseTime){const s=Math.round(e/t);return`~${s}ms`}{const e=Math.round(s),t=Math.round(l);return e===t?`${e}ms`:`${e}-${t}ms`}})),v=(0,a.Fl)((()=>o.endpoint.results&&0!==o.endpoint.results.length?E(o.endpoint.results[0].timestamp):"")),f=(0,a.Fl)((()=>o.endpoint.results&&0!==o.endpoint.results.length?E(o.endpoint.results[o.endpoint.results.length-1].timestamp):"")),w=()=>{s.push(`/endpoints/${o.endpoint.key}`)};return(t,s)=>((0,a.wg)(),(0,a.j4)((0,n.SU)(k),{class:"endpoint h-full flex flex-col transition hover:shadow-lg hover:scale-[1.01] dark:hover:border-gray-700"},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(D),{class:"endpoint-header px-3 sm:px-6 pt-3 sm:pt-6 pb-2 space-y-0"},{default:(0,a.w5)((()=>[(0,a._)("div",lt,[(0,a._)("div",at,[(0,a.Wm)((0,n.SU)(W),{class:"text-base sm:text-lg truncate"},{default:(0,a.w5)((()=>[(0,a._)("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,r.zw)(e.endpoint.name),41,rt)])),_:1}),(0,a._)("div",nt,[e.endpoint.group?((0,a.wg)(),(0,a.iD)("span",{key:0,class:"truncate",title:e.endpoint.group},(0,r.zw)(e.endpoint.group),9,ot)):(0,a.kq)("",!0),e.endpoint.group&&g.value?((0,a.wg)(),(0,a.iD)("span",ut,"•")):(0,a.kq)("",!0),g.value?((0,a.wg)(),(0,a.iD)("span",{key:2,class:"truncate",title:g.value},(0,r.zw)(g.value),9,it)):(0,a.kq)("",!0)])]),(0,a._)("div",dt,[(0,a.Wm)(st,{status:c.value},null,8,["status"])])])])),_:1}),(0,a.Wm)((0,n.SU)(H),{class:"endpoint-content flex-1 pb-3 sm:pb-4 px-3 sm:px-6 pt-2"},{default:(0,a.w5)((()=>[(0,a._)("div",ct,[(0,a._)("div",null,[(0,a._)("div",gt,[s[0]||(s[0]=(0,a._)("div",{class:"flex-1"},null,-1)),(0,a._)("p",{class:"text-xs text-muted-foreground",title:e.showAverageResponseTime?"Average response time":"Minimum and maximum response time"},(0,r.zw)(m.value),9,pt)]),(0,a._)("div",mt,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(p.value,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{key:t,class:(0,r.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&&i("showTooltip",e,t),onMouseleave:t=>e&&i("showTooltip",null,t)},null,42,vt)))),128))]),(0,a._)("div",ft,[(0,a._)("span",null,(0,r.zw)(v.value),1),(0,a._)("span",null,(0,r.zw)(f.value),1)])])])])),_:1})])),_:1}))}};const xt=wt;var ht=xt;const bt={class:"flex items-start justify-between gap-2 sm:gap-3"},yt={class:"flex-1 min-w-0 overflow-hidden"},kt=["title","aria-label"],_t={class:"flex items-center gap-2 text-xs sm:text-sm text-muted-foreground"},St=["title"],Dt={key:1},Ut={key:2},zt={class:"flex-shrink-0 ml-2"},Wt={class:"space-y-2"},Ct={class:"flex items-center justify-between mb-1"},jt={class:"text-xs text-muted-foreground"},Ht={key:0,class:"text-xs text-muted-foreground"},Rt={class:"flex gap-0.5"},Ft=["onMouseenter"],qt={class:"flex items-center justify-between text-xs text-muted-foreground mt-1"};var $t={__name:"SuiteCard",props:{suite:{type:Object,required:!0},maxResults:{type:Number,default:50}},emits:["showTooltip"],setup(e,{emit:t}){const s=(0,u.tv)(),o=e,i=t,d=(0,a.Fl)((()=>{const e=[...o.suite.results||[]];while(e.lengtho.suite.results&&0!==o.suite.results.length?o.suite.results[o.suite.results.length-1].success?"healthy":"unhealthy":"unknown")),g=(0,a.Fl)((()=>{if(!o.suite.results||0===o.suite.results.length)return 0;const e=o.suite.results[o.suite.results.length-1];return e.endpointResults?e.endpointResults.length:0})),p=(0,a.Fl)((()=>{if(!o.suite.results||0===o.suite.results.length)return 0;const e=o.suite.results.filter((e=>e.success)).length;return Math.round(e/o.suite.results.length*100)})),m=(0,a.Fl)((()=>{if(!o.suite.results||0===o.suite.results.length)return null;const e=o.suite.results.reduce(((e,t)=>e+(t.duration||0)),0);return Math.round(e/o.suite.results.length/1e6)})),v=(0,a.Fl)((()=>{if(!o.suite.results||0===o.suite.results.length)return"N/A";const e=o.suite.results[0];return E(e.timestamp)})),f=(0,a.Fl)((()=>{if(!o.suite.results||0===o.suite.results.length)return"Now";const e=o.suite.results[o.suite.results.length-1];return E(e.timestamp)})),w=()=>{s.push(`/suites/${o.suite.key}`)},x=(e,t)=>{i("showTooltip",e,t)},h=e=>{i("showTooltip",null,e)};return(t,s)=>((0,a.wg)(),(0,a.j4)((0,n.SU)(k),{class:"suite h-full flex flex-col transition hover:shadow-lg hover:scale-[1.01] dark:hover:border-gray-700"},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(D),{class:"suite-header px-3 sm:px-6 pt-3 sm:pt-6 pb-2 space-y-0"},{default:(0,a.w5)((()=>[(0,a._)("div",bt,[(0,a._)("div",yt,[(0,a.Wm)((0,n.SU)(W),{class:"text-base sm:text-lg truncate"},{default:(0,a.w5)((()=>[(0,a._)("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.suite.name,role:"link",tabindex:"0","aria-label":`View details for suite ${e.suite.name}`},(0,r.zw)(e.suite.name),41,kt)])),_:1}),(0,a._)("div",_t,[e.suite.group?((0,a.wg)(),(0,a.iD)("span",{key:0,class:"truncate",title:e.suite.group},(0,r.zw)(e.suite.group),9,St)):(0,a.kq)("",!0),e.suite.group&&g.value?((0,a.wg)(),(0,a.iD)("span",Dt,"•")):(0,a.kq)("",!0),g.value?((0,a.wg)(),(0,a.iD)("span",Ut,(0,r.zw)(g.value)+" endpoint"+(0,r.zw)(1!==g.value?"s":""),1)):(0,a.kq)("",!0)])]),(0,a._)("div",zt,[(0,a.Wm)(st,{status:c.value},null,8,["status"])])])])),_:1}),(0,a.Wm)((0,n.SU)(H),{class:"suite-content flex-1 pb-3 sm:pb-4 px-3 sm:px-6 pt-2"},{default:(0,a.w5)((()=>[(0,a._)("div",Wt,[(0,a._)("div",null,[(0,a._)("div",Ct,[(0,a._)("p",jt,"Success Rate: "+(0,r.zw)(p.value)+"%",1),m.value?((0,a.wg)(),(0,a.iD)("p",Ht,(0,r.zw)(m.value)+"ms avg",1)):(0,a.kq)("",!0)]),(0,a._)("div",Rt,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(d.value,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{key:t,class:(0,r.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&&x(e,t),onMouseleave:s[0]||(s[0]=e=>h(e))},null,42,Ft)))),128))]),(0,a._)("div",qt,[(0,a._)("span",null,(0,r.zw)(f.value),1),(0,a._)("span",null,(0,r.zw)(v.value),1)])])])])),_:1})])),_:1}))}};const Zt=(0,q.Z)($t,[["__scopeId","data-v-648070e3"]]);var Tt=Zt,Et=s(275);const Lt=["value"];var At={__name:"Input",props:{modelValue:{type:[String,Number],default:""}},emits:["update:modelValue"],setup(e){return(t,s)=>((0,a.wg)(),(0,a.iD)("input",{class:(0,r.C_)((0,n.SU)(v)("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:s[0]||(s[0]=e=>t.$emit("update:modelValue",e.target.value))},null,42,Lt))}};const Nt=At;var Mt=Nt,It=s(368);const Yt=["aria-expanded","aria-label"],Ot={class:"truncate"},Kt={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"},Pt={class:"p-1"},Vt=["onClick","aria-selected"],Gt={class:"absolute left-1.5 sm:left-2 flex h-3.5 w-3.5 items-center justify-center"};var Bt={__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 s=e,l=t,o=(0,n.iH)(!1),u=(0,n.iH)(null),i=(0,n.iH)(-1),d=(0,a.Fl)((()=>s.options.find((e=>e.value===s.modelValue))||{label:s.placeholder,value:""})),c=e=>{l("update:modelValue",e.value),o.value=!1},g=()=>{if(o.value=!o.value,o.value){const e=s.options.findIndex((e=>e.value===s.modelValue));i.value=e>=0?e:0}else i.value=-1},p=e=>{u.value&&!u.value.contains(e.target)&&(o.value=!1,i.value=-1)},m=e=>{if(o.value)switch(e.key){case"ArrowDown":e.preventDefault(),i.value=Math.min(i.value+1,s.options.length-1);break;case"ArrowUp":e.preventDefault(),i.value=Math.max(i.value-1,0);break;case"Enter":case" ":e.preventDefault(),i.value>=0&&i.value{document.addEventListener("click",p)})),(0,a.Ah)((()=>{document.removeEventListener("click",p)})),(t,l)=>((0,a.wg)(),(0,a.iD)("div",{ref_key:"selectRef",ref:u,class:(0,r.C_)(["relative",s.class])},[(0,a._)("button",{onClick:g,onKeydown:m,"aria-expanded":o.value,"aria-haspopup":!0,"aria-label":d.value.label||s.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,a._)("span",Ot,(0,r.zw)(d.value.label),1),(0,a.Wm)((0,n.SU)(Ke.Z),{class:"h-3 w-3 sm:h-4 sm:w-4 opacity-50 flex-shrink-0 ml-1"})],40,Yt),o.value?((0,a.wg)(),(0,a.iD)("div",Kt,[(0,a._)("div",Pt,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(e.options,((t,s)=>((0,a.wg)(),(0,a.iD)("div",{key:t.value,onClick:e=>c(t),class:(0,r.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",s===i.value&&"bg-accent text-accent-foreground"]),role:"option","aria-selected":e.modelValue===t.value},[(0,a._)("span",Gt,[e.modelValue===t.value?((0,a.wg)(),(0,a.j4)((0,n.SU)(It.Z),{key:0,class:"h-3 w-3 sm:h-4 sm:w-4"})):(0,a.kq)("",!0)]),(0,a.Uk)(" "+(0,r.zw)(t.label),1)],10,Vt)))),128))])])):(0,a.kq)("",!0)],2))}};const Jt=Bt;var Qt=Jt;const Xt={class:"flex flex-col lg:flex-row gap-3 lg:gap-4 p-3 sm:p-4 bg-card rounded-lg border"},es={class:"flex-1"},ts={class:"relative"},ss={class:"flex flex-col sm:flex-row gap-3 sm:gap-4"},ls={class:"flex items-center gap-2 flex-1 sm:flex-initial"},as={class:"flex items-center gap-2 flex-1 sm:flex-initial"};var rs={__name:"SearchBar",emits:["search","update:showOnlyFailing","update:showRecentFailures","update:groupByGroup","update:sortBy","initializeCollapsedGroups"],setup(e,{emit:t}){const s=(0,n.iH)(""),l=(0,n.iH)(localStorage.getItem("gatus:filter-by")||"undefined"!==typeof window&&window.config?.defaultFilterBy||"none"),r=(0,n.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"}],u=[{label:"Name",value:"name"},{label:"Group",value:"group"},{label:"Health",value:"health"}],i=t,d=e=>{l.value=e,localStorage.setItem("gatus:filter-by",e),i("update:showOnlyFailing",!1),i("update:showRecentFailures",!1),"failing"===e?i("update:showOnlyFailing",!0):"unstable"===e&&i("update:showRecentFailures",!0)},c=e=>{r.value=e,localStorage.setItem("gatus:sort-by",e),i("update:sortBy",e),i("update:groupByGroup","group"===e),"group"===e&&i("initializeCollapsedGroups")};return(0,a.bv)((()=>{d(l.value),c(r.value)})),(e,t)=>((0,a.wg)(),(0,a.iD)("div",Xt,[(0,a._)("div",es,[(0,a._)("div",ts,[(0,a.Wm)((0,n.SU)(Et.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,a._)("label",{for:"search-input",class:"sr-only"},"Search endpoints",-1)),(0,a.Wm)((0,n.SU)(Mt),{id:"search-input",modelValue:s.value,"onUpdate:modelValue":t[0]||(t[0]=e=>s.value=e),type:"text",placeholder:"Search endpoints...",class:"pl-10 text-sm sm:text-base",onInput:t[1]||(t[1]=t=>e.$emit("search",s.value))},null,8,["modelValue"])])]),(0,a._)("div",ss,[(0,a._)("div",ls,[t[5]||(t[5]=(0,a._)("label",{class:"text-xs sm:text-sm font-medium text-muted-foreground whitespace-nowrap"},"Filter by:",-1)),(0,a.Wm)((0,n.SU)(Qt),{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,a._)("div",as,[t[6]||(t[6]=(0,a._)("label",{class:"text-xs sm:text-sm font-medium text-muted-foreground whitespace-nowrap"},"Sort by:",-1)),(0,a.Wm)((0,n.SU)(Qt),{modelValue:r.value,"onUpdate:modelValue":[t[3]||(t[3]=e=>r.value=e),c],options:u,placeholder:"Name",class:"flex-1 sm:w-[90px] md:w-[100px]"},null,8,["modelValue"])])])]))}};const ns=rs;var os=ns,us=s(789),is=s(679);const ds={id:"settings",class:"fixed bottom-4 left-4 z-50"},cs={class:"flex items-center gap-1 bg-background/95 backdrop-blur-sm border rounded-full shadow-md p-1"},gs=["aria-label","aria-expanded"],ps={class:"text-xs font-medium"},ms=["onClick"],vs=["aria-label"],fs={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"},ws="300",xs="theme",hs=31536e3;var bs={__name:"Settings",emits:["refreshData"],setup(e,{emit:t}){const s=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"}],u={REFRESH_INTERVAL:"gatus:refresh-interval"};function i(){const e=document.cookie.match(new RegExp(`${xs}=(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(u.REFRESH_INTERVAL),t=e&&parseInt(e),s=t&&t>=10&&o.some((t=>t.value===e));return s?e:ws}const c=(0,n.iH)(d()),g=(0,n.iH)(i()),p=(0,n.iH)(!1);let m=null;const v=e=>{const t=o.find((t=>t.value===e));return t?t.label:`${e}s`},f=e=>{localStorage.setItem(u.REFRESH_INTERVAL,e),m&&clearInterval(m),m=setInterval((()=>{w()}),1e3*e)},w=()=>{s("refreshData")},x=e=>{c.value=e,p.value=!1,w(),f(e)},h=e=>{const t=document.getElementById("settings");t&&!t.contains(e.target)&&(p.value=!1)},b=e=>{document.cookie=`${xs}=${e}; path=/; max-age=${hs}; samesite=strict`},y=()=>{const e=i()?"light":"dark";b(e),k()},k=()=>{const e=i();g.value=e,document.documentElement.classList.toggle("dark",e)};return(0,a.bv)((()=>{f(c.value),k(),document.addEventListener("click",h)})),(0,a.Ah)((()=>{m&&clearInterval(m),document.removeEventListener("click",h)})),(e,t)=>((0,a.wg)(),(0,a.iD)("div",ds,[(0,a._)("div",cs,[(0,a._)("button",{onClick:t[1]||(t[1]=e=>p.value=!p.value),"aria-label":`Refresh interval: ${v(c.value)}`,"aria-expanded":p.value,class:"flex items-center gap-1.5 px-3 py-1.5 rounded-full hover:bg-accent transition-colors relative"},[(0,a.Wm)((0,n.SU)(Ye.Z),{class:"w-3.5 h-3.5 text-muted-foreground"}),(0,a._)("span",ps,(0,r.zw)(v(c.value)),1),p.value?((0,a.wg)(),(0,a.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,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(o,(e=>(0,a._)("button",{key:e.value,onClick:t=>x(e.value),class:(0,r.C_)(["block w-full px-4 py-2 text-xs text-left hover:bg-accent transition-colors",c.value===e.value&&"bg-accent"])},(0,r.zw)(e.label),11,ms))),64))])):(0,a.kq)("",!0)],8,gs),t[2]||(t[2]=(0,a._)("div",{class:"h-5 w-px bg-border/50"},null,-1)),(0,a._)("button",{onClick:y,"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,a.wg)(),(0,a.j4)((0,n.SU)(us.Z),{key:0,class:"h-3.5 w-3.5 transition-all"})):((0,a.wg)(),(0,a.j4)((0,n.SU)(is.Z),{key:1,class:"h-3.5 w-3.5 transition-all"})),(0,a._)("div",fs,(0,r.zw)(g.value?"Light mode":"Dark mode"),1)],8,vs)])]))}};const ys=(0,q.Z)(bs,[["__scopeId","data-v-482756f8"]]);var ks=ys,_s=s(691),Ss=s(446),Ds=s(5),Us=s(337);const zs={key:0,class:"announcement-container mb-6"},Ws={class:"flex items-center justify-between"},Cs={class:"flex items-center gap-2"},js={class:"text-xs text-gray-500 dark:text-gray-400"},Hs={key:0,class:"announcement-content p-4 transition-all duration-200 rounded-b-lg"},Rs={class:"relative"},Fs={class:"space-y-3"},qs={class:"flex items-center gap-3 mb-2 relative"},$s={class:"relative z-10 bg-white dark:bg-gray-800 px-2 py-1 rounded-md border border-gray-200 dark:border-gray-600"},Zs={class:"text-xs font-medium text-gray-600 dark:text-gray-300"},Ts={class:"space-y-2 ml-7 relative"},Es={class:"flex items-center justify-between gap-3"},Ls={class:"flex-1 min-w-0"},As={class:"text-sm leading-relaxed text-gray-900 dark:text-gray-100"},Ns=["title"];var Ms={__name:"AnnouncementBanner",props:{announcements:{type:Array,default:()=>[]}},setup(e){const t=e,s=(0,n.iH)(!1),l=()=>{s.value=!s.value},o={outage:{icon:_s.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:Ss.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:Ds.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:Ve.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:Us.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"}},u=(0,a.Fl)((()=>t.announcements&&t.announcements.length>0?t.announcements[0]:null)),i=(0,a.Fl)((()=>{const e=u.value?.type||"none";return o[e]?.icon||Us.Z})),d=(0,a.Fl)((()=>{const e=u.value?.type||"none";return o[e]?.iconColor||"text-gray-600 dark:text-gray-400"})),c=(0,a.Fl)((()=>{const e=u.value?.type||"none",t=o[e];return`border-l-4 ${t.border.replace("border-","border-l-")}`})),g=(0,a.Fl)((()=>{if(!t.announcements||0===t.announcements.length)return{};const e={};return t.announcements.forEach((t=>{const s=new Date(t.timestamp).toDateString();e[s]||(e[s]=[]),e[s].push(t)})),e})),p=e=>o[e]?.icon||Us.Z,m=e=>o[e]||o.none,v=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),s=new Date,l=new Date(s);return l.setDate(l.getDate()-1),t.toDateString()===s.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}),x=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,a.wg)(),(0,a.iD)("div",zs,[(0,a._)("div",{class:(0,r.C_)(["rounded-lg border bg-card text-card-foreground shadow-sm transition-all duration-200",c.value])},[(0,a._)("div",{class:(0,r.C_)(["announcement-header px-4 py-3 cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors",s.value?"rounded-lg":"rounded-t-lg border-b border-gray-200 dark:border-gray-600"]),onClick:l},[(0,a._)("div",Ws,[(0,a._)("div",Cs,[((0,a.wg)(),(0,a.j4)((0,a.LL)(i.value),{class:(0,r.C_)(["w-5 h-5",d.value])},null,8,["class"])),o[0]||(o[0]=(0,a._)("h2",{class:"text-base font-semibold text-gray-900 dark:text-gray-100"},"Announcements",-1)),(0,a._)("span",js," ("+(0,r.zw)(e.announcements.length)+") ",1)]),(0,a.Wm)((0,n.SU)(Ke.Z),{class:(0,r.C_)(["w-4 h-4 text-gray-500 dark:text-gray-400 transition-transform duration-200",s.value?"-rotate-90":"rotate-0"])},null,8,["class"])])],2),s.value?(0,a.kq)("",!0):((0,a.wg)(),(0,a.iD)("div",Hs,[(0,a._)("div",Rs,[(0,a._)("div",Fs,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(g.value,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{key:t,class:"relative"},[e.length>0?((0,a.wg)(),(0,a.iD)("div",{key:0,class:"absolute left-3 w-0.5 bg-gray-300 dark:bg-gray-600 pointer-events-none",style:(0,r.j5)(v(e))},null,4)):(0,a.kq)("",!0),(0,a._)("div",qs,[(0,a._)("div",$s,[(0,a._)("time",Zs,(0,r.zw)(f(t)),1)]),o[1]||(o[1]=(0,a._)("div",{class:"flex-1 border-t border-gray-200 dark:border-gray-600"},null,-1))]),(0,a._)("div",Ts,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(e,((e,s)=>((0,a.wg)(),(0,a.iD)("div",{key:`${t}-${s}-${e.timestamp}`,class:"relative"},[(0,a._)("div",{class:(0,r.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",m(e.type).border])},[((0,a.wg)(),(0,a.j4)((0,a.LL)(p(e.type)),{class:(0,r.C_)(["w-3 h-3",m(e.type).iconColor])},null,8,["class"]))],2),(0,a._)("div",{class:(0,r.C_)(["rounded-md border p-3 transition-all duration-200 hover:shadow-sm",m(e.type).background])},[(0,a._)("div",Es,[(0,a._)("div",Ls,[(0,a._)("p",As,(0,r.zw)(e.message),1)]),(0,a._)("time",{class:(0,r.C_)(["text-xs font-mono whitespace-nowrap",m(e.type).text]),title:x(e.timestamp)},(0,r.zw)(w(e.timestamp)),11,Ns)])],2)])))),128))])])))),128))])])]))],2)])):(0,a.kq)("",!0)}};const Is=(0,q.Z)(Ms,[["__scopeId","data-v-48763619"]]);var Ys=Is;const Os={class:"dashboard-container bg-background"},Ks={class:"container mx-auto px-4 py-8 max-w-7xl"},Ps={class:"mb-6"},Vs={class:"flex items-center justify-between mb-6"},Gs={class:"flex items-center gap-4"},Bs={key:0,class:"flex items-center justify-center py-20"},Js={key:1,class:"text-center py-20"},Qs={class:"text-muted-foreground"},Xs={key:2},el={key:0,class:"space-y-6"},tl=["onClick"],sl={class:"flex items-center gap-3"},ll={class:"text-xl font-semibold text-foreground"},al={class:"flex items-center gap-2"},rl={key:0,class:"bg-red-600 text-white px-2 py-1 rounded-full text-sm font-medium"},nl={key:0,class:"endpoint-group-content p-4"},ol={key:0,class:"mb-4"},ul={class:"grid gap-3 grid-cols-1 sm:grid-cols-2 lg:grid-cols-3"},il={key:1},dl={key:0,class:"text-sm font-semibold text-muted-foreground uppercase tracking-wider mb-3"},cl={class:"grid gap-3 grid-cols-1 sm:grid-cols-2 lg:grid-cols-3"},gl={key:1},pl={key:0,class:"mb-6"},ml={class:"grid gap-3 grid-cols-1 sm:grid-cols-2 lg:grid-cols-3"},vl={key:1},fl={key:0,class:"text-lg font-semibold text-foreground mb-3"},wl={class:"grid gap-3 grid-cols-1 sm:grid-cols-2 lg:grid-cols-3"},xl={key:2,class:"mt-8 flex items-center justify-center gap-2"},hl={class:"flex gap-1"},bl=96;var yl={__name:"Home",props:{announcements:{type:Array,default:()=>[]}},emits:["showTooltip"],setup(e,{emit:t}){const s=e,l=t,o=(0,n.iH)([]),u=(0,n.iH)([]),i=(0,n.iH)(!1),d=(0,n.iH)(1),c=(0,n.iH)(""),g=(0,n.iH)(!1),p=(0,n.iH)(!1),m=(0,n.iH)(!0),v=(0,n.iH)(!1),f=(0,n.iH)(localStorage.getItem("gatus:sort-by")||"name"),w=(0,n.iH)(new Set),x=(0,a.Fl)((()=>{let e=[...o.value];if(c.value){const t=c.value.toLowerCase();e=e.filter((e=>e.name.toLowerCase().includes(t)||e.group&&e.group.toLowerCase().includes(t)))}return g.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}))),p.value&&(e=e.filter((e=>!(!e.results||0===e.results.length)&&e.results.some((e=>!e.success))))),"health"===f.value&&e.sort(((e,t)=>{const s=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!s&&l?-1:s&&!l?1:e.name.localeCompare(t.name)})),e})),b=(0,a.Fl)((()=>{let e=[...u.value||[]];if(c.value){const t=c.value.toLowerCase();e=e.filter((e=>e.name.toLowerCase().includes(t)||e.group&&e.group.toLowerCase().includes(t)))}return g.value&&(e=e.filter((e=>!(!e.results||0===e.results.length)&&!e.results[e.results.length-1].success))),p.value&&(e=e.filter((e=>!(!e.results||0===e.results.length)&&e.results.some((e=>!e.success))))),"health"===f.value&&e.sort(((e,t)=>{const s=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!s&&l?-1:s&&!l?1:e.name.localeCompare(t.name)})),e})),y=(0,a.Fl)((()=>Math.ceil((x.value.length+b.value.length)/bl))),k=(0,a.Fl)((()=>{if(!v.value)return null;const e={};x.value.forEach((t=>{const s=t.group||"No Group";e[s]||(e[s]=[]),e[s].push(t)}));const t=Object.keys(e).sort(((e,t)=>"No Group"===e?1:"No Group"===t?-1:e.localeCompare(t))),s={};return t.forEach((t=>{s[t]=e[t]})),s})),_=(0,a.Fl)((()=>{if(!v.value)return null;const e={};x.value.forEach((t=>{const s=t.group||"No Group";e[s]||(e[s]={endpoints:[],suites:[]}),e[s].endpoints.push(t)})),b.value.forEach((t=>{const s=t.group||"No Group";e[s]||(e[s]={endpoints:[],suites:[]}),e[s].suites.push(t)}));const t=Object.keys(e).sort(((e,t)=>"No Group"===e?1:"No Group"===t?-1:e.localeCompare(t))),s={};return t.forEach((t=>{s[t]=e[t]})),s})),S=(0,a.Fl)((()=>{if(v.value)return k.value;const e=(d.value-1)*bl,t=e+bl;return x.value.slice(e,t)})),D=(0,a.Fl)((()=>{if(v.value)return b.value;const e=(d.value-1)*bl,t=e+bl;return b.value.slice(e,t)})),U=(0,a.Fl)((()=>{const e=[],t=5;let s=Math.max(1,d.value-Math.floor(t/2)),l=Math.min(y.value,s+t-1);l-s{const e=0===o.value.length&&0===u.value.length;e&&(i.value=!0);try{const t=await fetch(`${xn}/api/v1/endpoints/statuses?page=1&pageSize=100`,{credentials:"include"});if(200===t.status){const e=await t.json();o.value=e}else console.error("[Home][fetchData] Error fetching endpoints:",await t.text());const s=await fetch(`${xn}/api/v1/suites/statuses?page=1&pageSize=100`,{credentials:"include"});if(200===s.status){const e=await s.json();u.value=e||[]}else console.error("[Home][fetchData] Error fetching suites:",await s.text()),u.value||(u.value=[])}catch(t){console.error("[Home][fetchData] Error:",t)}finally{e&&(i.value=!1)}},W=()=>{o.value=[],u.value=[],z()},C=e=>{c.value=e,d.value=1},j=e=>{d.value=e,window.scrollTo({top:0,behavior:"smooth"})},H=()=>{m.value=!m.value},R=(e,t)=>{l("showTooltip",e,t)},F=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,q=e=>e.filter((e=>!(!e.results||0===e.results.length)&&!e.results[e.results.length-1].success)).length,$=e=>{w.value.has(e)?w.value.delete(e):w.value.add(e);const t=Array.from(w.value);localStorage.setItem("gatus:uncollapsed-groups",JSON.stringify(t)),localStorage.removeItem("gatus:collapsed-groups")},Z=()=>{try{const e=localStorage.getItem("gatus:uncollapsed-groups");e&&(w.value=new Set(JSON.parse(e)))}catch(e){console.warn("Failed to parse saved uncollapsed groups:",e),localStorage.removeItem("gatus:uncollapsed-groups")}};return(0,a.bv)((()=>{z()})),(e,t)=>((0,a.wg)(),(0,a.iD)("div",Os,[(0,a._)("div",Ks,[(0,a._)("div",Ps,[(0,a._)("div",Vs,[t[6]||(t[6]=(0,a._)("div",null,[(0,a._)("h1",{class:"text-4xl font-bold tracking-tight"},"Health Dashboard"),(0,a._)("p",{class:"text-muted-foreground mt-2"},"Monitor the health of your endpoints in real-time")],-1)),(0,a._)("div",Gs,[(0,a.Wm)((0,n.SU)(h),{variant:"ghost",size:"icon",onClick:H,title:m.value?"Show min-max response time":"Show average response time"},{default:(0,a.w5)((()=>[m.value?((0,a.wg)(),(0,a.j4)((0,n.SU)(Me.Z),{key:0,class:"h-5 w-5"})):((0,a.wg)(),(0,a.j4)((0,n.SU)(Ie.Z),{key:1,class:"h-5 w-5"}))])),_:1},8,["title"]),(0,a.Wm)((0,n.SU)(h),{variant:"ghost",size:"icon",onClick:W,title:"Refresh data"},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(Ye.Z),{class:"h-5 w-5"})])),_:1})])]),(0,a.Wm)(Ys,{announcements:s.announcements},null,8,["announcements"]),(0,a.Wm)(os,{onSearch:C,"onUpdate:showOnlyFailing":t[0]||(t[0]=e=>g.value=e),"onUpdate:showRecentFailures":t[1]||(t[1]=e=>p.value=e),"onUpdate:groupByGroup":t[2]||(t[2]=e=>v.value=e),"onUpdate:sortBy":t[3]||(t[3]=e=>f.value=e),onInitializeCollapsedGroups:Z})]),i.value?((0,a.wg)(),(0,a.iD)("div",Bs,[(0,a.Wm)(de,{size:"lg"})])):0===x.value.length&&0===b.value.length?((0,a.wg)(),(0,a.iD)("div",Js,[(0,a.Wm)((0,n.SU)(Oe.Z),{class:"h-12 w-12 text-muted-foreground mx-auto mb-4"}),t[7]||(t[7]=(0,a._)("h3",{class:"text-lg font-semibold mb-2"},"No endpoints or suites found",-1)),(0,a._)("p",Qs,(0,r.zw)(c.value||g.value||p.value?"Try adjusting your filters":"No endpoints or suites are configured"),1)])):((0,a.wg)(),(0,a.iD)("div",Xs,[v.value?((0,a.wg)(),(0,a.iD)("div",el,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(_.value,((e,s)=>((0,a.wg)(),(0,a.iD)("div",{key:s,class:"endpoint-group border rounded-lg overflow-hidden"},[(0,a._)("div",{onClick:e=>$(s),class:"endpoint-group-header flex items-center justify-between p-4 bg-card border-b cursor-pointer hover:bg-accent/50 transition-colors"},[(0,a._)("div",sl,[w.value.has(s)?((0,a.wg)(),(0,a.j4)((0,n.SU)(Ke.Z),{key:0,class:"h-5 w-5 text-muted-foreground"})):((0,a.wg)(),(0,a.j4)((0,n.SU)(Pe.Z),{key:1,class:"h-5 w-5 text-muted-foreground"})),(0,a._)("h2",ll,(0,r.zw)(s),1)]),(0,a._)("div",al,[F(e.endpoints)+q(e.suites)>0?((0,a.wg)(),(0,a.iD)("span",rl,(0,r.zw)(F(e.endpoints)+q(e.suites)),1)):((0,a.wg)(),(0,a.j4)((0,n.SU)(Ve.Z),{key:1,class:"h-6 w-6 text-green-600"}))])],8,tl),w.value.has(s)?((0,a.wg)(),(0,a.iD)("div",nl,[e.suites.length>0?((0,a.wg)(),(0,a.iD)("div",ol,[t[8]||(t[8]=(0,a._)("h3",{class:"text-sm font-semibold text-muted-foreground uppercase tracking-wider mb-3"},"Suites",-1)),(0,a._)("div",ul,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(e.suites,(e=>((0,a.wg)(),(0,a.j4)(Tt,{key:e.key,suite:e,maxResults:50,onShowTooltip:R},null,8,["suite"])))),128))])])):(0,a.kq)("",!0),e.endpoints.length>0?((0,a.wg)(),(0,a.iD)("div",il,[e.suites.length>0?((0,a.wg)(),(0,a.iD)("h3",dl,"Endpoints")):(0,a.kq)("",!0),(0,a._)("div",cl,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(e.endpoints,(e=>((0,a.wg)(),(0,a.j4)(ht,{key:e.key,endpoint:e,maxResults:50,showAverageResponseTime:m.value,onShowTooltip:R},null,8,["endpoint","showAverageResponseTime"])))),128))])])):(0,a.kq)("",!0)])):(0,a.kq)("",!0)])))),128))])):((0,a.wg)(),(0,a.iD)("div",gl,[b.value.length>0?((0,a.wg)(),(0,a.iD)("div",pl,[t[9]||(t[9]=(0,a._)("h2",{class:"text-lg font-semibold text-foreground mb-3"},"Suites",-1)),(0,a._)("div",ml,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(D.value,(e=>((0,a.wg)(),(0,a.j4)(Tt,{key:e.key,suite:e,maxResults:50,onShowTooltip:R},null,8,["suite"])))),128))])])):(0,a.kq)("",!0),x.value.length>0?((0,a.wg)(),(0,a.iD)("div",vl,[b.value.length>0?((0,a.wg)(),(0,a.iD)("h2",fl,"Endpoints")):(0,a.kq)("",!0),(0,a._)("div",wl,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(S.value,(e=>((0,a.wg)(),(0,a.j4)(ht,{key:e.key,endpoint:e,maxResults:50,showAverageResponseTime:m.value,onShowTooltip:R},null,8,["endpoint","showAverageResponseTime"])))),128))])])):(0,a.kq)("",!0)])),!v.value&&y.value>1?((0,a.wg)(),(0,a.iD)("div",xl,[(0,a.Wm)((0,n.SU)(h),{variant:"outline",size:"icon",disabled:1===d.value,onClick:t[4]||(t[4]=e=>j(d.value-1))},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(Ge.Z),{class:"h-4 w-4"})])),_:1},8,["disabled"]),(0,a._)("div",hl,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(U.value,(e=>((0,a.wg)(),(0,a.j4)((0,n.SU)(h),{key:e,variant:e===d.value?"default":"outline",size:"sm",onClick:t=>j(e)},{default:(0,a.w5)((()=>[(0,a.Uk)((0,r.zw)(e),1)])),_:2},1032,["variant","onClick"])))),128))]),(0,a.Wm)((0,n.SU)(h),{variant:"outline",size:"icon",disabled:d.value===y.value,onClick:t[5]||(t[5]=e=>j(d.value+1))},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(Be.Z),{class:"h-4 w-4"})])),_:1},8,["disabled"])])):(0,a.kq)("",!0)]))]),(0,a.Wm)(ks,{onRefreshData:z})]))}};const kl=yl;var _l=kl,Sl=s(318),Dl=s(779),Ul=s(141),zl=s(478);const Wl={class:"flex items-center justify-between"},Cl={class:"text-sm text-muted-foreground"};var jl={__name:"Pagination",props:{numberOfResultsPerPage:Number,currentPageProp:{type:Number,default:1}},emits:["page"],setup(e,{emit:t}){const s=e,l=t,o=(0,n.iH)(s.currentPageProp),u=(0,a.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/s.numberOfResultsPerPage)})),i=()=>{o.value--,l("page",o.value)},d=()=>{o.value++,l("page",o.value)};return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Wl,[(0,a.Wm)((0,n.SU)(h),{variant:"outline",size:"sm",disabled:o.value>=u.value,onClick:d,class:"flex items-center gap-1"},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(Ge.Z),{class:"h-4 w-4"}),t[0]||(t[0]=(0,a.Uk)(" Previous ",-1))])),_:1,__:[0]},8,["disabled"]),(0,a._)("span",Cl," Page "+(0,r.zw)(o.value)+" of "+(0,r.zw)(u.value),1),(0,a.Wm)((0,n.SU)(h),{variant:"outline",size:"sm",disabled:o.value<=1,onClick:i,class:"flex items-center gap-1"},{default:(0,a.w5)((()=>[t[1]||(t[1]=(0,a.Uk)(" Next ",-1)),(0,a.Wm)((0,n.SU)(Be.Z),{class:"h-4 w-4"})])),_:1,__:[1]},8,["disabled"])]))}};const Hl=jl;var Rl=Hl;const Fl={class:"dashboard-container bg-background"},ql={class:"container mx-auto px-4 py-8 max-w-7xl"},$l={class:"mb-6"},Zl={key:0,class:"space-y-6"},Tl={class:"flex items-start justify-between"},El={class:"text-4xl font-bold tracking-tight"},Ll={class:"flex items-center gap-3 text-muted-foreground mt-2"},Al={key:0},Nl={key:1},Ml={key:2},Il={class:"grid gap-6 md:grid-cols-2 lg:grid-cols-4"},Yl={class:"text-2xl font-bold"},Ol={class:"text-2xl font-bold"},Kl={class:"text-2xl font-bold"},Pl={class:"text-2xl font-bold"},Vl={class:"flex items-center justify-between"},Gl={class:"flex items-center gap-2"},Bl={class:"space-y-4"},Jl={key:1,class:"pt-4 border-t"},Ql={key:0,class:"space-y-6"},Xl={class:"flex items-center justify-between"},ea=["src"],ta={class:"grid gap-4 md:grid-cols-2 lg:grid-cols-4"},sa=["src","alt"],la={class:"grid gap-4 md:grid-cols-2 lg:grid-cols-4"},aa={class:"text-sm text-muted-foreground mb-2"},ra=["src","alt"],na={class:"text-center"},oa=["src"],ua={class:"space-y-4"},ia={class:"mt-1"},da={class:"flex-1"},ca={class:"font-medium"},ga={class:"text-sm text-muted-foreground"},pa={key:1,class:"flex items-center justify-center py-20"};var ma={__name:"EndpointDetails",emits:["showTooltip"],setup(e,{emit:t}){const s=(0,u.tv)(),o=(0,u.yj)(),i=t,d=(0,n.iH)(null),c=(0,n.iH)(null),g=(0,n.iH)([]),p=(0,n.iH)(1),m=(0,n.iH)(!1),v=(0,n.iH)(!1),f=(0,n.iH)("24h"),w="."===xn?"..":xn,x=(0,n.iH)(!1),b=(0,a.Fl)((()=>c.value&&c.value.results&&0!==c.value.results.length?c.value.results[c.value.results.length-1]:null)),y=(0,a.Fl)((()=>b.value?b.value.success?"healthy":"unhealthy":"unknown")),_=(0,a.Fl)((()=>b.value?.hostname||null)),S=(0,a.Fl)((()=>{if(!d.value||!d.value.results||0===d.value.results.length)return"N/A";let e=0,t=0;for(const s of d.value.results)s.duration&&(e+=s.duration,t++);return 0===t?"N/A":Math.round(e/t/1e6)})),U=(0,a.Fl)((()=>{if(!d.value||!d.value.results||0===d.value.results.length)return"N/A";let e=1/0,t=0,s=!1;for(const r of d.value.results)if(r.duration){const l=r.duration/1e6;e=Math.min(e,l),t=Math.max(t,l),s=!0}if(!s)return"N/A";const l=Math.round(e),a=Math.round(t);return l===a?`${l}ms`:`${l}-${a}ms`})),z=(0,a.Fl)((()=>c.value&&c.value.results&&0!==c.value.results.length?E(c.value.results[c.value.results.length-1].timestamp):"Never")),C=async()=>{x.value=!0;try{const e=await fetch(`${w}/api/v1/endpoints/${o.params.key}/statuses?page=${p.value}&pageSize=50`,{credentials:"include"});if(200===e.status){const t=await e.json();d.value=t,1===p.value&&(c.value=t);let s=[];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 s=t.events[e+1];"HEALTHY"===l.type?l.fancyText="Endpoint became healthy":"UNHEALTHY"===l.type?l.fancyText=s?"Endpoint was unhealthy for "+L(s.timestamp,l.timestamp):"Endpoint became unhealthy":"START"===l.type&&(l.fancyText="Monitoring started")}l.fancyTimeAgo=E(l.timestamp),s.push(l)}if(g.value=s,t.results&&t.results.length>0)for(let e=0;e0){m.value=!0;break}}else console.error("[Details][fetchData] Error:",await e.text())}catch(e){console.error("[Details][fetchData] Error:",e)}finally{x.value=!1}},j=()=>{s.push("/")},R=e=>{p.value=e,C()},F=(e,t)=>{i("showTooltip",e,t)},q=e=>new Date(e).toLocaleString(),$=()=>`${w}/api/v1/endpoints/${d.value.key}/health/badge.svg`,Z=e=>`${w}/api/v1/endpoints/${d.value.key}/uptimes/${e}/badge.svg`,T=e=>`${w}/api/v1/endpoints/${d.value.key}/response-times/${e}/badge.svg`,A=e=>`${w}/api/v1/endpoints/${d.value.key}/response-times/${e}/chart.svg`;return(0,a.bv)((()=>{C()})),(e,t)=>((0,a.wg)(),(0,a.iD)("div",Fl,[(0,a._)("div",ql,[(0,a._)("div",$l,[(0,a.Wm)((0,n.SU)(h),{variant:"ghost",class:"mb-4",onClick:j},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(Sl.Z),{class:"h-4 w-4 mr-2"}),t[2]||(t[2]=(0,a.Uk)(" Back to Dashboard ",-1))])),_:1,__:[2]}),d.value&&d.value.name?((0,a.wg)(),(0,a.iD)("div",Zl,[(0,a._)("div",Tl,[(0,a._)("div",null,[(0,a._)("h1",El,(0,r.zw)(d.value.name),1),(0,a._)("div",Ll,[d.value.group?((0,a.wg)(),(0,a.iD)("span",Al,"Group: "+(0,r.zw)(d.value.group),1)):(0,a.kq)("",!0),d.value.group&&_.value?((0,a.wg)(),(0,a.iD)("span",Nl,"•")):(0,a.kq)("",!0),_.value?((0,a.wg)(),(0,a.iD)("span",Ml,(0,r.zw)(_.value),1)):(0,a.kq)("",!0)])]),(0,a.Wm)(st,{status:y.value},null,8,["status"])]),(0,a._)("div",Il,[(0,a.Wm)((0,n.SU)(k),null,{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(D),{class:"pb-2"},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(W),{class:"text-sm font-medium text-muted-foreground"},{default:(0,a.w5)((()=>t[3]||(t[3]=[(0,a.Uk)("Current Status",-1)]))),_:1,__:[3]})])),_:1}),(0,a.Wm)((0,n.SU)(H),null,{default:(0,a.w5)((()=>[(0,a._)("div",Yl,(0,r.zw)("healthy"===y.value?"Operational":"Issues Detected"),1)])),_:1})])),_:1}),(0,a.Wm)((0,n.SU)(k),null,{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(D),{class:"pb-2"},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(W),{class:"text-sm font-medium text-muted-foreground"},{default:(0,a.w5)((()=>t[4]||(t[4]=[(0,a.Uk)("Avg Response Time",-1)]))),_:1,__:[4]})])),_:1}),(0,a.Wm)((0,n.SU)(H),null,{default:(0,a.w5)((()=>[(0,a._)("div",Ol,(0,r.zw)(S.value)+"ms",1)])),_:1})])),_:1}),(0,a.Wm)((0,n.SU)(k),null,{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(D),{class:"pb-2"},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(W),{class:"text-sm font-medium text-muted-foreground"},{default:(0,a.w5)((()=>t[5]||(t[5]=[(0,a.Uk)("Response Time Range",-1)]))),_:1,__:[5]})])),_:1}),(0,a.Wm)((0,n.SU)(H),null,{default:(0,a.w5)((()=>[(0,a._)("div",Kl,(0,r.zw)(U.value),1)])),_:1})])),_:1}),(0,a.Wm)((0,n.SU)(k),null,{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(D),{class:"pb-2"},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(W),{class:"text-sm font-medium text-muted-foreground"},{default:(0,a.w5)((()=>t[6]||(t[6]=[(0,a.Uk)("Last Check",-1)]))),_:1,__:[6]})])),_:1}),(0,a.Wm)((0,n.SU)(H),null,{default:(0,a.w5)((()=>[(0,a._)("div",Pl,(0,r.zw)(z.value),1)])),_:1})])),_:1})]),(0,a.Wm)((0,n.SU)(k),null,{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(D),null,{default:(0,a.w5)((()=>[(0,a._)("div",Vl,[(0,a.Wm)((0,n.SU)(W),null,{default:(0,a.w5)((()=>t[7]||(t[7]=[(0,a.Uk)("Recent Checks",-1)]))),_:1,__:[7]}),(0,a._)("div",Gl,[(0,a.Wm)((0,n.SU)(h),{variant:"ghost",size:"icon",onClick:t[0]||(t[0]=e=>v.value=!v.value),title:v.value?"Show min-max response time":"Show average response time"},{default:(0,a.w5)((()=>[v.value?((0,a.wg)(),(0,a.j4)((0,n.SU)(Me.Z),{key:0,class:"h-5 w-5"})):((0,a.wg)(),(0,a.j4)((0,n.SU)(Ie.Z),{key:1,class:"h-5 w-5"}))])),_:1},8,["title"]),(0,a.Wm)((0,n.SU)(h),{variant:"ghost",size:"icon",onClick:C,title:"Refresh data",disabled:x.value},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(Ye.Z),{class:(0,r.C_)(["h-4 w-4",x.value&&"animate-spin"])},null,8,["class"])])),_:1},8,["disabled"])])])])),_:1}),(0,a.Wm)((0,n.SU)(H),null,{default:(0,a.w5)((()=>[(0,a._)("div",Bl,[d.value?((0,a.wg)(),(0,a.j4)(ht,{key:0,endpoint:d.value,maxResults:50,showAverageResponseTime:v.value,onShowTooltip:F,class:"border-0 shadow-none bg-transparent p-0"},null,8,["endpoint","showAverageResponseTime"])):(0,a.kq)("",!0),d.value&&d.value.key?((0,a.wg)(),(0,a.iD)("div",Jl,[(0,a.Wm)(Rl,{onPage:R,numberOfResultsPerPage:50,currentPageProp:p.value},null,8,["currentPageProp"])])):(0,a.kq)("",!0)])])),_:1})])),_:1}),m.value?((0,a.wg)(),(0,a.iD)("div",Ql,[(0,a.Wm)((0,n.SU)(k),null,{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(D),null,{default:(0,a.w5)((()=>[(0,a._)("div",Xl,[(0,a.Wm)((0,n.SU)(W),null,{default:(0,a.w5)((()=>t[8]||(t[8]=[(0,a.Uk)("Response Time Trend",-1)]))),_:1,__:[8]}),(0,a.wy)((0,a._)("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,a._)("option",{value:"24h"},"24 hours",-1),(0,a._)("option",{value:"7d"},"7 days",-1),(0,a._)("option",{value:"30d"},"30 days",-1)]),512),[[l.bM,f.value]])])])),_:1}),(0,a.Wm)((0,n.SU)(H),null,{default:(0,a.w5)((()=>[(0,a._)("img",{src:A(f.value),alt:"Response time chart",class:"w-full"},null,8,ea)])),_:1})])),_:1}),(0,a._)("div",ta,[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(["30d","7d","24h","1h"],(e=>(0,a.Wm)((0,n.SU)(k),{key:e},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(D),{class:"pb-2"},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(W),{class:"text-sm font-medium text-muted-foreground text-center"},{default:(0,a.w5)((()=>[(0,a.Uk)((0,r.zw)("30d"===e?"Last 30 days":"7d"===e?"Last 7 days":"24h"===e?"Last 24 hours":"Last hour"),1)])),_:2},1024)])),_:2},1024),(0,a.Wm)((0,n.SU)(H),null,{default:(0,a.w5)((()=>[(0,a._)("img",{src:T(e),alt:`${e} response time`,class:"mx-auto mt-2"},null,8,sa)])),_:2},1024)])),_:2},1024))),64))])])):(0,a.kq)("",!0),(0,a.Wm)((0,n.SU)(k),null,{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(D),null,{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(W),null,{default:(0,a.w5)((()=>t[10]||(t[10]=[(0,a.Uk)("Uptime Statistics",-1)]))),_:1,__:[10]})])),_:1}),(0,a.Wm)((0,n.SU)(H),null,{default:(0,a.w5)((()=>[(0,a._)("div",la,[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(["30d","7d","24h","1h"],(e=>(0,a._)("div",{key:e,class:"text-center"},[(0,a._)("p",aa,(0,r.zw)("30d"===e?"Last 30 days":"7d"===e?"Last 7 days":"24h"===e?"Last 24 hours":"Last hour"),1),(0,a._)("img",{src:Z(e),alt:`${e} uptime`,class:"mx-auto"},null,8,ra)]))),64))])])),_:1})])),_:1}),(0,a.Wm)((0,n.SU)(k),null,{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(D),null,{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(W),null,{default:(0,a.w5)((()=>t[11]||(t[11]=[(0,a.Uk)("Current Health",-1)]))),_:1,__:[11]})])),_:1}),(0,a.Wm)((0,n.SU)(H),null,{default:(0,a.w5)((()=>[(0,a._)("div",na,[(0,a._)("img",{src:$(),alt:"health badge",class:"mx-auto"},null,8,oa)])])),_:1})])),_:1}),g.value&&g.value.length>0?((0,a.wg)(),(0,a.j4)((0,n.SU)(k),{key:1},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(D),null,{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(W),null,{default:(0,a.w5)((()=>t[12]||(t[12]=[(0,a.Uk)("Events",-1)]))),_:1,__:[12]})])),_:1}),(0,a.Wm)((0,n.SU)(H),null,{default:(0,a.w5)((()=>[(0,a._)("div",ua,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(g.value,(e=>((0,a.wg)(),(0,a.iD)("div",{key:e.timestamp,class:"flex items-start gap-4 pb-4 border-b last:border-0"},[(0,a._)("div",ia,["HEALTHY"===e.type?((0,a.wg)(),(0,a.j4)((0,n.SU)(Dl.Z),{key:0,class:"h-5 w-5 text-green-500"})):"UNHEALTHY"===e.type?((0,a.wg)(),(0,a.j4)((0,n.SU)(Ul.Z),{key:1,class:"h-5 w-5 text-red-500"})):((0,a.wg)(),(0,a.j4)((0,n.SU)(zl.Z),{key:2,class:"h-5 w-5 text-muted-foreground"}))]),(0,a._)("div",da,[(0,a._)("p",ca,(0,r.zw)(e.fancyText),1),(0,a._)("p",ga,(0,r.zw)(q(e.timestamp))+" • "+(0,r.zw)(e.fancyTimeAgo),1)])])))),128))])])),_:1})])),_:1})):(0,a.kq)("",!0)])):((0,a.wg)(),(0,a.iD)("div",pa,[(0,a.Wm)(de,{size:"lg"})]))])]),(0,a.Wm)(ks,{onRefreshData:C})]))}};const va=ma;var fa=va,wa=s(469),xa=s(399),ha=s(167);const ba=e=>{if(!e&&0!==e)return"N/A";const t=e/1e6;return t<1e3?`${t.toFixed(0)}ms`:`${(t/1e3).toFixed(2)}s`},ya={class:"relative flex-shrink-0"},ka={class:"flex-1 min-w-0 pt-1"},_a={class:"flex items-center justify-between gap-2 mb-1"},Sa={class:"font-medium text-sm truncate"},Da={class:"text-xs text-muted-foreground whitespace-nowrap"},Ua={class:"flex flex-wrap gap-1"},za={key:0,class:"inline-flex items-center gap-1 px-2 py-1 text-xs font-medium bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200 rounded-md"},Wa={key:1,class:"inline-flex items-center px-2 py-1 text-xs font-medium bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-200 rounded-md"};var Ca={__name:"FlowStep",props:{step:{type:Object,required:!0},index:{type:Number,required:!0},isLast:{type:Boolean,default:!1},previousStep:{type:Object,default:null}},emits:["step-click"],setup(e){const t=e,s=(0,a.Fl)((()=>{switch(t.step.status){case"success":return Ve.Z;case"failed":return _s.Z;case"skipped":return wa.Z;case"not-started":return ha.Z;default:return ha.Z}})),l=(0,a.Fl)((()=>{const e="border-2";if(t.step.isAlwaysRun)switch(t.step.status){case"success":return`${e} bg-green-500 text-white border-green-600 ring-2 ring-blue-200 dark:ring-blue-800`;case"failed":return`${e} bg-red-500 text-white border-red-600 ring-2 ring-blue-200 dark:ring-blue-800`;default:return`${e} bg-blue-500 text-white border-blue-600 ring-2 ring-blue-200 dark:ring-blue-800`}switch(t.step.status){case"success":return`${e} bg-green-500 text-white border-green-600`;case"failed":return`${e} bg-red-500 text-white border-red-600`;case"skipped":return`${e} bg-gray-400 text-white border-gray-500`;case"not-started":return`${e} bg-gray-200 text-gray-500 border-gray-300 dark:bg-gray-700 dark:text-gray-400 dark:border-gray-600`;default:return`${e} bg-gray-200 text-gray-500 border-gray-300 dark:bg-gray-700 dark:text-gray-400 dark:border-gray-600`}})),o=(0,a.Fl)((()=>{if(!t.previousStep)return"bg-gray-300 dark:bg-gray-600";if("skipped"===t.step.status)return"border-l-2 border-dashed border-gray-400 bg-transparent";switch(t.previousStep.status){case"success":return"bg-green-500";case"failed":return"bg-red-500";default:return"bg-gray-300 dark:bg-gray-600"}})),u=(0,a.Fl)((()=>{const e=t.step.nextStepStatus;switch(t.step.status){case"success":return"skipped"===e?"bg-gray-300 dark:bg-gray-600":"bg-green-500";case"failed":return"skipped"===e?"border-l-2 border-dashed border-gray-400 bg-transparent":"bg-red-500";default:return"bg-gray-300 dark:bg-gray-600"}}));return(t,i)=>((0,a.wg)(),(0,a.iD)("div",{class:"flex items-start gap-4 relative group hover:bg-accent/30 rounded-lg p-2 -m-2 transition-colors cursor-pointer",onClick:i[0]||(i[0]=e=>t.$emit("step-click"))},[(0,a._)("div",ya,[e.index>0?((0,a.wg)(),(0,a.iD)("div",{key:0,class:(0,r.C_)([o.value,"absolute left-1/2 bottom-8 w-0.5 h-4 -translate-x-px"])},null,2)):(0,a.kq)("",!0),(0,a._)("div",{class:(0,r.C_)([l.value,"w-8 h-8 rounded-full flex items-center justify-center"])},[((0,a.wg)(),(0,a.j4)((0,a.LL)(s.value),{class:"w-4 h-4"}))],2),e.isLast?(0,a.kq)("",!0):((0,a.wg)(),(0,a.iD)("div",{key:1,class:(0,r.C_)([u.value,"absolute left-1/2 top-8 w-0.5 h-4 -translate-x-px"])},null,2))]),(0,a._)("div",ka,[(0,a._)("div",_a,[(0,a._)("h4",Sa,(0,r.zw)(e.step.name),1),(0,a._)("span",Da,(0,r.zw)((0,n.SU)(ba)(e.step.duration)),1)]),(0,a._)("div",Ua,[e.step.isAlwaysRun?((0,a.wg)(),(0,a.iD)("span",za,[(0,a.Wm)((0,n.SU)(xa.Z),{class:"w-3 h-3"}),i[1]||(i[1]=(0,a.Uk)(" Always Run ",-1))])):(0,a.kq)("",!0),e.step.errors?.length?((0,a.wg)(),(0,a.iD)("span",Wa,(0,r.zw)(e.step.errors.length)+" error"+(0,r.zw)(1!==e.step.errors.length?"s":""),1)):(0,a.kq)("",!0)])])]))}};const ja=Ca;var Ha=ja;const Ra={class:"space-y-4"},Fa={class:"flex items-center gap-4"},qa={class:"flex-1 h-1 bg-gray-200 dark:bg-gray-700 rounded-full overflow-hidden"},$a={class:"flex items-center justify-between text-xs text-muted-foreground"},Za={key:0},Ta={class:"space-y-2"},Ea={class:"mt-6 pt-4 border-t"},La={class:"grid grid-cols-2 md:grid-cols-4 gap-3 text-xs"},Aa={key:0,class:"flex items-center gap-2"},Na={class:"w-4 h-4 rounded-full bg-green-500 flex items-center justify-center"},Ma={key:1,class:"flex items-center gap-2"},Ia={class:"w-4 h-4 rounded-full bg-red-500 flex items-center justify-center"},Ya={key:2,class:"flex items-center gap-2"},Oa={class:"w-4 h-4 rounded-full bg-gray-400 flex items-center justify-center"},Ka={key:3,class:"flex items-center gap-2"},Pa={class:"w-4 h-4 rounded-full bg-blue-500 border-2 border-blue-200 dark:border-blue-800 flex items-center justify-center"};var Va={__name:"SequentialFlowDiagram",props:{flowSteps:{type:Array,default:()=>[]},progressPercentage:{type:Number,default:0},completedSteps:{type:Number,default:0},totalSteps:{type:Number,default:0}},emits:["step-selected"],setup(e){const t=e,s=(0,a.Fl)((()=>t.completedSteps)),l=(0,a.Fl)((()=>t.totalSteps)),o=(0,a.Fl)((()=>t.flowSteps.reduce(((e,t)=>e+(t.duration||0)),0))),u=(0,a.Fl)((()=>t.flowSteps.some((e=>"success"===e.status)))),i=(0,a.Fl)((()=>t.flowSteps.some((e=>"failed"===e.status)))),d=(0,a.Fl)((()=>t.flowSteps.some((e=>"skipped"===e.status)))),c=(0,a.Fl)((()=>t.flowSteps.some((e=>!0===e.isAlwaysRun))));return(t,g)=>((0,a.wg)(),(0,a.iD)("div",Ra,[(0,a._)("div",Fa,[g[0]||(g[0]=(0,a._)("div",{class:"text-sm font-medium text-muted-foreground"},"Start",-1)),(0,a._)("div",qa,[(0,a._)("div",{class:"h-full bg-green-500 dark:bg-green-600 rounded-full transition-all duration-300 ease-out",style:(0,r.j5)({width:e.progressPercentage+"%"})},null,4)]),g[1]||(g[1]=(0,a._)("div",{class:"text-sm font-medium text-muted-foreground"},"End",-1))]),(0,a._)("div",$a,[(0,a._)("span",null,(0,r.zw)(s.value)+"/"+(0,r.zw)(l.value)+" steps successful",1),o.value>0?((0,a.wg)(),(0,a.iD)("span",Za,(0,r.zw)((0,n.SU)(ba)(o.value))+" total",1)):(0,a.kq)("",!0)]),(0,a._)("div",Ta,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(e.flowSteps,((s,l)=>((0,a.wg)(),(0,a.j4)(Ha,{key:l,step:s,index:l,"is-last":l===e.flowSteps.length-1,"previous-step":l>0?e.flowSteps[l-1]:null,onStepClick:e=>t.$emit("step-selected",s,l)},null,8,["step","index","is-last","previous-step","onStepClick"])))),128))]),(0,a._)("div",Ea,[g[6]||(g[6]=(0,a._)("div",{class:"text-sm font-medium text-muted-foreground mb-2"},"Status Legend",-1)),(0,a._)("div",La,[u.value?((0,a.wg)(),(0,a.iD)("div",Aa,[(0,a._)("div",Na,[(0,a.Wm)((0,n.SU)(Ve.Z),{class:"w-3 h-3 text-white"})]),g[2]||(g[2]=(0,a._)("span",{class:"text-muted-foreground"},"Success",-1))])):(0,a.kq)("",!0),i.value?((0,a.wg)(),(0,a.iD)("div",Ma,[(0,a._)("div",Ia,[(0,a.Wm)((0,n.SU)(_s.Z),{class:"w-3 h-3 text-white"})]),g[3]||(g[3]=(0,a._)("span",{class:"text-muted-foreground"},"Failed",-1))])):(0,a.kq)("",!0),d.value?((0,a.wg)(),(0,a.iD)("div",Ya,[(0,a._)("div",Oa,[(0,a.Wm)((0,n.SU)(wa.Z),{class:"w-3 h-3 text-white"})]),g[4]||(g[4]=(0,a._)("span",{class:"text-muted-foreground"},"Skipped",-1))])):(0,a.kq)("",!0),c.value?((0,a.wg)(),(0,a.iD)("div",Ka,[(0,a._)("div",Pa,[(0,a.Wm)((0,n.SU)(xa.Z),{class:"w-3 h-3 text-white"})]),g[5]||(g[5]=(0,a._)("span",{class:"text-muted-foreground"},"Always Run",-1))])):(0,a.kq)("",!0)])])]))}};const Ga=Va;var Ba=Ga,Ja=s(293),Qa=s(322),Xa=s(740);const er={class:"flex items-center justify-between p-4 border-b"},tr={class:"text-lg font-semibold flex items-center gap-2"},sr={class:"text-sm text-muted-foreground mt-1"},lr={class:"p-4 space-y-4 overflow-y-auto max-h-[60vh]"},ar={key:0,class:"flex flex-wrap gap-2"},rr={class:"flex items-center gap-2 px-3 py-2 bg-blue-50 dark:bg-blue-900/30 rounded-lg border border-blue-200 dark:border-blue-700"},nr={key:1,class:"space-y-2"},or={class:"text-sm font-medium flex items-center gap-2 text-red-600 dark:text-red-400"},ur={class:"space-y-2"},ir={key:2,class:"space-y-2"},dr={class:"text-sm font-medium flex items-center gap-2"},cr={class:"text-xs font-mono text-muted-foreground"},gr={key:3,class:"space-y-2"},pr={class:"text-sm font-medium flex items-center gap-2"},mr={class:"grid grid-cols-2 gap-4 text-xs"},vr={class:"font-mono mt-1"},fr={key:4,class:"space-y-2"},wr={class:"text-sm font-medium flex items-center gap-2"},xr={class:"space-y-2 max-h-48 overflow-y-auto"},hr={class:"flex-shrink-0 mt-0.5"},br={class:"flex-1 min-w-0 flex items-center justify-between gap-3"},yr={key:5,class:"space-y-2"},kr={class:"text-sm font-medium flex items-center gap-2"},_r={class:"space-y-3 text-xs"},Sr={key:0},Dr={class:"font-mono mt-1 break-all"},Ur={key:1},zr={class:"mt-1 font-medium"},Wr={key:2},Cr={class:"mt-1"},jr={key:3},Hr={class:"mt-1"},Rr={key:6,class:"space-y-2"},Fr={class:"text-sm font-medium flex items-center gap-2 text-red-600 dark:text-red-400"},qr={class:"space-y-2 max-h-32 overflow-y-auto"};var $r={__name:"StepDetailsModal",props:{step:{type:Object,required:!0},index:{type:Number,required:!0}},emits:["close"],setup(e){const t=e,s=(0,a.Fl)((()=>{switch(t.step.status){case"success":return Ve.Z;case"failed":return _s.Z;case"skipped":return wa.Z;case"not-started":return ha.Z;default:return ha.Z}})),o=(0,a.Fl)((()=>{switch(t.step.status){case"success":return"text-green-600 dark:text-green-400";case"failed":return"text-red-600 dark:text-red-400";case"skipped":return"text-gray-600 dark:text-gray-400";default:return"text-blue-600 dark:text-blue-400"}}));return(t,u)=>((0,a.wg)(),(0,a.iD)("div",{class:"fixed inset-0 bg-black/50 backdrop-blur-sm flex items-center justify-center p-4 z-50",onClick:u[2]||(u[2]=e=>t.$emit("close"))},[(0,a._)("div",{class:"bg-background border rounded-lg shadow-lg max-w-2xl w-full max-h-[80vh] overflow-hidden",onClick:u[1]||(u[1]=(0,l.iM)((()=>{}),["stop"]))},[(0,a._)("div",er,[(0,a._)("div",null,[(0,a._)("h2",tr,[((0,a.wg)(),(0,a.j4)((0,a.LL)(s.value),{class:(0,r.C_)([o.value,"w-5 h-5"])},null,8,["class"])),(0,a.Uk)(" "+(0,r.zw)(e.step.name),1)]),(0,a._)("p",sr," Step "+(0,r.zw)(e.index+1)+" • "+(0,r.zw)((0,n.SU)(ba)(e.step.duration)),1)]),(0,a.Wm)((0,n.SU)(h),{variant:"ghost",size:"icon",onClick:u[0]||(u[0]=e=>t.$emit("close"))},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(d.Z),{class:"w-4 h-4"})])),_:1})]),(0,a._)("div",lr,[e.step.isAlwaysRun?((0,a.wg)(),(0,a.iD)("div",ar,[(0,a._)("div",rr,[(0,a.Wm)((0,n.SU)(xa.Z),{class:"w-4 h-4 text-blue-600 dark:text-blue-400"}),u[3]||(u[3]=(0,a._)("div",null,[(0,a._)("p",{class:"text-sm font-medium text-blue-900 dark:text-blue-200"},"Always Run"),(0,a._)("p",{class:"text-xs text-blue-600 dark:text-blue-400"},"This endpoint is configured to execute even after failures")],-1))])])):(0,a.kq)("",!0),e.step.errors?.length?((0,a.wg)(),(0,a.iD)("div",nr,[(0,a._)("h3",or,[(0,a.Wm)((0,n.SU)(Oe.Z),{class:"w-4 h-4"}),(0,a.Uk)(" Errors ("+(0,r.zw)(e.step.errors.length)+") ",1)]),(0,a._)("div",ur,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(e.step.errors,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{key:t,class:"p-3 bg-red-50 dark:bg-red-900/50 border border-red-200 dark:border-red-700 rounded text-sm font-mono text-red-800 dark:text-red-300 break-all"},(0,r.zw)(e),1)))),128))])])):(0,a.kq)("",!0),e.step.result&&e.step.result.timestamp?((0,a.wg)(),(0,a.iD)("div",ir,[(0,a._)("h3",dr,[(0,a.Wm)((0,n.SU)(Ja.Z),{class:"w-4 h-4"}),u[4]||(u[4]=(0,a.Uk)(" Timestamp ",-1))]),(0,a._)("p",cr,(0,r.zw)((0,n.SU)(A)(e.step.result.timestamp)),1)])):(0,a.kq)("",!0),e.step.result?((0,a.wg)(),(0,a.iD)("div",gr,[(0,a._)("h3",pr,[(0,a.Wm)((0,n.SU)(Qa.Z),{class:"w-4 h-4"}),u[5]||(u[5]=(0,a.Uk)(" Response ",-1))]),(0,a._)("div",mr,[(0,a._)("div",null,[u[6]||(u[6]=(0,a._)("span",{class:"text-muted-foreground"},"Duration:",-1)),(0,a._)("p",vr,(0,r.zw)((0,n.SU)(ba)(e.step.result.duration)),1)]),(0,a._)("div",null,[u[7]||(u[7]=(0,a._)("span",{class:"text-muted-foreground"},"Success:",-1)),(0,a._)("p",{class:(0,r.C_)(["mt-1",e.step.result.success?"text-green-600 dark:text-green-400":"text-red-600 dark:text-red-400"])},(0,r.zw)(e.step.result.success?"Yes":"No"),3)])])])):(0,a.kq)("",!0),e.step.result?.conditionResults?.length?((0,a.wg)(),(0,a.iD)("div",fr,[(0,a._)("h3",wr,[(0,a.Wm)((0,n.SU)(Ve.Z),{class:"w-4 h-4"}),(0,a.Uk)(" Condition Results ("+(0,r.zw)(e.step.result.conditionResults.length)+") ",1)]),(0,a._)("div",xr,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(e.step.result.conditionResults,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{key:t,class:(0,r.C_)(["flex items-start gap-3 p-1 rounded-lg border",e.success?"bg-green-50 dark:bg-green-900/30 border-green-200 dark:border-green-700":"bg-red-50 dark:bg-red-900/30 border-red-200 dark:border-red-700"])},[(0,a._)("div",hr,[e.success?((0,a.wg)(),(0,a.j4)((0,n.SU)(Ve.Z),{key:0,class:"w-4 h-4 text-green-600 dark:text-green-400"})):((0,a.wg)(),(0,a.j4)((0,n.SU)(_s.Z),{key:1,class:"w-4 h-4 text-red-600 dark:text-red-400"}))]),(0,a._)("div",br,[(0,a._)("p",{class:(0,r.C_)(["text-sm font-mono break-all",e.success?"text-green-800 dark:text-green-200":"text-red-800 dark:text-red-200"])},(0,r.zw)(e.condition),3),(0,a._)("span",{class:(0,r.C_)(["text-xs font-medium whitespace-nowrap",e.success?"text-green-600 dark:text-green-400":"text-red-600 dark:text-red-400"])},(0,r.zw)(e.success?"Passed":"Failed"),3)])],2)))),128))])])):(0,a.kq)("",!0),e.step.endpoint?((0,a.wg)(),(0,a.iD)("div",yr,[(0,a._)("h3",kr,[(0,a.Wm)((0,n.SU)(Xa.Z),{class:"w-4 h-4"}),u[8]||(u[8]=(0,a.Uk)(" Endpoint Configuration ",-1))]),(0,a._)("div",_r,[e.step.endpoint.url?((0,a.wg)(),(0,a.iD)("div",Sr,[u[9]||(u[9]=(0,a._)("span",{class:"text-muted-foreground"},"URL:",-1)),(0,a._)("p",Dr,(0,r.zw)(e.step.endpoint.url),1)])):(0,a.kq)("",!0),e.step.endpoint.method?((0,a.wg)(),(0,a.iD)("div",Ur,[u[10]||(u[10]=(0,a._)("span",{class:"text-muted-foreground"},"Method:",-1)),(0,a._)("p",zr,(0,r.zw)(e.step.endpoint.method),1)])):(0,a.kq)("",!0),e.step.endpoint.interval?((0,a.wg)(),(0,a.iD)("div",Wr,[u[11]||(u[11]=(0,a._)("span",{class:"text-muted-foreground"},"Interval:",-1)),(0,a._)("p",Cr,(0,r.zw)(e.step.endpoint.interval),1)])):(0,a.kq)("",!0),e.step.endpoint.timeout?((0,a.wg)(),(0,a.iD)("div",jr,[u[12]||(u[12]=(0,a._)("span",{class:"text-muted-foreground"},"Timeout:",-1)),(0,a._)("p",Hr,(0,r.zw)(e.step.endpoint.timeout),1)])):(0,a.kq)("",!0)])])):(0,a.kq)("",!0),e.step.result?.errors?.length?((0,a.wg)(),(0,a.iD)("div",Rr,[(0,a._)("h3",Fr,[(0,a.Wm)((0,n.SU)(Oe.Z),{class:"w-4 h-4"}),(0,a.Uk)(" Result Errors ("+(0,r.zw)(e.step.result.errors.length)+") ",1)]),(0,a._)("div",qr,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(e.step.result.errors,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{key:t,class:"p-3 bg-red-50 dark:bg-red-900/50 border border-red-200 dark:border-red-700 rounded text-sm font-mono text-red-800 dark:text-red-300 break-all"},(0,r.zw)(e),1)))),128))])])):(0,a.kq)("",!0)])])]))}};const Zr=$r;var Tr=Zr;const Er={class:"suite-details-container bg-background min-h-screen"},Lr={class:"container mx-auto px-4 py-8 max-w-7xl"},Ar={class:"mb-6"},Nr={class:"flex items-start justify-between"},Mr={class:"text-3xl font-bold tracking-tight"},Ir={class:"text-muted-foreground mt-2"},Yr={key:0},Or={key:1},Kr={class:"flex items-center gap-2"},Pr={key:0,class:"flex items-center justify-center py-20"},Vr={key:1,class:"text-center py-20"},Gr={key:2,class:"space-y-6"},Br={class:"space-y-4"},Jr={class:"grid grid-cols-2 md:grid-cols-4 gap-4"},Qr={class:"text-lg font-medium"},Xr={class:"text-lg font-medium"},en={class:"text-lg font-medium"},tn={class:"text-lg font-medium"},sn={class:"mt-6"},ln={key:0,class:"mt-6"},an={class:"space-y-2"},rn={key:0,class:"space-y-2"},nn=["onClick"],on={class:"flex items-center gap-3"},un={class:"text-sm font-medium"},dn={class:"text-xs text-muted-foreground"},cn={key:1,class:"text-center py-8 text-muted-foreground"};var gn={__name:"SuiteDetails",setup(e){const t=(0,u.tv)(),s=(0,u.yj)(),l=(0,n.iH)(!1),o=(0,n.iH)(null),i=(0,n.iH)(null),d=(0,n.iH)(null),c=(0,n.iH)(0),g=(0,a.Fl)((()=>o.value&&o.value.results&&0!==o.value.results.length?[...o.value.results].sort(((e,t)=>new Date(t.timestamp)-new Date(e.timestamp))):[])),p=(0,a.Fl)((()=>o.value&&o.value.results&&0!==o.value.results.length?i.value||g.value[0]:null)),m=async()=>{l.value=!0;try{const e=await fetch(`${xn}/api/v1/suites/${s.params.key}/statuses`,{credentials:"include"});if(200===e.status){const t=await e.json();if(o.value=t,t.results&&t.results.length>0&&!i.value){const e=[...t.results].sort(((e,t)=>new Date(t.timestamp)-new Date(e.timestamp)));i.value=e[0]}}else 404===e.status?o.value=null:console.error("[SuiteDetails][fetchData] Error:",await e.text())}catch(e){console.error("[SuiteDetails][fetchData] Error:",e)}finally{l.value=!1}},v=()=>{m()},f=()=>{t.push("/")},w=e=>E(e),x=e=>{const t=new Date(e);return t.toLocaleString()},b=e=>{if(!e&&0!==e)return"N/A";const t=e/1e6;return t<1e3?`${t.toFixed(0)}ms`:`${(t/1e3).toFixed(2)}s`},y=e=>{if(!e||!e.endpointResults||0===e.endpointResults.length)return 0;const t=e.endpointResults.filter((e=>e.success)).length;return Math.round(t/e.endpointResults.length*100)},_=(0,a.Fl)((()=>{if(!p.value||!p.value.endpointResults)return[];const e=p.value.endpointResults;return e.map(((t,s)=>{const l=o.value?.endpoints?.[s],a=e[s+1];let r=!1;for(let n=0;n_.value.filter((e=>"success"===e.status)).length)),U=(0,a.Fl)((()=>_.value.length?Math.round(S.value/_.value.length*100):0)),z=e=>e?e.conditionResults&&e.conditionResults.some((e=>e.condition.includes("SKIP")))?"skipped":e.success?"success":"failed":"not-started",C=(e,t)=>{d.value=e,c.value=t};return(0,a.bv)((()=>{m()})),(e,t)=>((0,a.wg)(),(0,a.iD)("div",Er,[(0,a._)("div",Lr,[(0,a._)("div",Ar,[(0,a.Wm)((0,n.SU)(h),{variant:"ghost",size:"sm",onClick:f,class:"mb-4"},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(Sl.Z),{class:"h-4 w-4 mr-2"}),t[1]||(t[1]=(0,a.Uk)(" Back to Dashboard ",-1))])),_:1,__:[1]}),(0,a._)("div",Nr,[(0,a._)("div",null,[(0,a._)("h1",Mr,(0,r.zw)(o.value?.name||"Loading..."),1),(0,a._)("p",Ir,[o.value?.group?((0,a.wg)(),(0,a.iD)("span",Yr,(0,r.zw)(o.value.group)+" • ",1)):(0,a.kq)("",!0),p.value?((0,a.wg)(),(0,a.iD)("span",Or,(0,r.zw)(i.value&&i.value!==g.value[0]?"Ran":"Last run")+" "+(0,r.zw)(w(p.value.timestamp)),1)):(0,a.kq)("",!0)])]),(0,a._)("div",Kr,[p.value?((0,a.wg)(),(0,a.j4)(st,{key:0,status:p.value.success?"healthy":"unhealthy"},null,8,["status"])):(0,a.kq)("",!0),(0,a.Wm)((0,n.SU)(h),{variant:"ghost",size:"icon",onClick:v,title:"Refresh"},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(Ye.Z),{class:"h-5 w-5"})])),_:1})])])]),l.value?((0,a.wg)(),(0,a.iD)("div",Pr,[(0,a.Wm)(de,{size:"lg"})])):o.value?((0,a.wg)(),(0,a.iD)("div",Gr,[p.value?((0,a.wg)(),(0,a.j4)((0,n.SU)(k),{key:0},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(D),null,{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(W),null,{default:(0,a.w5)((()=>t[4]||(t[4]=[(0,a.Uk)("Latest Execution",-1)]))),_:1,__:[4]})])),_:1}),(0,a.Wm)((0,n.SU)(H),null,{default:(0,a.w5)((()=>[(0,a._)("div",Br,[(0,a._)("div",Jr,[(0,a._)("div",null,[t[5]||(t[5]=(0,a._)("p",{class:"text-sm text-muted-foreground"},"Status",-1)),(0,a._)("p",Qr,(0,r.zw)(p.value.success?"Success":"Failed"),1)]),(0,a._)("div",null,[t[6]||(t[6]=(0,a._)("p",{class:"text-sm text-muted-foreground"},"Duration",-1)),(0,a._)("p",Xr,(0,r.zw)(b(p.value.duration)),1)]),(0,a._)("div",null,[t[7]||(t[7]=(0,a._)("p",{class:"text-sm text-muted-foreground"},"Endpoints",-1)),(0,a._)("p",en,(0,r.zw)(p.value.endpointResults?.length||0),1)]),(0,a._)("div",null,[t[8]||(t[8]=(0,a._)("p",{class:"text-sm text-muted-foreground"},"Success Rate",-1)),(0,a._)("p",tn,(0,r.zw)(y(p.value))+"%",1)])]),(0,a._)("div",sn,[t[9]||(t[9]=(0,a._)("h3",{class:"text-lg font-semibold mb-4"},"Execution Flow",-1)),(0,a.Wm)(Ba,{"flow-steps":_.value,"progress-percentage":U.value,"completed-steps":S.value,"total-steps":_.value.length,onStepSelected:C},null,8,["flow-steps","progress-percentage","completed-steps","total-steps"])]),p.value.errors&&p.value.errors.length>0?((0,a.wg)(),(0,a.iD)("div",ln,[t[10]||(t[10]=(0,a._)("h3",{class:"text-lg font-semibold mb-3 text-red-500"},"Suite Errors",-1)),(0,a._)("div",an,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(p.value.errors,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{key:t,class:"bg-red-50 dark:bg-red-950 text-red-700 dark:text-red-300 p-3 rounded-md text-sm"},(0,r.zw)(e),1)))),128))])])):(0,a.kq)("",!0)])])),_:1})])),_:1})):(0,a.kq)("",!0),(0,a.Wm)((0,n.SU)(k),null,{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(D),null,{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(W),null,{default:(0,a.w5)((()=>t[11]||(t[11]=[(0,a.Uk)("Execution History",-1)]))),_:1,__:[11]})])),_:1}),(0,a.Wm)((0,n.SU)(H),null,{default:(0,a.w5)((()=>[g.value.length>0?((0,a.wg)(),(0,a.iD)("div",rn,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(g.value,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{key:t,class:(0,r.C_)(["flex items-center justify-between p-3 border rounded-lg hover:bg-accent/50 transition-colors cursor-pointer",{"bg-accent":i.value===e}]),onClick:t=>i.value=e},[(0,a._)("div",on,[(0,a.Wm)(st,{status:e.success?"healthy":"unhealthy",size:"sm"},null,8,["status"]),(0,a._)("div",null,[(0,a._)("p",un,(0,r.zw)(x(e.timestamp)),1),(0,a._)("p",dn,(0,r.zw)(e.endpointResults?.length||0)+" endpoints • "+(0,r.zw)(b(e.duration)),1)])]),(0,a.Wm)((0,n.SU)(Be.Z),{class:"h-4 w-4 text-muted-foreground"})],10,nn)))),128))])):((0,a.wg)(),(0,a.iD)("div",cn," No execution history available "))])),_:1})])),_:1})])):((0,a.wg)(),(0,a.iD)("div",Vr,[(0,a.Wm)((0,n.SU)(Oe.Z),{class:"h-12 w-12 text-muted-foreground mx-auto mb-4"}),t[2]||(t[2]=(0,a._)("h3",{class:"text-lg font-semibold mb-2"},"Suite not found",-1)),t[3]||(t[3]=(0,a._)("p",{class:"text-muted-foreground"},"The requested suite could not be found.",-1))]))]),(0,a.Wm)(ks,{onRefreshData:m}),d.value?((0,a.wg)(),(0,a.j4)(Tr,{key:0,step:d.value,index:c.value,onClose:t[0]||(t[0]=e=>d.value=null)},null,8,["step","index"])):(0,a.kq)("",!0)]))}};const pn=(0,q.Z)(gn,[["__scopeId","data-v-92dafcfe"]]);var mn=pn;const vn=[{path:"/",name:"Home",component:_l},{path:"/endpoints/:key",name:"EndpointDetails",component:fa},{path:"/suites/:key",name:"SuiteDetails",component:mn}],fn=(0,u.p7)({history:(0,u.PO)("/"),routes:vn});var wn=fn;const xn="";(0,l.ri)(Ne).use(wn).mount("#app")}},t={};function s(l){var a=t[l];if(void 0!==a)return a.exports;var r=t[l]={exports:{}};return e[l](r,r.exports,s),r.exports}s.m=e,function(){var e=[];s.O=function(t,l,a,r){if(!l){var n=1/0;for(d=0;d=r)&&Object.keys(s.O).every((function(e){return s.O[e](l[u])}))?l.splice(u--,1):(o=!1,r0&&e[d-1][2]>r;d--)e[d]=e[d-1];e[d]=[l,a,r]}}(),function(){s.d=function(e,t){for(var l in t)s.o(t,l)&&!s.o(e,l)&&Object.defineProperty(e,l,{enumerable:!0,get:t[l]})}}(),function(){s.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){s.p="/"}(),function(){var e={143:0};s.O.j=function(t){return 0===e[t]};var t=function(t,l){var a,r,n=l[0],o=l[1],u=l[2],i=0;if(n.some((function(t){return 0!==e[t]}))){for(a in o)s.o(o,a)&&(s.m[a]=o[a]);if(u)var d=u(s)}for(t&&t(l);i((0,a.wg)(),(0,a.iD)("button",{class:(0,r.C_)((0,n.SU)(v)((0,n.SU)(t)({variant:e.variant,size:e.size}),s.$attrs.class??"")),disabled:e.disabled},[(0,a.WI)(s.$slots,"default")],10,f))}};const x=w;var h=x,b={__name:"Card",setup(e){return(e,t)=>((0,a.wg)(),(0,a.iD)("div",{class:(0,r.C_)((0,n.SU)(v)("rounded-lg border bg-card text-card-foreground shadow-sm",e.$attrs.class??""))},[(0,a.WI)(e.$slots,"default")],2))}};const y=b;var k=y,_={__name:"CardHeader",setup(e){return(e,t)=>((0,a.wg)(),(0,a.iD)("div",{class:(0,r.C_)((0,n.SU)(v)("flex flex-col space-y-1.5 p-6",e.$attrs.class??""))},[(0,a.WI)(e.$slots,"default")],2))}};const S=_;var D=S,U={__name:"CardTitle",setup(e){return(e,t)=>((0,a.wg)(),(0,a.iD)("h3",{class:(0,r.C_)((0,n.SU)(v)("text-2xl font-semibold leading-none tracking-tight",e.$attrs.class??""))},[(0,a.WI)(e.$slots,"default")],2))}};const z=U;var W=z,C={__name:"CardContent",setup(e){return(e,t)=>((0,a.wg)(),(0,a.iD)("div",{class:(0,r.C_)((0,n.SU)(v)("p-6 pt-0",e.$attrs.class??""))},[(0,a.WI)(e.$slots,"default")],2))}};const j=C;var H=j;const R={id:"social"};function F(e,t){return(0,a.wg)(),(0,a.iD)("div",R,t[0]||(t[0]=[(0,a._)("a",{href:"https://github.com/TwiN/gatus",target:"_blank",title:"Gatus on GitHub"},[(0,a._)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 16 16",class:"hover:scale-110"},[(0,a._)("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 q=s(744);const $={},Z=(0,q.Z)($,[["render",F],["__scopeId","data-v-788af9ce"]]);var T=Z;const E=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 s=(t/1e3).toFixed(0);return s+" second"+("1"!==s?"s":"")+" ago"},L=(e,t)=>{let s=Math.ceil((new Date(e)-new Date(t))/1e3/60);return s+(1===s?" minute":" minutes")},A=e=>{let t=new Date(e),s=t.getFullYear(),l=(t.getMonth()+1<10?"0":"")+(t.getMonth()+1),a=(t.getDate()<10?"0":"")+t.getDate(),r=(t.getHours()<10?"0":"")+t.getHours(),n=(t.getMinutes()<10?"0":"")+t.getMinutes(),o=(t.getSeconds()<10?"0":"")+t.getSeconds();return s+"-"+l+"-"+a+" "+r+":"+n+":"+o},N={key:0,class:"space-y-2"},M={key:0,class:"flex items-center gap-2"},I={class:"text-xs font-semibold"},Y={class:"font-mono text-xs"},O={key:1},K={class:"font-mono text-xs"},P={key:0,class:"mt-1 space-y-0.5"},V={class:"truncate"},G={class:"text-muted-foreground"},B={key:0,class:"text-xs text-muted-foreground"},J={class:"text-xs font-semibold text-muted-foreground uppercase tracking-wider"},Q={class:"font-mono text-xs"},X={key:2},ee={class:"font-mono text-xs space-y-0.5"},te={class:"break-all"},se={key:3},le={class:"font-mono text-xs space-y-0.5"};var ae={__name:"Tooltip",props:{event:{type:[Event,Object],default:null},result:{type:Object,default:null}},setup(e){const t=e,s=(0,n.iH)(!0),l=(0,n.iH)(0),o=(0,n.iH)(0),u=(0,n.iH)(null),i=(0,a.Fl)((()=>t.result&&void 0!==t.result.endpointResults)),d=(0,a.Fl)((()=>i.value&&t.result.endpointResults?t.result.endpointResults.length:0)),c=(0,a.Fl)((()=>i.value&&t.result.endpointResults?t.result.endpointResults.filter((e=>e.success)).length:0)),g=async()=>{if(t.event&&t.event.type)if(await(0,a.Y3)(),"mouseenter"===t.event.type&&u.value){const e=t.event.target,r=e.getBoundingClientRect();s.value=!1,await(0,a.Y3)();const n=u.value.getBoundingClientRect();let i=r.bottom+8,d=r.left;const c=window.innerHeight-r.bottom,g=r.top;cn.height+20?r.top-n.height-8:g>c?10:window.innerHeight-n.height-10);const p=window.innerWidth-r.left;pt.event),(e=>{e&&e.type&&("mouseenter"===e.type?(s.value=!1,(0,a.Y3)((()=>g()))):"mouseleave"===e.type&&(s.value=!0))}),{immediate:!0}),(0,a.YP)((()=>t.result),(()=>{s.value||(0,a.Y3)((()=>g()))})),(t,g)=>((0,a.wg)(),(0,a.iD)("div",{id:"tooltip",ref_key:"tooltip",ref:u,class:(0,r.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",s.value?"invisible opacity-0":"visible opacity-100"]),style:(0,r.j5)(`top: ${l.value}px; left: ${o.value}px;`)},[e.result?((0,a.wg)(),(0,a.iD)("div",N,[i.value?((0,a.wg)(),(0,a.iD)("div",M,[(0,a._)("span",{class:(0,r.C_)(["inline-block w-2 h-2 rounded-full",e.result.success?"bg-green-500":"bg-red-500"])},null,2),(0,a._)("span",I,(0,r.zw)(e.result.success?"Suite Passed":"Suite Failed"),1)])):(0,a.kq)("",!0),(0,a._)("div",null,[g[0]||(g[0]=(0,a._)("div",{class:"text-xs font-semibold text-muted-foreground uppercase tracking-wider"},"Timestamp",-1)),(0,a._)("div",Y,(0,r.zw)((0,n.SU)(A)(e.result.timestamp)),1)]),i.value&&e.result.endpointResults?((0,a.wg)(),(0,a.iD)("div",O,[g[1]||(g[1]=(0,a._)("div",{class:"text-xs font-semibold text-muted-foreground uppercase tracking-wider"},"Endpoints",-1)),(0,a._)("div",K,[(0,a._)("span",{class:(0,r.C_)(c.value===d.value?"text-green-500":"text-yellow-500")},(0,r.zw)(c.value)+"/"+(0,r.zw)(d.value)+" passed ",3)]),e.result.endpointResults.length>0?((0,a.wg)(),(0,a.iD)("div",P,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(e.result.endpointResults.slice(0,5),((e,t)=>((0,a.wg)(),(0,a.iD)("div",{key:t,class:"flex items-center gap-1 text-xs"},[(0,a._)("span",{class:(0,r.C_)(e.success?"text-green-500":"text-red-500")},(0,r.zw)(e.success?"✓":"✗"),3),(0,a._)("span",V,(0,r.zw)(e.name),1),(0,a._)("span",G,"("+(0,r.zw)((e.duration/1e6).toFixed(0))+"ms)",1)])))),128)),e.result.endpointResults.length>5?((0,a.wg)(),(0,a.iD)("div",B," ... and "+(0,r.zw)(e.result.endpointResults.length-5)+" more ",1)):(0,a.kq)("",!0)])):(0,a.kq)("",!0)])):(0,a.kq)("",!0),(0,a._)("div",null,[(0,a._)("div",J,(0,r.zw)(i.value?"Total Duration":"Response Time"),1),(0,a._)("div",Q,(0,r.zw)((i.value,(e.result.duration/1e6).toFixed(0)))+"ms ",1)]),!i.value&&e.result.conditionResults&&e.result.conditionResults.length?((0,a.wg)(),(0,a.iD)("div",X,[g[2]||(g[2]=(0,a._)("div",{class:"text-xs font-semibold text-muted-foreground uppercase tracking-wider"},"Conditions",-1)),(0,a._)("div",ee,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(e.result.conditionResults,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{key:t,class:"flex items-start gap-1"},[(0,a._)("span",{class:(0,r.C_)(e.success?"text-green-500":"text-red-500")},(0,r.zw)(e.success?"✓":"✗"),3),(0,a._)("span",te,(0,r.zw)(e.condition),1)])))),128))])])):(0,a.kq)("",!0),e.result.errors&&e.result.errors.length?((0,a.wg)(),(0,a.iD)("div",se,[g[3]||(g[3]=(0,a._)("div",{class:"text-xs font-semibold text-muted-foreground uppercase tracking-wider"},"Errors",-1)),(0,a._)("div",le,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(e.result.errors,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{key:t,class:"text-red-500"}," • "+(0,r.zw)(e),1)))),128))])])):(0,a.kq)("",!0)])):(0,a.kq)("",!0)],6))}};const re=ae;var ne=re;const oe={class:"flex justify-center items-center"};var ue={__name:"Loading",props:{size:{type:String,default:"md",validator:e=>["xs","sm","md","lg","xl"].includes(e)}},setup(e){const t=e,s=(0,a.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,a.wg)(),(0,a.iD)("div",oe,[(0,a._)("img",{class:(0,r.C_)(["animate-spin rounded-full opacity-60 grayscale",s.value]),src:o,alt:"Gatus logo"},null,2)]))}};const ie=ue;var de=ie;const ce={id:"global",class:"bg-background text-foreground"},ge={key:0,class:"flex items-center justify-center min-h-screen"},pe={key:1,class:"relative"},me={class:"border-b bg-card/50 backdrop-blur supports-[backdrop-filter]:bg-card/60"},ve={class:"container mx-auto px-4 py-4 max-w-7xl"},fe={class:"flex items-center justify-between"},we={class:"flex items-center gap-4"},xe={class:"w-12 h-12 flex items-center justify-center"},he=["src"],be={key:1,src:o,alt:"Gatus",class:"w-full h-full object-contain"},ye={class:"text-2xl font-bold tracking-tight"},ke={key:0,class:"text-sm text-muted-foreground"},_e={class:"flex items-center gap-2"},Se={key:0,class:"hidden md:flex items-center gap-1"},De=["href"],Ue={key:0,class:"md:hidden mt-4 pt-4 border-t space-y-1"},ze=["href"],We={class:"relative"},Ce={class:"border-t mt-auto"},je={class:"container mx-auto px-4 py-6 max-w-7xl"},He={class:"flex flex-col items-center gap-4"},Re={key:2,id:"login-container",class:"flex items-center justify-center min-h-screen p-4"},Fe={key:0,class:"mb-6"},qe={class:"p-3 rounded-md bg-destructive/10 border border-destructive/20"},$e={class:"text-sm text-destructive text-center"},Ze={key:0},Te={key:1},Ee=["href"];var Le={__name:"App",setup(e){const t=(0,u.yj)(),s=(0,n.iH)(!1),l=(0,n.iH)({oidc:!1,authenticated:!0}),g=(0,n.iH)([]),p=(0,n.iH)({}),m=(0,n.iH)(!1),v=(0,n.iH)(!1);let f=null;const w=(0,a.Fl)((()=>window.config&&window.config.logo&&"{{ .UI.Logo }}"!==window.config.logo?window.config.logo:"")),x=(0,a.Fl)((()=>window.config&&window.config.header&&"{{ .UI.Header }}"!==window.config.header?window.config.header:"Gatus")),b=(0,a.Fl)((()=>window.config&&window.config.link&&"{{ .UI.Link }}"!==window.config.link?window.config.link:null)),y=(0,a.Fl)((()=>window.config&&window.config.buttons?window.config.buttons:[])),_=async()=>{try{const e=await fetch(`${xn}/api/v1/config`,{credentials:"include"});if(s.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),s.value=!0}},S=(e,t)=>{p.value={result:e,event:t}};return(0,a.bv)((()=>{_(),f=setInterval(_,6e5)})),(0,a.Ah)((()=>{f&&(clearInterval(f),f=null)})),(e,u)=>{const f=(0,a.up)("router-view");return(0,a.wg)(),(0,a.iD)("div",ce,[s.value?l.value&&l.value.oidc&&!l.value.authenticated?((0,a.wg)(),(0,a.iD)("div",Re,[(0,a.Wm)((0,n.SU)(k),{class:"w-full max-w-md"},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(D),{class:"text-center"},{default:(0,a.w5)((()=>[u[5]||(u[5]=(0,a._)("img",{src:o,alt:"Gatus",class:"w-20 h-20 mx-auto mb-4"},null,-1)),(0,a.Wm)((0,n.SU)(W),{class:"text-3xl"},{default:(0,a.w5)((()=>u[4]||(u[4]=[(0,a.Uk)("Gatus",-1)]))),_:1,__:[4]}),u[6]||(u[6]=(0,a._)("p",{class:"text-muted-foreground mt-2"},"System Monitoring Dashboard",-1))])),_:1,__:[5,6]}),(0,a.Wm)((0,n.SU)(H),null,{default:(0,a.w5)((()=>[(0,n.SU)(t)&&(0,n.SU)(t).query.error?((0,a.wg)(),(0,a.iD)("div",Fe,[(0,a._)("div",qe,[(0,a._)("p",$e,["access_denied"===(0,n.SU)(t).query.error?((0,a.wg)(),(0,a.iD)("span",Ze," You do not have access to this status page ")):((0,a.wg)(),(0,a.iD)("span",Te,(0,r.zw)((0,n.SU)(t).query.error),1))])])])):(0,a.kq)("",!0),(0,a._)("a",{href:`${(0,n.SU)(xn)}/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:u[2]||(u[2]=e=>v.value=!0)},[v.value?((0,a.wg)(),(0,a.j4)(de,{key:0,size:"xs"})):((0,a.wg)(),(0,a.iD)(a.HY,{key:1},[(0,a.Wm)((0,n.SU)(c.Z),{class:"mr-2 h-4 w-4"}),u[7]||(u[7]=(0,a.Uk)(" Login with OIDC ",-1))],64))],8,Ee)])),_:1})])),_:1})])):((0,a.wg)(),(0,a.iD)("div",pe,[(0,a._)("header",me,[(0,a._)("div",ve,[(0,a._)("div",fe,[(0,a._)("div",we,[((0,a.wg)(),(0,a.j4)((0,a.LL)(b.value?"a":"div"),{href:b.value,target:"_blank",class:"flex items-center gap-3 hover:opacity-80 transition-opacity"},{default:(0,a.w5)((()=>[(0,a._)("div",xe,[w.value?((0,a.wg)(),(0,a.iD)("img",{key:0,src:w.value,alt:"Gatus",class:"w-full h-full object-contain"},null,8,he)):((0,a.wg)(),(0,a.iD)("img",be))]),(0,a._)("div",null,[(0,a._)("h1",ye,(0,r.zw)(x.value),1),y.value&&y.value.length?((0,a.wg)(),(0,a.iD)("p",ke," System Monitoring Dashboard ")):(0,a.kq)("",!0)])])),_:1},8,["href"]))]),(0,a._)("div",_e,[y.value&&y.value.length?((0,a.wg)(),(0,a.iD)("nav",Se,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(y.value,(e=>((0,a.wg)(),(0,a.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,r.zw)(e.name),9,De)))),128))])):(0,a.kq)("",!0),y.value&&y.value.length?((0,a.wg)(),(0,a.j4)((0,n.SU)(h),{key:1,variant:"ghost",size:"icon",class:"md:hidden",onClick:u[0]||(u[0]=e=>m.value=!m.value)},{default:(0,a.w5)((()=>[m.value?((0,a.wg)(),(0,a.j4)((0,n.SU)(d.Z),{key:1,class:"h-5 w-5"})):((0,a.wg)(),(0,a.j4)((0,n.SU)(i.Z),{key:0,class:"h-5 w-5"}))])),_:1})):(0,a.kq)("",!0)])]),y.value&&y.value.length&&m.value?((0,a.wg)(),(0,a.iD)("nav",Ue,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(y.value,(e=>((0,a.wg)(),(0,a.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:u[1]||(u[1]=e=>m.value=!1)},(0,r.zw)(e.name),9,ze)))),128))])):(0,a.kq)("",!0)])]),(0,a._)("main",We,[(0,a.Wm)(f,{onShowTooltip:S,announcements:g.value},null,8,["announcements"])]),(0,a._)("footer",Ce,[(0,a._)("div",je,[(0,a._)("div",He,[u[3]||(u[3]=(0,a._)("div",{class:"text-sm text-muted-foreground text-center"},[(0,a.Uk)(" Powered by "),(0,a._)("a",{href:"https://gatus.io",target:"_blank",class:"font-medium text-emerald-800 hover:text-emerald-600"},"Gatus")],-1)),(0,a.Wm)(T)])])])])):((0,a.wg)(),(0,a.iD)("div",ge,[(0,a.Wm)(de,{size:"lg"})])),(0,a.Wm)(ne,{result:p.value.result,event:p.value.event},null,8,["result","event"])])}}};const Ae=Le;var Ne=Ae,Me=s(793),Ie=s(138),Ye=s(254),Oe=s(146),Ke=s(485),Pe=s(893),Ve=s(89),Ge=s(372),Be=s(981),Je={__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(s,l)=>((0,a.wg)(),(0,a.iD)("div",{class:(0,r.C_)((0,n.SU)(v)((0,n.SU)(t)({variant:e.variant}),s.$attrs.class??""))},[(0,a.WI)(s.$slots,"default")],2))}};const Qe=Je;var Xe=Qe,et={__name:"StatusBadge",props:{status:{type:String,required:!0,validator:e=>["healthy","unhealthy","degraded","unknown"].includes(e)}},setup(e){const t=e,s=(0,a.Fl)((()=>{switch(t.status){case"healthy":return"success";case"unhealthy":return"destructive";case"degraded":return"warning";default:return"secondary"}})),l=(0,a.Fl)((()=>{switch(t.status){case"healthy":return"Healthy";case"unhealthy":return"Unhealthy";case"degraded":return"Degraded";default:return"Unknown"}})),o=(0,a.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,a.wg)(),(0,a.j4)((0,n.SU)(Xe),{variant:s.value,class:"flex items-center gap-1"},{default:(0,a.w5)((()=>[(0,a._)("span",{class:(0,r.C_)(["w-2 h-2 rounded-full",o.value])},null,2),(0,a.Uk)(" "+(0,r.zw)(l.value),1)])),_:1},8,["variant"]))}};const tt=et;var st=tt;const lt={class:"flex items-start justify-between gap-2 sm:gap-3"},at={class:"flex-1 min-w-0 overflow-hidden"},rt=["title","aria-label"],nt={class:"flex items-center gap-2 text-xs sm:text-sm text-muted-foreground min-h-[1.25rem]"},ot=["title"],ut={key:1},it=["title"],dt={class:"flex-shrink-0 ml-2"},ct={class:"space-y-2"},gt={class:"flex items-center justify-between mb-1"},pt=["title"],mt={class:"flex gap-0.5"},vt=["onMouseenter","onMouseleave"],ft={class:"flex items-center justify-between text-xs text-muted-foreground mt-1"};var wt={__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 s=(0,u.tv)(),o=e,i=t,d=(0,a.Fl)((()=>o.endpoint.results&&0!==o.endpoint.results.length?o.endpoint.results[o.endpoint.results.length-1]:null)),c=(0,a.Fl)((()=>d.value?d.value.success?"healthy":"unhealthy":"unknown")),g=(0,a.Fl)((()=>d.value?.hostname||null)),p=(0,a.Fl)((()=>{const e=[...o.endpoint.results||[]];while(e.length{if(!o.endpoint.results||0===o.endpoint.results.length)return"N/A";let e=0,t=0,s=1/0,l=0;for(const a of o.endpoint.results)if(a.duration){const r=a.duration/1e6;e+=r,t++,s=Math.min(s,r),l=Math.max(l,r)}if(0===t)return"N/A";if(o.showAverageResponseTime){const s=Math.round(e/t);return`~${s}ms`}{const e=Math.round(s),t=Math.round(l);return e===t?`${e}ms`:`${e}-${t}ms`}})),v=(0,a.Fl)((()=>o.endpoint.results&&0!==o.endpoint.results.length?E(o.endpoint.results[0].timestamp):"")),f=(0,a.Fl)((()=>o.endpoint.results&&0!==o.endpoint.results.length?E(o.endpoint.results[o.endpoint.results.length-1].timestamp):"")),w=()=>{s.push(`/endpoints/${o.endpoint.key}`)};return(t,s)=>((0,a.wg)(),(0,a.j4)((0,n.SU)(k),{class:"endpoint h-full flex flex-col transition hover:shadow-lg hover:scale-[1.01] dark:hover:border-gray-700"},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(D),{class:"endpoint-header px-3 sm:px-6 pt-3 sm:pt-6 pb-2 space-y-0"},{default:(0,a.w5)((()=>[(0,a._)("div",lt,[(0,a._)("div",at,[(0,a.Wm)((0,n.SU)(W),{class:"text-base sm:text-lg truncate"},{default:(0,a.w5)((()=>[(0,a._)("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,r.zw)(e.endpoint.name),41,rt)])),_:1}),(0,a._)("div",nt,[e.endpoint.group?((0,a.wg)(),(0,a.iD)("span",{key:0,class:"truncate",title:e.endpoint.group},(0,r.zw)(e.endpoint.group),9,ot)):(0,a.kq)("",!0),e.endpoint.group&&g.value?((0,a.wg)(),(0,a.iD)("span",ut,"•")):(0,a.kq)("",!0),g.value?((0,a.wg)(),(0,a.iD)("span",{key:2,class:"truncate",title:g.value},(0,r.zw)(g.value),9,it)):(0,a.kq)("",!0)])]),(0,a._)("div",dt,[(0,a.Wm)(st,{status:c.value},null,8,["status"])])])])),_:1}),(0,a.Wm)((0,n.SU)(H),{class:"endpoint-content flex-1 pb-3 sm:pb-4 px-3 sm:px-6 pt-2"},{default:(0,a.w5)((()=>[(0,a._)("div",ct,[(0,a._)("div",null,[(0,a._)("div",gt,[s[0]||(s[0]=(0,a._)("div",{class:"flex-1"},null,-1)),(0,a._)("p",{class:"text-xs text-muted-foreground",title:e.showAverageResponseTime?"Average response time":"Minimum and maximum response time"},(0,r.zw)(m.value),9,pt)]),(0,a._)("div",mt,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(p.value,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{key:t,class:(0,r.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&&i("showTooltip",e,t),onMouseleave:t=>e&&i("showTooltip",null,t)},null,42,vt)))),128))]),(0,a._)("div",ft,[(0,a._)("span",null,(0,r.zw)(v.value),1),(0,a._)("span",null,(0,r.zw)(f.value),1)])])])])),_:1})])),_:1}))}};const xt=wt;var ht=xt;const bt={class:"flex items-start justify-between gap-2 sm:gap-3"},yt={class:"flex-1 min-w-0 overflow-hidden"},kt=["title","aria-label"],_t={class:"flex items-center gap-2 text-xs sm:text-sm text-muted-foreground"},St=["title"],Dt={key:1},Ut={key:2},zt={class:"flex-shrink-0 ml-2"},Wt={class:"space-y-2"},Ct={class:"flex items-center justify-between mb-1"},jt={class:"text-xs text-muted-foreground"},Ht={key:0,class:"text-xs text-muted-foreground"},Rt={class:"flex gap-0.5"},Ft=["onMouseenter"],qt={class:"flex items-center justify-between text-xs text-muted-foreground mt-1"};var $t={__name:"SuiteCard",props:{suite:{type:Object,required:!0},maxResults:{type:Number,default:50}},emits:["showTooltip"],setup(e,{emit:t}){const s=(0,u.tv)(),o=e,i=t,d=(0,a.Fl)((()=>{const e=[...o.suite.results||[]];while(e.lengtho.suite.results&&0!==o.suite.results.length?o.suite.results[o.suite.results.length-1].success?"healthy":"unhealthy":"unknown")),g=(0,a.Fl)((()=>{if(!o.suite.results||0===o.suite.results.length)return 0;const e=o.suite.results[o.suite.results.length-1];return e.endpointResults?e.endpointResults.length:0})),p=(0,a.Fl)((()=>{if(!o.suite.results||0===o.suite.results.length)return 0;const e=o.suite.results.filter((e=>e.success)).length;return Math.round(e/o.suite.results.length*100)})),m=(0,a.Fl)((()=>{if(!o.suite.results||0===o.suite.results.length)return null;const e=o.suite.results.reduce(((e,t)=>e+(t.duration||0)),0);return Math.round(e/o.suite.results.length/1e6)})),v=(0,a.Fl)((()=>{if(!o.suite.results||0===o.suite.results.length)return"N/A";const e=o.suite.results[0];return E(e.timestamp)})),f=(0,a.Fl)((()=>{if(!o.suite.results||0===o.suite.results.length)return"Now";const e=o.suite.results[o.suite.results.length-1];return E(e.timestamp)})),w=()=>{s.push(`/suites/${o.suite.key}`)},x=(e,t)=>{i("showTooltip",e,t)},h=e=>{i("showTooltip",null,e)};return(t,s)=>((0,a.wg)(),(0,a.j4)((0,n.SU)(k),{class:"suite h-full flex flex-col transition hover:shadow-lg hover:scale-[1.01] dark:hover:border-gray-700"},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(D),{class:"suite-header px-3 sm:px-6 pt-3 sm:pt-6 pb-2 space-y-0"},{default:(0,a.w5)((()=>[(0,a._)("div",bt,[(0,a._)("div",yt,[(0,a.Wm)((0,n.SU)(W),{class:"text-base sm:text-lg truncate"},{default:(0,a.w5)((()=>[(0,a._)("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.suite.name,role:"link",tabindex:"0","aria-label":`View details for suite ${e.suite.name}`},(0,r.zw)(e.suite.name),41,kt)])),_:1}),(0,a._)("div",_t,[e.suite.group?((0,a.wg)(),(0,a.iD)("span",{key:0,class:"truncate",title:e.suite.group},(0,r.zw)(e.suite.group),9,St)):(0,a.kq)("",!0),e.suite.group&&g.value?((0,a.wg)(),(0,a.iD)("span",Dt,"•")):(0,a.kq)("",!0),g.value?((0,a.wg)(),(0,a.iD)("span",Ut,(0,r.zw)(g.value)+" endpoint"+(0,r.zw)(1!==g.value?"s":""),1)):(0,a.kq)("",!0)])]),(0,a._)("div",zt,[(0,a.Wm)(st,{status:c.value},null,8,["status"])])])])),_:1}),(0,a.Wm)((0,n.SU)(H),{class:"suite-content flex-1 pb-3 sm:pb-4 px-3 sm:px-6 pt-2"},{default:(0,a.w5)((()=>[(0,a._)("div",Wt,[(0,a._)("div",null,[(0,a._)("div",Ct,[(0,a._)("p",jt,"Success Rate: "+(0,r.zw)(p.value)+"%",1),m.value?((0,a.wg)(),(0,a.iD)("p",Ht,(0,r.zw)(m.value)+"ms avg",1)):(0,a.kq)("",!0)]),(0,a._)("div",Rt,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(d.value,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{key:t,class:(0,r.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&&x(e,t),onMouseleave:s[0]||(s[0]=e=>h(e))},null,42,Ft)))),128))]),(0,a._)("div",qt,[(0,a._)("span",null,(0,r.zw)(f.value),1),(0,a._)("span",null,(0,r.zw)(v.value),1)])])])])),_:1})])),_:1}))}};const Zt=(0,q.Z)($t,[["__scopeId","data-v-648070e3"]]);var Tt=Zt,Et=s(275);const Lt=["value"];var At={__name:"Input",props:{modelValue:{type:[String,Number],default:""}},emits:["update:modelValue"],setup(e){return(t,s)=>((0,a.wg)(),(0,a.iD)("input",{class:(0,r.C_)((0,n.SU)(v)("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:s[0]||(s[0]=e=>t.$emit("update:modelValue",e.target.value))},null,42,Lt))}};const Nt=At;var Mt=Nt,It=s(368);const Yt=["aria-expanded","aria-label"],Ot={class:"truncate"},Kt={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"},Pt={class:"p-1"},Vt=["onClick","aria-selected"],Gt={class:"absolute left-1.5 sm:left-2 flex h-3.5 w-3.5 items-center justify-center"};var Bt={__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 s=e,l=t,o=(0,n.iH)(!1),u=(0,n.iH)(null),i=(0,n.iH)(-1),d=(0,a.Fl)((()=>s.options.find((e=>e.value===s.modelValue))||{label:s.placeholder,value:""})),c=e=>{l("update:modelValue",e.value),o.value=!1},g=()=>{if(o.value=!o.value,o.value){const e=s.options.findIndex((e=>e.value===s.modelValue));i.value=e>=0?e:0}else i.value=-1},p=e=>{u.value&&!u.value.contains(e.target)&&(o.value=!1,i.value=-1)},m=e=>{if(o.value)switch(e.key){case"ArrowDown":e.preventDefault(),i.value=Math.min(i.value+1,s.options.length-1);break;case"ArrowUp":e.preventDefault(),i.value=Math.max(i.value-1,0);break;case"Enter":case" ":e.preventDefault(),i.value>=0&&i.value{document.addEventListener("click",p)})),(0,a.Ah)((()=>{document.removeEventListener("click",p)})),(t,l)=>((0,a.wg)(),(0,a.iD)("div",{ref_key:"selectRef",ref:u,class:(0,r.C_)(["relative",s.class])},[(0,a._)("button",{onClick:g,onKeydown:m,"aria-expanded":o.value,"aria-haspopup":!0,"aria-label":d.value.label||s.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,a._)("span",Ot,(0,r.zw)(d.value.label),1),(0,a.Wm)((0,n.SU)(Ke.Z),{class:"h-3 w-3 sm:h-4 sm:w-4 opacity-50 flex-shrink-0 ml-1"})],40,Yt),o.value?((0,a.wg)(),(0,a.iD)("div",Kt,[(0,a._)("div",Pt,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(e.options,((t,s)=>((0,a.wg)(),(0,a.iD)("div",{key:t.value,onClick:e=>c(t),class:(0,r.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",s===i.value&&"bg-accent text-accent-foreground"]),role:"option","aria-selected":e.modelValue===t.value},[(0,a._)("span",Gt,[e.modelValue===t.value?((0,a.wg)(),(0,a.j4)((0,n.SU)(It.Z),{key:0,class:"h-3 w-3 sm:h-4 sm:w-4"})):(0,a.kq)("",!0)]),(0,a.Uk)(" "+(0,r.zw)(t.label),1)],10,Vt)))),128))])])):(0,a.kq)("",!0)],2))}};const Jt=Bt;var Qt=Jt;const Xt={class:"flex flex-col lg:flex-row gap-3 lg:gap-4 p-3 sm:p-4 bg-card rounded-lg border"},es={class:"flex-1"},ts={class:"relative"},ss={class:"flex flex-col sm:flex-row gap-3 sm:gap-4"},ls={class:"flex items-center gap-2 flex-1 sm:flex-initial"},as={class:"flex items-center gap-2 flex-1 sm:flex-initial"};var rs={__name:"SearchBar",emits:["search","update:showOnlyFailing","update:showRecentFailures","update:groupByGroup","update:sortBy","initializeCollapsedGroups"],setup(e,{emit:t}){const s=(0,n.iH)(""),l=(0,n.iH)(localStorage.getItem("gatus:filter-by")||"undefined"!==typeof window&&window.config?.defaultFilterBy||"none"),r=(0,n.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"}],u=[{label:"Name",value:"name"},{label:"Group",value:"group"},{label:"Health",value:"health"}],i=t,d=e=>{l.value=e,localStorage.setItem("gatus:filter-by",e),i("update:showOnlyFailing",!1),i("update:showRecentFailures",!1),"failing"===e?i("update:showOnlyFailing",!0):"unstable"===e&&i("update:showRecentFailures",!0)},c=e=>{r.value=e,localStorage.setItem("gatus:sort-by",e),i("update:sortBy",e),i("update:groupByGroup","group"===e),"group"===e&&i("initializeCollapsedGroups")};return(0,a.bv)((()=>{d(l.value),c(r.value)})),(e,t)=>((0,a.wg)(),(0,a.iD)("div",Xt,[(0,a._)("div",es,[(0,a._)("div",ts,[(0,a.Wm)((0,n.SU)(Et.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,a._)("label",{for:"search-input",class:"sr-only"},"Search endpoints",-1)),(0,a.Wm)((0,n.SU)(Mt),{id:"search-input",modelValue:s.value,"onUpdate:modelValue":t[0]||(t[0]=e=>s.value=e),type:"text",placeholder:"Search endpoints...",class:"pl-10 text-sm sm:text-base",onInput:t[1]||(t[1]=t=>e.$emit("search",s.value))},null,8,["modelValue"])])]),(0,a._)("div",ss,[(0,a._)("div",ls,[t[5]||(t[5]=(0,a._)("label",{class:"text-xs sm:text-sm font-medium text-muted-foreground whitespace-nowrap"},"Filter by:",-1)),(0,a.Wm)((0,n.SU)(Qt),{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,a._)("div",as,[t[6]||(t[6]=(0,a._)("label",{class:"text-xs sm:text-sm font-medium text-muted-foreground whitespace-nowrap"},"Sort by:",-1)),(0,a.Wm)((0,n.SU)(Qt),{modelValue:r.value,"onUpdate:modelValue":[t[3]||(t[3]=e=>r.value=e),c],options:u,placeholder:"Name",class:"flex-1 sm:w-[90px] md:w-[100px]"},null,8,["modelValue"])])])]))}};const ns=rs;var os=ns,us=s(789),is=s(679);const ds={id:"settings",class:"fixed bottom-4 left-4 z-50"},cs={class:"flex items-center gap-1 bg-background/95 backdrop-blur-sm border rounded-full shadow-md p-1"},gs=["aria-label","aria-expanded"],ps={class:"text-xs font-medium"},ms=["onClick"],vs=["aria-label"],fs={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"},ws="300",xs="theme",hs=31536e3;var bs={__name:"Settings",emits:["refreshData"],setup(e,{emit:t}){const s=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"}],u={REFRESH_INTERVAL:"gatus:refresh-interval"};function i(){const e=document.cookie.match(new RegExp(`${xs}=(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(u.REFRESH_INTERVAL),t=e&&parseInt(e),s=t&&t>=10&&o.some((t=>t.value===e));return s?e:ws}const c=(0,n.iH)(d()),g=(0,n.iH)(i()),p=(0,n.iH)(!1);let m=null;const v=e=>{const t=o.find((t=>t.value===e));return t?t.label:`${e}s`},f=e=>{localStorage.setItem(u.REFRESH_INTERVAL,e),m&&clearInterval(m),m=setInterval((()=>{w()}),1e3*e)},w=()=>{s("refreshData")},x=e=>{c.value=e,p.value=!1,w(),f(e)},h=e=>{const t=document.getElementById("settings");t&&!t.contains(e.target)&&(p.value=!1)},b=e=>{document.cookie=`${xs}=${e}; path=/; max-age=${hs}; samesite=strict`},y=()=>{const e=i()?"light":"dark";b(e),k()},k=()=>{const e=i();g.value=e,document.documentElement.classList.toggle("dark",e)};return(0,a.bv)((()=>{f(c.value),k(),document.addEventListener("click",h)})),(0,a.Ah)((()=>{m&&clearInterval(m),document.removeEventListener("click",h)})),(e,t)=>((0,a.wg)(),(0,a.iD)("div",ds,[(0,a._)("div",cs,[(0,a._)("button",{onClick:t[1]||(t[1]=e=>p.value=!p.value),"aria-label":`Refresh interval: ${v(c.value)}`,"aria-expanded":p.value,class:"flex items-center gap-1.5 px-3 py-1.5 rounded-full hover:bg-accent transition-colors relative"},[(0,a.Wm)((0,n.SU)(Ye.Z),{class:"w-3.5 h-3.5 text-muted-foreground"}),(0,a._)("span",ps,(0,r.zw)(v(c.value)),1),p.value?((0,a.wg)(),(0,a.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,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(o,(e=>(0,a._)("button",{key:e.value,onClick:t=>x(e.value),class:(0,r.C_)(["block w-full px-4 py-2 text-xs text-left hover:bg-accent transition-colors",c.value===e.value&&"bg-accent"])},(0,r.zw)(e.label),11,ms))),64))])):(0,a.kq)("",!0)],8,gs),t[2]||(t[2]=(0,a._)("div",{class:"h-5 w-px bg-border/50"},null,-1)),(0,a._)("button",{onClick:y,"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,a.wg)(),(0,a.j4)((0,n.SU)(us.Z),{key:0,class:"h-3.5 w-3.5 transition-all"})):((0,a.wg)(),(0,a.j4)((0,n.SU)(is.Z),{key:1,class:"h-3.5 w-3.5 transition-all"})),(0,a._)("div",fs,(0,r.zw)(g.value?"Light mode":"Dark mode"),1)],8,vs)])]))}};const ys=(0,q.Z)(bs,[["__scopeId","data-v-482756f8"]]);var ks=ys,_s=s(691),Ss=s(446),Ds=s(5),Us=s(337);const zs={key:0,class:"announcement-container mb-6"},Ws={class:"flex items-center justify-between"},Cs={class:"flex items-center gap-2"},js={class:"text-xs text-gray-500 dark:text-gray-400"},Hs={key:0,class:"announcement-content p-4 transition-all duration-200 rounded-b-lg"},Rs={class:"relative"},Fs={class:"space-y-3"},qs={class:"flex items-center gap-3 mb-2 relative"},$s={class:"relative z-10 bg-white dark:bg-gray-800 px-2 py-1 rounded-md border border-gray-200 dark:border-gray-600"},Zs={class:"text-xs font-medium text-gray-600 dark:text-gray-300"},Ts={class:"space-y-2 ml-7 relative"},Es={class:"flex items-center justify-between gap-3"},Ls={class:"flex-1 min-w-0"},As={class:"text-sm leading-relaxed text-gray-900 dark:text-gray-100"},Ns=["title"];var Ms={__name:"AnnouncementBanner",props:{announcements:{type:Array,default:()=>[]}},setup(e){const t=e,s=(0,n.iH)(!1),l=()=>{s.value=!s.value},o={outage:{icon:_s.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:Ss.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:Ds.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:Ve.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:Us.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"}},u=(0,a.Fl)((()=>t.announcements&&t.announcements.length>0?t.announcements[0]:null)),i=(0,a.Fl)((()=>{const e=u.value?.type||"none";return o[e]?.icon||Us.Z})),d=(0,a.Fl)((()=>{const e=u.value?.type||"none";return o[e]?.iconColor||"text-gray-600 dark:text-gray-400"})),c=(0,a.Fl)((()=>{const e=u.value?.type||"none",t=o[e];return`border-l-4 ${t.border.replace("border-","border-l-")}`})),g=(0,a.Fl)((()=>{if(!t.announcements||0===t.announcements.length)return{};const e={};return t.announcements.forEach((t=>{const s=new Date(t.timestamp).toDateString();e[s]||(e[s]=[]),e[s].push(t)})),e})),p=e=>o[e]?.icon||Us.Z,m=e=>o[e]||o.none,v=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),s=new Date,l=new Date(s);return l.setDate(l.getDate()-1),t.toDateString()===s.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}),x=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,a.wg)(),(0,a.iD)("div",zs,[(0,a._)("div",{class:(0,r.C_)(["rounded-lg border bg-card text-card-foreground shadow-sm transition-all duration-200",c.value])},[(0,a._)("div",{class:(0,r.C_)(["announcement-header px-4 py-3 cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors",s.value?"rounded-lg":"rounded-t-lg border-b border-gray-200 dark:border-gray-600"]),onClick:l},[(0,a._)("div",Ws,[(0,a._)("div",Cs,[((0,a.wg)(),(0,a.j4)((0,a.LL)(i.value),{class:(0,r.C_)(["w-5 h-5",d.value])},null,8,["class"])),o[0]||(o[0]=(0,a._)("h2",{class:"text-base font-semibold text-gray-900 dark:text-gray-100"},"Announcements",-1)),(0,a._)("span",js," ("+(0,r.zw)(e.announcements.length)+") ",1)]),(0,a.Wm)((0,n.SU)(Ke.Z),{class:(0,r.C_)(["w-4 h-4 text-gray-500 dark:text-gray-400 transition-transform duration-200",s.value?"-rotate-90":"rotate-0"])},null,8,["class"])])],2),s.value?(0,a.kq)("",!0):((0,a.wg)(),(0,a.iD)("div",Hs,[(0,a._)("div",Rs,[(0,a._)("div",Fs,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(g.value,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{key:t,class:"relative"},[e.length>0?((0,a.wg)(),(0,a.iD)("div",{key:0,class:"absolute left-3 w-0.5 bg-gray-300 dark:bg-gray-600 pointer-events-none",style:(0,r.j5)(v(e))},null,4)):(0,a.kq)("",!0),(0,a._)("div",qs,[(0,a._)("div",$s,[(0,a._)("time",Zs,(0,r.zw)(f(t)),1)]),o[1]||(o[1]=(0,a._)("div",{class:"flex-1 border-t border-gray-200 dark:border-gray-600"},null,-1))]),(0,a._)("div",Ts,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(e,((e,s)=>((0,a.wg)(),(0,a.iD)("div",{key:`${t}-${s}-${e.timestamp}`,class:"relative"},[(0,a._)("div",{class:(0,r.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",m(e.type).border])},[((0,a.wg)(),(0,a.j4)((0,a.LL)(p(e.type)),{class:(0,r.C_)(["w-3 h-3",m(e.type).iconColor])},null,8,["class"]))],2),(0,a._)("div",{class:(0,r.C_)(["rounded-md border p-3 transition-all duration-200 hover:shadow-sm",m(e.type).background])},[(0,a._)("div",Es,[(0,a._)("div",Ls,[(0,a._)("p",As,(0,r.zw)(e.message),1)]),(0,a._)("time",{class:(0,r.C_)(["text-xs font-mono whitespace-nowrap",m(e.type).text]),title:x(e.timestamp)},(0,r.zw)(w(e.timestamp)),11,Ns)])],2)])))),128))])])))),128))])])]))],2)])):(0,a.kq)("",!0)}};const Is=(0,q.Z)(Ms,[["__scopeId","data-v-48763619"]]);var Ys=Is;const Os={class:"dashboard-container bg-background"},Ks={class:"container mx-auto px-4 py-8 max-w-7xl"},Ps={class:"mb-6"},Vs={class:"flex items-center justify-between mb-6"},Gs={class:"flex items-center gap-4"},Bs={key:0,class:"flex items-center justify-center py-20"},Js={key:1,class:"text-center py-20"},Qs={class:"text-muted-foreground"},Xs={key:2},el={key:0,class:"space-y-6"},tl=["onClick"],sl={class:"flex items-center gap-3"},ll={class:"text-xl font-semibold text-foreground"},al={class:"flex items-center gap-2"},rl={key:0,class:"bg-red-600 text-white px-2 py-1 rounded-full text-sm font-medium"},nl={key:0,class:"endpoint-group-content p-4"},ol={key:0,class:"mb-4"},ul={class:"grid gap-3 grid-cols-1 sm:grid-cols-2 lg:grid-cols-3"},il={key:1},dl={key:0,class:"text-sm font-semibold text-muted-foreground uppercase tracking-wider mb-3"},cl={class:"grid gap-3 grid-cols-1 sm:grid-cols-2 lg:grid-cols-3"},gl={key:1},pl={key:0,class:"mb-6"},ml={class:"grid gap-3 grid-cols-1 sm:grid-cols-2 lg:grid-cols-3"},vl={key:1},fl={key:0,class:"text-lg font-semibold text-foreground mb-3"},wl={class:"grid gap-3 grid-cols-1 sm:grid-cols-2 lg:grid-cols-3"},xl={key:2,class:"mt-8 flex items-center justify-center gap-2"},hl={class:"flex gap-1"},bl=96;var yl={__name:"Home",props:{announcements:{type:Array,default:()=>[]}},emits:["showTooltip"],setup(e,{emit:t}){const s=e,l=t,o=(0,n.iH)([]),u=(0,n.iH)([]),i=(0,n.iH)(!1),d=(0,n.iH)(1),c=(0,n.iH)(""),g=(0,n.iH)(!1),p=(0,n.iH)(!1),m=(0,n.iH)(!0),v=(0,n.iH)(!1),f=(0,n.iH)(localStorage.getItem("gatus:sort-by")||"name"),w=(0,n.iH)(new Set),x=(0,a.Fl)((()=>{let e=[...o.value];if(c.value){const t=c.value.toLowerCase();e=e.filter((e=>e.name.toLowerCase().includes(t)||e.group&&e.group.toLowerCase().includes(t)))}return g.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}))),p.value&&(e=e.filter((e=>!(!e.results||0===e.results.length)&&e.results.some((e=>!e.success))))),"health"===f.value&&e.sort(((e,t)=>{const s=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!s&&l?-1:s&&!l?1:e.name.localeCompare(t.name)})),e})),b=(0,a.Fl)((()=>{let e=[...u.value||[]];if(c.value){const t=c.value.toLowerCase();e=e.filter((e=>e.name.toLowerCase().includes(t)||e.group&&e.group.toLowerCase().includes(t)))}return g.value&&(e=e.filter((e=>!(!e.results||0===e.results.length)&&!e.results[e.results.length-1].success))),p.value&&(e=e.filter((e=>!(!e.results||0===e.results.length)&&e.results.some((e=>!e.success))))),"health"===f.value&&e.sort(((e,t)=>{const s=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!s&&l?-1:s&&!l?1:e.name.localeCompare(t.name)})),e})),y=(0,a.Fl)((()=>Math.ceil((x.value.length+b.value.length)/bl))),k=(0,a.Fl)((()=>{if(!v.value)return null;const e={};x.value.forEach((t=>{const s=t.group||"No Group";e[s]||(e[s]=[]),e[s].push(t)}));const t=Object.keys(e).sort(((e,t)=>"No Group"===e?1:"No Group"===t?-1:e.localeCompare(t))),s={};return t.forEach((t=>{s[t]=e[t]})),s})),_=(0,a.Fl)((()=>{if(!v.value)return null;const e={};x.value.forEach((t=>{const s=t.group||"No Group";e[s]||(e[s]={endpoints:[],suites:[]}),e[s].endpoints.push(t)})),b.value.forEach((t=>{const s=t.group||"No Group";e[s]||(e[s]={endpoints:[],suites:[]}),e[s].suites.push(t)}));const t=Object.keys(e).sort(((e,t)=>"No Group"===e?1:"No Group"===t?-1:e.localeCompare(t))),s={};return t.forEach((t=>{s[t]=e[t]})),s})),S=(0,a.Fl)((()=>{if(v.value)return k.value;const e=(d.value-1)*bl,t=e+bl;return x.value.slice(e,t)})),D=(0,a.Fl)((()=>{if(v.value)return b.value;const e=(d.value-1)*bl,t=e+bl;return b.value.slice(e,t)})),U=(0,a.Fl)((()=>{const e=[],t=5;let s=Math.max(1,d.value-Math.floor(t/2)),l=Math.min(y.value,s+t-1);l-s{const e=0===o.value.length&&0===u.value.length;e&&(i.value=!0);try{const t=await fetch(`${xn}/api/v1/endpoints/statuses?page=1&pageSize=100`,{credentials:"include"});if(200===t.status){const e=await t.json();o.value=e}else console.error("[Home][fetchData] Error fetching endpoints:",await t.text());const s=await fetch(`${xn}/api/v1/suites/statuses?page=1&pageSize=100`,{credentials:"include"});if(200===s.status){const e=await s.json();u.value=e||[]}else console.error("[Home][fetchData] Error fetching suites:",await s.text()),u.value||(u.value=[])}catch(t){console.error("[Home][fetchData] Error:",t)}finally{e&&(i.value=!1)}},W=()=>{o.value=[],u.value=[],z()},C=e=>{c.value=e,d.value=1},j=e=>{d.value=e,window.scrollTo({top:0,behavior:"smooth"})},H=()=>{m.value=!m.value},R=(e,t)=>{l("showTooltip",e,t)},F=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,q=e=>e.filter((e=>!(!e.results||0===e.results.length)&&!e.results[e.results.length-1].success)).length,$=e=>{w.value.has(e)?w.value.delete(e):w.value.add(e);const t=Array.from(w.value);localStorage.setItem("gatus:uncollapsed-groups",JSON.stringify(t)),localStorage.removeItem("gatus:collapsed-groups")},Z=()=>{try{const e=localStorage.getItem("gatus:uncollapsed-groups");e&&(w.value=new Set(JSON.parse(e)))}catch(e){console.warn("Failed to parse saved uncollapsed groups:",e),localStorage.removeItem("gatus:uncollapsed-groups")}};return(0,a.bv)((()=>{z()})),(e,t)=>((0,a.wg)(),(0,a.iD)("div",Os,[(0,a._)("div",Ks,[(0,a._)("div",Ps,[(0,a._)("div",Vs,[t[6]||(t[6]=(0,a._)("div",null,[(0,a._)("h1",{class:"text-4xl font-bold tracking-tight"},"Health Dashboard"),(0,a._)("p",{class:"text-muted-foreground mt-2"},"Monitor the health of your endpoints in real-time")],-1)),(0,a._)("div",Gs,[(0,a.Wm)((0,n.SU)(h),{variant:"ghost",size:"icon",onClick:H,title:m.value?"Show min-max response time":"Show average response time"},{default:(0,a.w5)((()=>[m.value?((0,a.wg)(),(0,a.j4)((0,n.SU)(Me.Z),{key:0,class:"h-5 w-5"})):((0,a.wg)(),(0,a.j4)((0,n.SU)(Ie.Z),{key:1,class:"h-5 w-5"}))])),_:1},8,["title"]),(0,a.Wm)((0,n.SU)(h),{variant:"ghost",size:"icon",onClick:W,title:"Refresh data"},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(Ye.Z),{class:"h-5 w-5"})])),_:1})])]),(0,a.Wm)(Ys,{announcements:s.announcements},null,8,["announcements"]),(0,a.Wm)(os,{onSearch:C,"onUpdate:showOnlyFailing":t[0]||(t[0]=e=>g.value=e),"onUpdate:showRecentFailures":t[1]||(t[1]=e=>p.value=e),"onUpdate:groupByGroup":t[2]||(t[2]=e=>v.value=e),"onUpdate:sortBy":t[3]||(t[3]=e=>f.value=e),onInitializeCollapsedGroups:Z})]),i.value?((0,a.wg)(),(0,a.iD)("div",Bs,[(0,a.Wm)(de,{size:"lg"})])):0===x.value.length&&0===b.value.length?((0,a.wg)(),(0,a.iD)("div",Js,[(0,a.Wm)((0,n.SU)(Oe.Z),{class:"h-12 w-12 text-muted-foreground mx-auto mb-4"}),t[7]||(t[7]=(0,a._)("h3",{class:"text-lg font-semibold mb-2"},"No endpoints or suites found",-1)),(0,a._)("p",Qs,(0,r.zw)(c.value||g.value||p.value?"Try adjusting your filters":"No endpoints or suites are configured"),1)])):((0,a.wg)(),(0,a.iD)("div",Xs,[v.value?((0,a.wg)(),(0,a.iD)("div",el,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(_.value,((e,s)=>((0,a.wg)(),(0,a.iD)("div",{key:s,class:"endpoint-group border rounded-lg overflow-hidden"},[(0,a._)("div",{onClick:e=>$(s),class:"endpoint-group-header flex items-center justify-between p-4 bg-card border-b cursor-pointer hover:bg-accent/50 transition-colors"},[(0,a._)("div",sl,[w.value.has(s)?((0,a.wg)(),(0,a.j4)((0,n.SU)(Ke.Z),{key:0,class:"h-5 w-5 text-muted-foreground"})):((0,a.wg)(),(0,a.j4)((0,n.SU)(Pe.Z),{key:1,class:"h-5 w-5 text-muted-foreground"})),(0,a._)("h2",ll,(0,r.zw)(s),1)]),(0,a._)("div",al,[F(e.endpoints)+q(e.suites)>0?((0,a.wg)(),(0,a.iD)("span",rl,(0,r.zw)(F(e.endpoints)+q(e.suites)),1)):((0,a.wg)(),(0,a.j4)((0,n.SU)(Ve.Z),{key:1,class:"h-6 w-6 text-green-600"}))])],8,tl),w.value.has(s)?((0,a.wg)(),(0,a.iD)("div",nl,[e.suites.length>0?((0,a.wg)(),(0,a.iD)("div",ol,[t[8]||(t[8]=(0,a._)("h3",{class:"text-sm font-semibold text-muted-foreground uppercase tracking-wider mb-3"},"Suites",-1)),(0,a._)("div",ul,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(e.suites,(e=>((0,a.wg)(),(0,a.j4)(Tt,{key:e.key,suite:e,maxResults:50,onShowTooltip:R},null,8,["suite"])))),128))])])):(0,a.kq)("",!0),e.endpoints.length>0?((0,a.wg)(),(0,a.iD)("div",il,[e.suites.length>0?((0,a.wg)(),(0,a.iD)("h3",dl,"Endpoints")):(0,a.kq)("",!0),(0,a._)("div",cl,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(e.endpoints,(e=>((0,a.wg)(),(0,a.j4)(ht,{key:e.key,endpoint:e,maxResults:50,showAverageResponseTime:m.value,onShowTooltip:R},null,8,["endpoint","showAverageResponseTime"])))),128))])])):(0,a.kq)("",!0)])):(0,a.kq)("",!0)])))),128))])):((0,a.wg)(),(0,a.iD)("div",gl,[b.value.length>0?((0,a.wg)(),(0,a.iD)("div",pl,[t[9]||(t[9]=(0,a._)("h2",{class:"text-lg font-semibold text-foreground mb-3"},"Suites",-1)),(0,a._)("div",ml,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(D.value,(e=>((0,a.wg)(),(0,a.j4)(Tt,{key:e.key,suite:e,maxResults:50,onShowTooltip:R},null,8,["suite"])))),128))])])):(0,a.kq)("",!0),x.value.length>0?((0,a.wg)(),(0,a.iD)("div",vl,[b.value.length>0?((0,a.wg)(),(0,a.iD)("h2",fl,"Endpoints")):(0,a.kq)("",!0),(0,a._)("div",wl,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(S.value,(e=>((0,a.wg)(),(0,a.j4)(ht,{key:e.key,endpoint:e,maxResults:50,showAverageResponseTime:m.value,onShowTooltip:R},null,8,["endpoint","showAverageResponseTime"])))),128))])])):(0,a.kq)("",!0)])),!v.value&&y.value>1?((0,a.wg)(),(0,a.iD)("div",xl,[(0,a.Wm)((0,n.SU)(h),{variant:"outline",size:"icon",disabled:1===d.value,onClick:t[4]||(t[4]=e=>j(d.value-1))},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(Ge.Z),{class:"h-4 w-4"})])),_:1},8,["disabled"]),(0,a._)("div",hl,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(U.value,(e=>((0,a.wg)(),(0,a.j4)((0,n.SU)(h),{key:e,variant:e===d.value?"default":"outline",size:"sm",onClick:t=>j(e)},{default:(0,a.w5)((()=>[(0,a.Uk)((0,r.zw)(e),1)])),_:2},1032,["variant","onClick"])))),128))]),(0,a.Wm)((0,n.SU)(h),{variant:"outline",size:"icon",disabled:d.value===y.value,onClick:t[5]||(t[5]=e=>j(d.value+1))},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(Be.Z),{class:"h-4 w-4"})])),_:1},8,["disabled"])])):(0,a.kq)("",!0)]))]),(0,a.Wm)(ks,{onRefreshData:z})]))}};const kl=yl;var _l=kl,Sl=s(318),Dl=s(779),Ul=s(141),zl=s(478);const Wl={class:"flex items-center justify-between"},Cl={class:"text-sm text-muted-foreground"};var jl={__name:"Pagination",props:{numberOfResultsPerPage:Number,currentPageProp:{type:Number,default:1}},emits:["page"],setup(e,{emit:t}){const s=e,l=t,o=(0,n.iH)(s.currentPageProp),u=(0,a.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/s.numberOfResultsPerPage)})),i=()=>{o.value--,l("page",o.value)},d=()=>{o.value++,l("page",o.value)};return(e,t)=>((0,a.wg)(),(0,a.iD)("div",Wl,[(0,a.Wm)((0,n.SU)(h),{variant:"outline",size:"sm",disabled:o.value>=u.value,onClick:d,class:"flex items-center gap-1"},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(Ge.Z),{class:"h-4 w-4"}),t[0]||(t[0]=(0,a.Uk)(" Previous ",-1))])),_:1,__:[0]},8,["disabled"]),(0,a._)("span",Cl," Page "+(0,r.zw)(o.value)+" of "+(0,r.zw)(u.value),1),(0,a.Wm)((0,n.SU)(h),{variant:"outline",size:"sm",disabled:o.value<=1,onClick:i,class:"flex items-center gap-1"},{default:(0,a.w5)((()=>[t[1]||(t[1]=(0,a.Uk)(" Next ",-1)),(0,a.Wm)((0,n.SU)(Be.Z),{class:"h-4 w-4"})])),_:1,__:[1]},8,["disabled"])]))}};const Hl=jl;var Rl=Hl;const Fl={class:"dashboard-container bg-background"},ql={class:"container mx-auto px-4 py-8 max-w-7xl"},$l={class:"mb-6"},Zl={key:0,class:"space-y-6"},Tl={class:"flex items-start justify-between"},El={class:"text-4xl font-bold tracking-tight"},Ll={class:"flex items-center gap-3 text-muted-foreground mt-2"},Al={key:0},Nl={key:1},Ml={key:2},Il={class:"grid gap-6 md:grid-cols-2 lg:grid-cols-4"},Yl={class:"text-2xl font-bold"},Ol={class:"text-2xl font-bold"},Kl={class:"text-2xl font-bold"},Pl={class:"text-2xl font-bold"},Vl={class:"flex items-center justify-between"},Gl={class:"flex items-center gap-2"},Bl={class:"space-y-4"},Jl={key:1,class:"pt-4 border-t"},Ql={key:0,class:"space-y-6"},Xl={class:"flex items-center justify-between"},ea=["src"],ta={class:"grid gap-4 md:grid-cols-2 lg:grid-cols-4"},sa=["src","alt"],la={class:"grid gap-4 md:grid-cols-2 lg:grid-cols-4"},aa={class:"text-sm text-muted-foreground mb-2"},ra=["src","alt"],na={class:"text-center"},oa=["src"],ua={class:"space-y-4"},ia={class:"mt-1"},da={class:"flex-1"},ca={class:"font-medium"},ga={class:"text-sm text-muted-foreground"},pa={key:1,class:"flex items-center justify-center py-20"};var ma={__name:"EndpointDetails",emits:["showTooltip"],setup(e,{emit:t}){const s=(0,u.tv)(),o=(0,u.yj)(),i=t,d=(0,n.iH)(null),c=(0,n.iH)(null),g=(0,n.iH)([]),p=(0,n.iH)(1),m=(0,n.iH)(!1),v=(0,n.iH)(!1),f=(0,n.iH)("24h"),w="."===xn?"..":xn,x=(0,n.iH)(!1),b=(0,a.Fl)((()=>c.value&&c.value.results&&0!==c.value.results.length?c.value.results[c.value.results.length-1]:null)),y=(0,a.Fl)((()=>b.value?b.value.success?"healthy":"unhealthy":"unknown")),_=(0,a.Fl)((()=>b.value?.hostname||null)),S=(0,a.Fl)((()=>{if(!d.value||!d.value.results||0===d.value.results.length)return"N/A";let e=0,t=0;for(const s of d.value.results)s.duration&&(e+=s.duration,t++);return 0===t?"N/A":Math.round(e/t/1e6)})),U=(0,a.Fl)((()=>{if(!d.value||!d.value.results||0===d.value.results.length)return"N/A";let e=1/0,t=0,s=!1;for(const r of d.value.results)if(r.duration){const l=r.duration/1e6;e=Math.min(e,l),t=Math.max(t,l),s=!0}if(!s)return"N/A";const l=Math.round(e),a=Math.round(t);return l===a?`${l}ms`:`${l}-${a}ms`})),z=(0,a.Fl)((()=>c.value&&c.value.results&&0!==c.value.results.length?E(c.value.results[c.value.results.length-1].timestamp):"Never")),C=async()=>{x.value=!0;try{const e=await fetch(`${w}/api/v1/endpoints/${o.params.key}/statuses?page=${p.value}&pageSize=50`,{credentials:"include"});if(200===e.status){const t=await e.json();d.value=t,1===p.value&&(c.value=t);let s=[];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 s=t.events[e+1];"HEALTHY"===l.type?l.fancyText="Endpoint became healthy":"UNHEALTHY"===l.type?l.fancyText=s?"Endpoint was unhealthy for "+L(s.timestamp,l.timestamp):"Endpoint became unhealthy":"START"===l.type&&(l.fancyText="Monitoring started")}l.fancyTimeAgo=E(l.timestamp),s.push(l)}if(g.value=s,t.results&&t.results.length>0)for(let e=0;e0){m.value=!0;break}}else console.error("[Details][fetchData] Error:",await e.text())}catch(e){console.error("[Details][fetchData] Error:",e)}finally{x.value=!1}},j=()=>{s.push("/")},R=e=>{p.value=e,C()},F=(e,t)=>{i("showTooltip",e,t)},q=e=>new Date(e).toLocaleString(),$=()=>`${w}/api/v1/endpoints/${d.value.key}/health/badge.svg`,Z=e=>`${w}/api/v1/endpoints/${d.value.key}/uptimes/${e}/badge.svg`,T=e=>`${w}/api/v1/endpoints/${d.value.key}/response-times/${e}/badge.svg`,A=e=>`${w}/api/v1/endpoints/${d.value.key}/response-times/${e}/chart.svg`;return(0,a.bv)((()=>{C()})),(e,t)=>((0,a.wg)(),(0,a.iD)("div",Fl,[(0,a._)("div",ql,[(0,a._)("div",$l,[(0,a.Wm)((0,n.SU)(h),{variant:"ghost",class:"mb-4",onClick:j},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(Sl.Z),{class:"h-4 w-4 mr-2"}),t[2]||(t[2]=(0,a.Uk)(" Back to Dashboard ",-1))])),_:1,__:[2]}),d.value&&d.value.name?((0,a.wg)(),(0,a.iD)("div",Zl,[(0,a._)("div",Tl,[(0,a._)("div",null,[(0,a._)("h1",El,(0,r.zw)(d.value.name),1),(0,a._)("div",Ll,[d.value.group?((0,a.wg)(),(0,a.iD)("span",Al,"Group: "+(0,r.zw)(d.value.group),1)):(0,a.kq)("",!0),d.value.group&&_.value?((0,a.wg)(),(0,a.iD)("span",Nl,"•")):(0,a.kq)("",!0),_.value?((0,a.wg)(),(0,a.iD)("span",Ml,(0,r.zw)(_.value),1)):(0,a.kq)("",!0)])]),(0,a.Wm)(st,{status:y.value},null,8,["status"])]),(0,a._)("div",Il,[(0,a.Wm)((0,n.SU)(k),null,{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(D),{class:"pb-2"},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(W),{class:"text-sm font-medium text-muted-foreground"},{default:(0,a.w5)((()=>t[3]||(t[3]=[(0,a.Uk)("Current Status",-1)]))),_:1,__:[3]})])),_:1}),(0,a.Wm)((0,n.SU)(H),null,{default:(0,a.w5)((()=>[(0,a._)("div",Yl,(0,r.zw)("healthy"===y.value?"Operational":"Issues Detected"),1)])),_:1})])),_:1}),(0,a.Wm)((0,n.SU)(k),null,{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(D),{class:"pb-2"},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(W),{class:"text-sm font-medium text-muted-foreground"},{default:(0,a.w5)((()=>t[4]||(t[4]=[(0,a.Uk)("Avg Response Time",-1)]))),_:1,__:[4]})])),_:1}),(0,a.Wm)((0,n.SU)(H),null,{default:(0,a.w5)((()=>[(0,a._)("div",Ol,(0,r.zw)(S.value)+"ms",1)])),_:1})])),_:1}),(0,a.Wm)((0,n.SU)(k),null,{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(D),{class:"pb-2"},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(W),{class:"text-sm font-medium text-muted-foreground"},{default:(0,a.w5)((()=>t[5]||(t[5]=[(0,a.Uk)("Response Time Range",-1)]))),_:1,__:[5]})])),_:1}),(0,a.Wm)((0,n.SU)(H),null,{default:(0,a.w5)((()=>[(0,a._)("div",Kl,(0,r.zw)(U.value),1)])),_:1})])),_:1}),(0,a.Wm)((0,n.SU)(k),null,{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(D),{class:"pb-2"},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(W),{class:"text-sm font-medium text-muted-foreground"},{default:(0,a.w5)((()=>t[6]||(t[6]=[(0,a.Uk)("Last Check",-1)]))),_:1,__:[6]})])),_:1}),(0,a.Wm)((0,n.SU)(H),null,{default:(0,a.w5)((()=>[(0,a._)("div",Pl,(0,r.zw)(z.value),1)])),_:1})])),_:1})]),(0,a.Wm)((0,n.SU)(k),null,{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(D),null,{default:(0,a.w5)((()=>[(0,a._)("div",Vl,[(0,a.Wm)((0,n.SU)(W),null,{default:(0,a.w5)((()=>t[7]||(t[7]=[(0,a.Uk)("Recent Checks",-1)]))),_:1,__:[7]}),(0,a._)("div",Gl,[(0,a.Wm)((0,n.SU)(h),{variant:"ghost",size:"icon",onClick:t[0]||(t[0]=e=>v.value=!v.value),title:v.value?"Show min-max response time":"Show average response time"},{default:(0,a.w5)((()=>[v.value?((0,a.wg)(),(0,a.j4)((0,n.SU)(Me.Z),{key:0,class:"h-5 w-5"})):((0,a.wg)(),(0,a.j4)((0,n.SU)(Ie.Z),{key:1,class:"h-5 w-5"}))])),_:1},8,["title"]),(0,a.Wm)((0,n.SU)(h),{variant:"ghost",size:"icon",onClick:C,title:"Refresh data",disabled:x.value},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(Ye.Z),{class:(0,r.C_)(["h-4 w-4",x.value&&"animate-spin"])},null,8,["class"])])),_:1},8,["disabled"])])])])),_:1}),(0,a.Wm)((0,n.SU)(H),null,{default:(0,a.w5)((()=>[(0,a._)("div",Bl,[d.value?((0,a.wg)(),(0,a.j4)(ht,{key:0,endpoint:d.value,maxResults:50,showAverageResponseTime:v.value,onShowTooltip:F,class:"border-0 shadow-none bg-transparent p-0"},null,8,["endpoint","showAverageResponseTime"])):(0,a.kq)("",!0),d.value&&d.value.key?((0,a.wg)(),(0,a.iD)("div",Jl,[(0,a.Wm)(Rl,{onPage:R,numberOfResultsPerPage:50,currentPageProp:p.value},null,8,["currentPageProp"])])):(0,a.kq)("",!0)])])),_:1})])),_:1}),m.value?((0,a.wg)(),(0,a.iD)("div",Ql,[(0,a.Wm)((0,n.SU)(k),null,{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(D),null,{default:(0,a.w5)((()=>[(0,a._)("div",Xl,[(0,a.Wm)((0,n.SU)(W),null,{default:(0,a.w5)((()=>t[8]||(t[8]=[(0,a.Uk)("Response Time Trend",-1)]))),_:1,__:[8]}),(0,a.wy)((0,a._)("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,a._)("option",{value:"24h"},"24 hours",-1),(0,a._)("option",{value:"7d"},"7 days",-1),(0,a._)("option",{value:"30d"},"30 days",-1)]),512),[[l.bM,f.value]])])])),_:1}),(0,a.Wm)((0,n.SU)(H),null,{default:(0,a.w5)((()=>[(0,a._)("img",{src:A(f.value),alt:"Response time chart",class:"w-full"},null,8,ea)])),_:1})])),_:1}),(0,a._)("div",ta,[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(["30d","7d","24h","1h"],(e=>(0,a.Wm)((0,n.SU)(k),{key:e},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(D),{class:"pb-2"},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(W),{class:"text-sm font-medium text-muted-foreground text-center"},{default:(0,a.w5)((()=>[(0,a.Uk)((0,r.zw)("30d"===e?"Last 30 days":"7d"===e?"Last 7 days":"24h"===e?"Last 24 hours":"Last hour"),1)])),_:2},1024)])),_:2},1024),(0,a.Wm)((0,n.SU)(H),null,{default:(0,a.w5)((()=>[(0,a._)("img",{src:T(e),alt:`${e} response time`,class:"mx-auto mt-2"},null,8,sa)])),_:2},1024)])),_:2},1024))),64))])])):(0,a.kq)("",!0),(0,a.Wm)((0,n.SU)(k),null,{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(D),null,{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(W),null,{default:(0,a.w5)((()=>t[10]||(t[10]=[(0,a.Uk)("Uptime Statistics",-1)]))),_:1,__:[10]})])),_:1}),(0,a.Wm)((0,n.SU)(H),null,{default:(0,a.w5)((()=>[(0,a._)("div",la,[((0,a.wg)(),(0,a.iD)(a.HY,null,(0,a.Ko)(["30d","7d","24h","1h"],(e=>(0,a._)("div",{key:e,class:"text-center"},[(0,a._)("p",aa,(0,r.zw)("30d"===e?"Last 30 days":"7d"===e?"Last 7 days":"24h"===e?"Last 24 hours":"Last hour"),1),(0,a._)("img",{src:Z(e),alt:`${e} uptime`,class:"mx-auto"},null,8,ra)]))),64))])])),_:1})])),_:1}),(0,a.Wm)((0,n.SU)(k),null,{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(D),null,{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(W),null,{default:(0,a.w5)((()=>t[11]||(t[11]=[(0,a.Uk)("Current Health",-1)]))),_:1,__:[11]})])),_:1}),(0,a.Wm)((0,n.SU)(H),null,{default:(0,a.w5)((()=>[(0,a._)("div",na,[(0,a._)("img",{src:$(),alt:"health badge",class:"mx-auto"},null,8,oa)])])),_:1})])),_:1}),g.value&&g.value.length>0?((0,a.wg)(),(0,a.j4)((0,n.SU)(k),{key:1},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(D),null,{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(W),null,{default:(0,a.w5)((()=>t[12]||(t[12]=[(0,a.Uk)("Events",-1)]))),_:1,__:[12]})])),_:1}),(0,a.Wm)((0,n.SU)(H),null,{default:(0,a.w5)((()=>[(0,a._)("div",ua,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(g.value,(e=>((0,a.wg)(),(0,a.iD)("div",{key:e.timestamp,class:"flex items-start gap-4 pb-4 border-b last:border-0"},[(0,a._)("div",ia,["HEALTHY"===e.type?((0,a.wg)(),(0,a.j4)((0,n.SU)(Dl.Z),{key:0,class:"h-5 w-5 text-green-500"})):"UNHEALTHY"===e.type?((0,a.wg)(),(0,a.j4)((0,n.SU)(Ul.Z),{key:1,class:"h-5 w-5 text-red-500"})):((0,a.wg)(),(0,a.j4)((0,n.SU)(zl.Z),{key:2,class:"h-5 w-5 text-muted-foreground"}))]),(0,a._)("div",da,[(0,a._)("p",ca,(0,r.zw)(e.fancyText),1),(0,a._)("p",ga,(0,r.zw)(q(e.timestamp))+" • "+(0,r.zw)(e.fancyTimeAgo),1)])])))),128))])])),_:1})])),_:1})):(0,a.kq)("",!0)])):((0,a.wg)(),(0,a.iD)("div",pa,[(0,a.Wm)(de,{size:"lg"})]))])]),(0,a.Wm)(ks,{onRefreshData:C})]))}};const va=ma;var fa=va,wa=s(469),xa=s(399),ha=s(167);const ba=e=>{if(!e&&0!==e)return"N/A";const t=e/1e6;return t<1e3?`${t.toFixed(0)}ms`:`${(t/1e3).toFixed(2)}s`},ya={class:"relative flex-shrink-0"},ka={class:"flex-1 min-w-0 pt-1"},_a={class:"flex items-center justify-between gap-2 mb-1"},Sa={class:"font-medium text-sm truncate"},Da={class:"text-xs text-muted-foreground whitespace-nowrap"},Ua={class:"flex flex-wrap gap-1"},za={key:0,class:"inline-flex items-center gap-1 px-2 py-1 text-xs font-medium bg-blue-100 text-blue-800 dark:bg-blue-900 dark:text-blue-200 rounded-md"},Wa={key:1,class:"inline-flex items-center px-2 py-1 text-xs font-medium bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-200 rounded-md"};var Ca={__name:"FlowStep",props:{step:{type:Object,required:!0},index:{type:Number,required:!0},isLast:{type:Boolean,default:!1},previousStep:{type:Object,default:null}},emits:["step-click"],setup(e){const t=e,s=(0,a.Fl)((()=>{switch(t.step.status){case"success":return Ve.Z;case"failed":return _s.Z;case"skipped":return wa.Z;case"not-started":return ha.Z;default:return ha.Z}})),l=(0,a.Fl)((()=>{const e="border-2";if(t.step.isAlwaysRun)switch(t.step.status){case"success":return`${e} bg-green-500 text-white border-green-600 ring-2 ring-blue-200 dark:ring-blue-800`;case"failed":return`${e} bg-red-500 text-white border-red-600 ring-2 ring-blue-200 dark:ring-blue-800`;default:return`${e} bg-blue-500 text-white border-blue-600 ring-2 ring-blue-200 dark:ring-blue-800`}switch(t.step.status){case"success":return`${e} bg-green-500 text-white border-green-600`;case"failed":return`${e} bg-red-500 text-white border-red-600`;case"skipped":return`${e} bg-gray-400 text-white border-gray-500`;case"not-started":return`${e} bg-gray-200 text-gray-500 border-gray-300 dark:bg-gray-700 dark:text-gray-400 dark:border-gray-600`;default:return`${e} bg-gray-200 text-gray-500 border-gray-300 dark:bg-gray-700 dark:text-gray-400 dark:border-gray-600`}})),o=(0,a.Fl)((()=>{if(!t.previousStep)return"bg-gray-300 dark:bg-gray-600";if("skipped"===t.step.status)return"border-l-2 border-dashed border-gray-400 bg-transparent";switch(t.previousStep.status){case"success":return"bg-green-500";case"failed":return"bg-red-500";default:return"bg-gray-300 dark:bg-gray-600"}})),u=(0,a.Fl)((()=>{const e=t.step.nextStepStatus;switch(t.step.status){case"success":return"skipped"===e?"bg-gray-300 dark:bg-gray-600":"bg-green-500";case"failed":return"skipped"===e?"border-l-2 border-dashed border-gray-400 bg-transparent":"bg-red-500";default:return"bg-gray-300 dark:bg-gray-600"}}));return(t,i)=>((0,a.wg)(),(0,a.iD)("div",{class:"flex items-start gap-4 relative group hover:bg-accent/30 rounded-lg p-2 -m-2 transition-colors cursor-pointer",onClick:i[0]||(i[0]=e=>t.$emit("step-click"))},[(0,a._)("div",ya,[e.index>0?((0,a.wg)(),(0,a.iD)("div",{key:0,class:(0,r.C_)([o.value,"absolute left-1/2 bottom-8 w-0.5 h-4 -translate-x-px"])},null,2)):(0,a.kq)("",!0),(0,a._)("div",{class:(0,r.C_)([l.value,"w-8 h-8 rounded-full flex items-center justify-center"])},[((0,a.wg)(),(0,a.j4)((0,a.LL)(s.value),{class:"w-4 h-4"}))],2),e.isLast?(0,a.kq)("",!0):((0,a.wg)(),(0,a.iD)("div",{key:1,class:(0,r.C_)([u.value,"absolute left-1/2 top-8 w-0.5 h-4 -translate-x-px"])},null,2))]),(0,a._)("div",ka,[(0,a._)("div",_a,[(0,a._)("h4",Sa,(0,r.zw)(e.step.name),1),(0,a._)("span",Da,(0,r.zw)((0,n.SU)(ba)(e.step.duration)),1)]),(0,a._)("div",Ua,[e.step.isAlwaysRun?((0,a.wg)(),(0,a.iD)("span",za,[(0,a.Wm)((0,n.SU)(xa.Z),{class:"w-3 h-3"}),i[1]||(i[1]=(0,a.Uk)(" Always Run ",-1))])):(0,a.kq)("",!0),e.step.errors?.length?((0,a.wg)(),(0,a.iD)("span",Wa,(0,r.zw)(e.step.errors.length)+" error"+(0,r.zw)(1!==e.step.errors.length?"s":""),1)):(0,a.kq)("",!0)])])]))}};const ja=Ca;var Ha=ja;const Ra={class:"space-y-4"},Fa={class:"flex items-center gap-4"},qa={class:"flex-1 h-1 bg-gray-200 dark:bg-gray-700 rounded-full overflow-hidden"},$a={class:"flex items-center justify-between text-xs text-muted-foreground"},Za={key:0},Ta={class:"space-y-2"},Ea={class:"mt-6 pt-4 border-t"},La={class:"grid grid-cols-2 md:grid-cols-4 gap-3 text-xs"},Aa={key:0,class:"flex items-center gap-2"},Na={class:"w-4 h-4 rounded-full bg-green-500 flex items-center justify-center"},Ma={key:1,class:"flex items-center gap-2"},Ia={class:"w-4 h-4 rounded-full bg-red-500 flex items-center justify-center"},Ya={key:2,class:"flex items-center gap-2"},Oa={class:"w-4 h-4 rounded-full bg-gray-400 flex items-center justify-center"},Ka={key:3,class:"flex items-center gap-2"},Pa={class:"w-4 h-4 rounded-full bg-blue-500 border-2 border-blue-200 dark:border-blue-800 flex items-center justify-center"};var Va={__name:"SequentialFlowDiagram",props:{flowSteps:{type:Array,default:()=>[]},progressPercentage:{type:Number,default:0},completedSteps:{type:Number,default:0},totalSteps:{type:Number,default:0}},emits:["step-selected"],setup(e){const t=e,s=(0,a.Fl)((()=>t.completedSteps)),l=(0,a.Fl)((()=>t.totalSteps)),o=(0,a.Fl)((()=>t.flowSteps.reduce(((e,t)=>e+(t.duration||0)),0))),u=(0,a.Fl)((()=>t.flowSteps.some((e=>"success"===e.status)))),i=(0,a.Fl)((()=>t.flowSteps.some((e=>"failed"===e.status)))),d=(0,a.Fl)((()=>t.flowSteps.some((e=>"skipped"===e.status)))),c=(0,a.Fl)((()=>t.flowSteps.some((e=>!0===e.isAlwaysRun))));return(t,g)=>((0,a.wg)(),(0,a.iD)("div",Ra,[(0,a._)("div",Fa,[g[0]||(g[0]=(0,a._)("div",{class:"text-sm font-medium text-muted-foreground"},"Start",-1)),(0,a._)("div",qa,[(0,a._)("div",{class:"h-full bg-green-500 dark:bg-green-600 rounded-full transition-all duration-300 ease-out",style:(0,r.j5)({width:e.progressPercentage+"%"})},null,4)]),g[1]||(g[1]=(0,a._)("div",{class:"text-sm font-medium text-muted-foreground"},"End",-1))]),(0,a._)("div",$a,[(0,a._)("span",null,(0,r.zw)(s.value)+"/"+(0,r.zw)(l.value)+" steps successful",1),o.value>0?((0,a.wg)(),(0,a.iD)("span",Za,(0,r.zw)((0,n.SU)(ba)(o.value))+" total",1)):(0,a.kq)("",!0)]),(0,a._)("div",Ta,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(e.flowSteps,((s,l)=>((0,a.wg)(),(0,a.j4)(Ha,{key:l,step:s,index:l,"is-last":l===e.flowSteps.length-1,"previous-step":l>0?e.flowSteps[l-1]:null,onStepClick:e=>t.$emit("step-selected",s,l)},null,8,["step","index","is-last","previous-step","onStepClick"])))),128))]),(0,a._)("div",Ea,[g[6]||(g[6]=(0,a._)("div",{class:"text-sm font-medium text-muted-foreground mb-2"},"Status Legend",-1)),(0,a._)("div",La,[u.value?((0,a.wg)(),(0,a.iD)("div",Aa,[(0,a._)("div",Na,[(0,a.Wm)((0,n.SU)(Ve.Z),{class:"w-3 h-3 text-white"})]),g[2]||(g[2]=(0,a._)("span",{class:"text-muted-foreground"},"Success",-1))])):(0,a.kq)("",!0),i.value?((0,a.wg)(),(0,a.iD)("div",Ma,[(0,a._)("div",Ia,[(0,a.Wm)((0,n.SU)(_s.Z),{class:"w-3 h-3 text-white"})]),g[3]||(g[3]=(0,a._)("span",{class:"text-muted-foreground"},"Failed",-1))])):(0,a.kq)("",!0),d.value?((0,a.wg)(),(0,a.iD)("div",Ya,[(0,a._)("div",Oa,[(0,a.Wm)((0,n.SU)(wa.Z),{class:"w-3 h-3 text-white"})]),g[4]||(g[4]=(0,a._)("span",{class:"text-muted-foreground"},"Skipped",-1))])):(0,a.kq)("",!0),c.value?((0,a.wg)(),(0,a.iD)("div",Ka,[(0,a._)("div",Pa,[(0,a.Wm)((0,n.SU)(xa.Z),{class:"w-3 h-3 text-white"})]),g[5]||(g[5]=(0,a._)("span",{class:"text-muted-foreground"},"Always Run",-1))])):(0,a.kq)("",!0)])])]))}};const Ga=Va;var Ba=Ga,Ja=s(293),Qa=s(322),Xa=s(740);const er={class:"flex items-center justify-between p-4 border-b"},tr={class:"text-lg font-semibold flex items-center gap-2"},sr={class:"text-sm text-muted-foreground mt-1"},lr={class:"p-4 space-y-4 overflow-y-auto max-h-[60vh]"},ar={key:0,class:"flex flex-wrap gap-2"},rr={class:"flex items-center gap-2 px-3 py-2 bg-blue-50 dark:bg-blue-900/30 rounded-lg border border-blue-200 dark:border-blue-700"},nr={key:1,class:"space-y-2"},or={class:"text-sm font-medium flex items-center gap-2 text-red-600 dark:text-red-400"},ur={class:"space-y-2"},ir={key:2,class:"space-y-2"},dr={class:"text-sm font-medium flex items-center gap-2"},cr={class:"text-xs font-mono text-muted-foreground"},gr={key:3,class:"space-y-2"},pr={class:"text-sm font-medium flex items-center gap-2"},mr={class:"grid grid-cols-2 gap-4 text-xs"},vr={class:"font-mono mt-1"},fr={key:4,class:"space-y-2"},wr={class:"text-sm font-medium flex items-center gap-2"},xr={class:"space-y-2 max-h-48 overflow-y-auto"},hr={class:"flex-shrink-0 mt-0.5"},br={class:"flex-1 min-w-0 flex items-center justify-between gap-3"},yr={key:5,class:"space-y-2"},kr={class:"text-sm font-medium flex items-center gap-2"},_r={class:"space-y-3 text-xs"},Sr={key:0},Dr={class:"font-mono mt-1 break-all"},Ur={key:1},zr={class:"mt-1 font-medium"},Wr={key:2},Cr={class:"mt-1"},jr={key:3},Hr={class:"mt-1"},Rr={key:6,class:"space-y-2"},Fr={class:"text-sm font-medium flex items-center gap-2 text-red-600 dark:text-red-400"},qr={class:"space-y-2 max-h-32 overflow-y-auto"};var $r={__name:"StepDetailsModal",props:{step:{type:Object,required:!0},index:{type:Number,required:!0}},emits:["close"],setup(e){const t=e,s=(0,a.Fl)((()=>{switch(t.step.status){case"success":return Ve.Z;case"failed":return _s.Z;case"skipped":return wa.Z;case"not-started":return ha.Z;default:return ha.Z}})),o=(0,a.Fl)((()=>{switch(t.step.status){case"success":return"text-green-600 dark:text-green-400";case"failed":return"text-red-600 dark:text-red-400";case"skipped":return"text-gray-600 dark:text-gray-400";default:return"text-blue-600 dark:text-blue-400"}}));return(t,u)=>((0,a.wg)(),(0,a.iD)("div",{class:"fixed inset-0 bg-black/50 backdrop-blur-sm flex items-center justify-center p-4 z-50",onClick:u[2]||(u[2]=e=>t.$emit("close"))},[(0,a._)("div",{class:"bg-background border rounded-lg shadow-lg max-w-2xl w-full max-h-[80vh] overflow-hidden",onClick:u[1]||(u[1]=(0,l.iM)((()=>{}),["stop"]))},[(0,a._)("div",er,[(0,a._)("div",null,[(0,a._)("h2",tr,[((0,a.wg)(),(0,a.j4)((0,a.LL)(s.value),{class:(0,r.C_)([o.value,"w-5 h-5"])},null,8,["class"])),(0,a.Uk)(" "+(0,r.zw)(e.step.name),1)]),(0,a._)("p",sr," Step "+(0,r.zw)(e.index+1)+" • "+(0,r.zw)((0,n.SU)(ba)(e.step.duration)),1)]),(0,a.Wm)((0,n.SU)(h),{variant:"ghost",size:"icon",onClick:u[0]||(u[0]=e=>t.$emit("close"))},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(d.Z),{class:"w-4 h-4"})])),_:1})]),(0,a._)("div",lr,[e.step.isAlwaysRun?((0,a.wg)(),(0,a.iD)("div",ar,[(0,a._)("div",rr,[(0,a.Wm)((0,n.SU)(xa.Z),{class:"w-4 h-4 text-blue-600 dark:text-blue-400"}),u[3]||(u[3]=(0,a._)("div",null,[(0,a._)("p",{class:"text-sm font-medium text-blue-900 dark:text-blue-200"},"Always Run"),(0,a._)("p",{class:"text-xs text-blue-600 dark:text-blue-400"},"This endpoint is configured to execute even after failures")],-1))])])):(0,a.kq)("",!0),e.step.errors?.length?((0,a.wg)(),(0,a.iD)("div",nr,[(0,a._)("h3",or,[(0,a.Wm)((0,n.SU)(Oe.Z),{class:"w-4 h-4"}),(0,a.Uk)(" Errors ("+(0,r.zw)(e.step.errors.length)+") ",1)]),(0,a._)("div",ur,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(e.step.errors,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{key:t,class:"p-3 bg-red-50 dark:bg-red-900/50 border border-red-200 dark:border-red-700 rounded text-sm font-mono text-red-800 dark:text-red-300 break-all"},(0,r.zw)(e),1)))),128))])])):(0,a.kq)("",!0),e.step.result&&e.step.result.timestamp?((0,a.wg)(),(0,a.iD)("div",ir,[(0,a._)("h3",dr,[(0,a.Wm)((0,n.SU)(Ja.Z),{class:"w-4 h-4"}),u[4]||(u[4]=(0,a.Uk)(" Timestamp ",-1))]),(0,a._)("p",cr,(0,r.zw)((0,n.SU)(A)(e.step.result.timestamp)),1)])):(0,a.kq)("",!0),e.step.result?((0,a.wg)(),(0,a.iD)("div",gr,[(0,a._)("h3",pr,[(0,a.Wm)((0,n.SU)(Qa.Z),{class:"w-4 h-4"}),u[5]||(u[5]=(0,a.Uk)(" Response ",-1))]),(0,a._)("div",mr,[(0,a._)("div",null,[u[6]||(u[6]=(0,a._)("span",{class:"text-muted-foreground"},"Duration:",-1)),(0,a._)("p",vr,(0,r.zw)((0,n.SU)(ba)(e.step.result.duration)),1)]),(0,a._)("div",null,[u[7]||(u[7]=(0,a._)("span",{class:"text-muted-foreground"},"Success:",-1)),(0,a._)("p",{class:(0,r.C_)(["mt-1",e.step.result.success?"text-green-600 dark:text-green-400":"text-red-600 dark:text-red-400"])},(0,r.zw)(e.step.result.success?"Yes":"No"),3)])])])):(0,a.kq)("",!0),e.step.result?.conditionResults?.length?((0,a.wg)(),(0,a.iD)("div",fr,[(0,a._)("h3",wr,[(0,a.Wm)((0,n.SU)(Ve.Z),{class:"w-4 h-4"}),(0,a.Uk)(" Condition Results ("+(0,r.zw)(e.step.result.conditionResults.length)+") ",1)]),(0,a._)("div",xr,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(e.step.result.conditionResults,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{key:t,class:(0,r.C_)(["flex items-start gap-3 p-1 rounded-lg border",e.success?"bg-green-50 dark:bg-green-900/30 border-green-200 dark:border-green-700":"bg-red-50 dark:bg-red-900/30 border-red-200 dark:border-red-700"])},[(0,a._)("div",hr,[e.success?((0,a.wg)(),(0,a.j4)((0,n.SU)(Ve.Z),{key:0,class:"w-4 h-4 text-green-600 dark:text-green-400"})):((0,a.wg)(),(0,a.j4)((0,n.SU)(_s.Z),{key:1,class:"w-4 h-4 text-red-600 dark:text-red-400"}))]),(0,a._)("div",br,[(0,a._)("p",{class:(0,r.C_)(["text-sm font-mono break-all",e.success?"text-green-800 dark:text-green-200":"text-red-800 dark:text-red-200"])},(0,r.zw)(e.condition),3),(0,a._)("span",{class:(0,r.C_)(["text-xs font-medium whitespace-nowrap",e.success?"text-green-600 dark:text-green-400":"text-red-600 dark:text-red-400"])},(0,r.zw)(e.success?"Passed":"Failed"),3)])],2)))),128))])])):(0,a.kq)("",!0),e.step.endpoint?((0,a.wg)(),(0,a.iD)("div",yr,[(0,a._)("h3",kr,[(0,a.Wm)((0,n.SU)(Xa.Z),{class:"w-4 h-4"}),u[8]||(u[8]=(0,a.Uk)(" Endpoint Configuration ",-1))]),(0,a._)("div",_r,[e.step.endpoint.url?((0,a.wg)(),(0,a.iD)("div",Sr,[u[9]||(u[9]=(0,a._)("span",{class:"text-muted-foreground"},"URL:",-1)),(0,a._)("p",Dr,(0,r.zw)(e.step.endpoint.url),1)])):(0,a.kq)("",!0),e.step.endpoint.method?((0,a.wg)(),(0,a.iD)("div",Ur,[u[10]||(u[10]=(0,a._)("span",{class:"text-muted-foreground"},"Method:",-1)),(0,a._)("p",zr,(0,r.zw)(e.step.endpoint.method),1)])):(0,a.kq)("",!0),e.step.endpoint.interval?((0,a.wg)(),(0,a.iD)("div",Wr,[u[11]||(u[11]=(0,a._)("span",{class:"text-muted-foreground"},"Interval:",-1)),(0,a._)("p",Cr,(0,r.zw)(e.step.endpoint.interval),1)])):(0,a.kq)("",!0),e.step.endpoint.timeout?((0,a.wg)(),(0,a.iD)("div",jr,[u[12]||(u[12]=(0,a._)("span",{class:"text-muted-foreground"},"Timeout:",-1)),(0,a._)("p",Hr,(0,r.zw)(e.step.endpoint.timeout),1)])):(0,a.kq)("",!0)])])):(0,a.kq)("",!0),e.step.result?.errors?.length?((0,a.wg)(),(0,a.iD)("div",Rr,[(0,a._)("h3",Fr,[(0,a.Wm)((0,n.SU)(Oe.Z),{class:"w-4 h-4"}),(0,a.Uk)(" Result Errors ("+(0,r.zw)(e.step.result.errors.length)+") ",1)]),(0,a._)("div",qr,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(e.step.result.errors,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{key:t,class:"p-3 bg-red-50 dark:bg-red-900/50 border border-red-200 dark:border-red-700 rounded text-sm font-mono text-red-800 dark:text-red-300 break-all"},(0,r.zw)(e),1)))),128))])])):(0,a.kq)("",!0)])])]))}};const Zr=$r;var Tr=Zr;const Er={class:"suite-details-container bg-background min-h-screen"},Lr={class:"container mx-auto px-4 py-8 max-w-7xl"},Ar={class:"mb-6"},Nr={class:"flex items-start justify-between"},Mr={class:"text-3xl font-bold tracking-tight"},Ir={class:"text-muted-foreground mt-2"},Yr={key:0},Or={key:1},Kr={class:"flex items-center gap-2"},Pr={key:0,class:"flex items-center justify-center py-20"},Vr={key:1,class:"text-center py-20"},Gr={key:2,class:"space-y-6"},Br={class:"space-y-4"},Jr={class:"grid grid-cols-2 md:grid-cols-4 gap-4"},Qr={class:"text-lg font-medium"},Xr={class:"text-lg font-medium"},en={class:"text-lg font-medium"},tn={class:"text-lg font-medium"},sn={class:"mt-6"},ln={key:0,class:"mt-6"},an={class:"space-y-2"},rn={key:0,class:"space-y-2"},nn=["onClick"],on={class:"flex items-center gap-3"},un={class:"text-sm font-medium"},dn={class:"text-xs text-muted-foreground"},cn={key:1,class:"text-center py-8 text-muted-foreground"};var gn={__name:"SuiteDetails",setup(e){const t=(0,u.tv)(),s=(0,u.yj)(),l=(0,n.iH)(!1),o=(0,n.iH)(null),i=(0,n.iH)(null),d=(0,n.iH)(null),c=(0,n.iH)(0),g=(0,a.Fl)((()=>o.value&&o.value.results&&0!==o.value.results.length?[...o.value.results].sort(((e,t)=>new Date(t.timestamp)-new Date(e.timestamp))):[])),p=(0,a.Fl)((()=>o.value&&o.value.results&&0!==o.value.results.length?i.value||g.value[0]:null)),m=async()=>{l.value=!0;try{const e=await fetch(`${xn}/api/v1/suites/${s.params.key}/statuses`,{credentials:"include"});if(200===e.status){const t=await e.json();if(o.value=t,t.results&&t.results.length>0&&!i.value){const e=[...t.results].sort(((e,t)=>new Date(t.timestamp)-new Date(e.timestamp)));i.value=e[0]}}else 404===e.status?o.value=null:console.error("[SuiteDetails][fetchData] Error:",await e.text())}catch(e){console.error("[SuiteDetails][fetchData] Error:",e)}finally{l.value=!1}},v=()=>{m()},f=()=>{t.push("/")},w=e=>E(e),x=e=>{const t=new Date(e);return t.toLocaleString()},b=e=>{if(!e&&0!==e)return"N/A";const t=e/1e6;return t<1e3?`${t.toFixed(0)}ms`:`${(t/1e3).toFixed(2)}s`},y=e=>{if(!e||!e.endpointResults||0===e.endpointResults.length)return 0;const t=e.endpointResults.filter((e=>e.success)).length;return Math.round(t/e.endpointResults.length*100)},_=(0,a.Fl)((()=>{if(!p.value||!p.value.endpointResults)return[];const e=p.value.endpointResults;return e.map(((t,s)=>{const l=o.value?.endpoints?.[s],a=e[s+1];let r=!1;for(let n=0;n_.value.filter((e=>"success"===e.status)).length)),U=(0,a.Fl)((()=>_.value.length?Math.round(S.value/_.value.length*100):0)),z=e=>e?e.conditionResults&&e.conditionResults.some((e=>e.condition.includes("SKIP")))?"skipped":e.success?"success":"failed":"not-started",C=(e,t)=>{d.value=e,c.value=t};return(0,a.bv)((()=>{m()})),(e,t)=>((0,a.wg)(),(0,a.iD)("div",Er,[(0,a._)("div",Lr,[(0,a._)("div",Ar,[(0,a.Wm)((0,n.SU)(h),{variant:"ghost",size:"sm",onClick:f,class:"mb-4"},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(Sl.Z),{class:"h-4 w-4 mr-2"}),t[1]||(t[1]=(0,a.Uk)(" Back to Dashboard ",-1))])),_:1,__:[1]}),(0,a._)("div",Nr,[(0,a._)("div",null,[(0,a._)("h1",Mr,(0,r.zw)(o.value?.name||"Loading..."),1),(0,a._)("p",Ir,[o.value?.group?((0,a.wg)(),(0,a.iD)("span",Yr,(0,r.zw)(o.value.group)+" • ",1)):(0,a.kq)("",!0),p.value?((0,a.wg)(),(0,a.iD)("span",Or,(0,r.zw)(i.value&&i.value!==g.value[0]?"Ran":"Last run")+" "+(0,r.zw)(w(p.value.timestamp)),1)):(0,a.kq)("",!0)])]),(0,a._)("div",Kr,[p.value?((0,a.wg)(),(0,a.j4)(st,{key:0,status:p.value.success?"healthy":"unhealthy"},null,8,["status"])):(0,a.kq)("",!0),(0,a.Wm)((0,n.SU)(h),{variant:"ghost",size:"icon",onClick:v,title:"Refresh"},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(Ye.Z),{class:"h-5 w-5"})])),_:1})])])]),l.value?((0,a.wg)(),(0,a.iD)("div",Pr,[(0,a.Wm)(de,{size:"lg"})])):o.value?((0,a.wg)(),(0,a.iD)("div",Gr,[p.value?((0,a.wg)(),(0,a.j4)((0,n.SU)(k),{key:0},{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(D),null,{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(W),null,{default:(0,a.w5)((()=>t[4]||(t[4]=[(0,a.Uk)("Latest Execution",-1)]))),_:1,__:[4]})])),_:1}),(0,a.Wm)((0,n.SU)(H),null,{default:(0,a.w5)((()=>[(0,a._)("div",Br,[(0,a._)("div",Jr,[(0,a._)("div",null,[t[5]||(t[5]=(0,a._)("p",{class:"text-sm text-muted-foreground"},"Status",-1)),(0,a._)("p",Qr,(0,r.zw)(p.value.success?"Success":"Failed"),1)]),(0,a._)("div",null,[t[6]||(t[6]=(0,a._)("p",{class:"text-sm text-muted-foreground"},"Duration",-1)),(0,a._)("p",Xr,(0,r.zw)(b(p.value.duration)),1)]),(0,a._)("div",null,[t[7]||(t[7]=(0,a._)("p",{class:"text-sm text-muted-foreground"},"Endpoints",-1)),(0,a._)("p",en,(0,r.zw)(p.value.endpointResults?.length||0),1)]),(0,a._)("div",null,[t[8]||(t[8]=(0,a._)("p",{class:"text-sm text-muted-foreground"},"Success Rate",-1)),(0,a._)("p",tn,(0,r.zw)(y(p.value))+"%",1)])]),(0,a._)("div",sn,[t[9]||(t[9]=(0,a._)("h3",{class:"text-lg font-semibold mb-4"},"Execution Flow",-1)),(0,a.Wm)(Ba,{"flow-steps":_.value,"progress-percentage":U.value,"completed-steps":S.value,"total-steps":_.value.length,onStepSelected:C},null,8,["flow-steps","progress-percentage","completed-steps","total-steps"])]),p.value.errors&&p.value.errors.length>0?((0,a.wg)(),(0,a.iD)("div",ln,[t[10]||(t[10]=(0,a._)("h3",{class:"text-lg font-semibold mb-3 text-red-500"},"Suite Errors",-1)),(0,a._)("div",an,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(p.value.errors,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{key:t,class:"bg-red-50 dark:bg-red-950 text-red-700 dark:text-red-300 p-3 rounded-md text-sm"},(0,r.zw)(e),1)))),128))])])):(0,a.kq)("",!0)])])),_:1})])),_:1})):(0,a.kq)("",!0),(0,a.Wm)((0,n.SU)(k),null,{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(D),null,{default:(0,a.w5)((()=>[(0,a.Wm)((0,n.SU)(W),null,{default:(0,a.w5)((()=>t[11]||(t[11]=[(0,a.Uk)("Execution History",-1)]))),_:1,__:[11]})])),_:1}),(0,a.Wm)((0,n.SU)(H),null,{default:(0,a.w5)((()=>[g.value.length>0?((0,a.wg)(),(0,a.iD)("div",rn,[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(g.value,((e,t)=>((0,a.wg)(),(0,a.iD)("div",{key:t,class:(0,r.C_)(["flex items-center justify-between p-3 border rounded-lg hover:bg-accent/50 transition-colors cursor-pointer",{"bg-accent":i.value===e}]),onClick:t=>i.value=e},[(0,a._)("div",on,[(0,a.Wm)(st,{status:e.success?"healthy":"unhealthy",size:"sm"},null,8,["status"]),(0,a._)("div",null,[(0,a._)("p",un,(0,r.zw)(x(e.timestamp)),1),(0,a._)("p",dn,(0,r.zw)(e.endpointResults?.length||0)+" endpoints • "+(0,r.zw)(b(e.duration)),1)])]),(0,a.Wm)((0,n.SU)(Be.Z),{class:"h-4 w-4 text-muted-foreground"})],10,nn)))),128))])):((0,a.wg)(),(0,a.iD)("div",cn," No execution history available "))])),_:1})])),_:1})])):((0,a.wg)(),(0,a.iD)("div",Vr,[(0,a.Wm)((0,n.SU)(Oe.Z),{class:"h-12 w-12 text-muted-foreground mx-auto mb-4"}),t[2]||(t[2]=(0,a._)("h3",{class:"text-lg font-semibold mb-2"},"Suite not found",-1)),t[3]||(t[3]=(0,a._)("p",{class:"text-muted-foreground"},"The requested suite could not be found.",-1))]))]),(0,a.Wm)(ks,{onRefreshData:m}),d.value?((0,a.wg)(),(0,a.j4)(Tr,{key:0,step:d.value,index:c.value,onClose:t[0]||(t[0]=e=>d.value=null)},null,8,["step","index"])):(0,a.kq)("",!0)]))}};const pn=(0,q.Z)(gn,[["__scopeId","data-v-92dafcfe"]]);var mn=pn;const vn=[{path:"/",name:"Home",component:_l},{path:"/endpoints/:key",name:"EndpointDetails",component:fa},{path:"/suites/:key",name:"SuiteDetails",component:mn}],fn=(0,u.p7)({history:(0,u.PO)("/"),routes:vn});var wn=fn;const xn="";(0,l.ri)(Ne).use(wn).mount("#app")}},t={};function s(l){var a=t[l];if(void 0!==a)return a.exports;var r=t[l]={exports:{}};return e[l](r,r.exports,s),r.exports}s.m=e,function(){var e=[];s.O=function(t,l,a,r){if(!l){var n=1/0;for(d=0;d=r)&&Object.keys(s.O).every((function(e){return s.O[e](l[u])}))?l.splice(u--,1):(o=!1,r0&&e[d-1][2]>r;d--)e[d]=e[d-1];e[d]=[l,a,r]}}(),function(){s.d=function(e,t){for(var l in t)s.o(t,l)&&!s.o(e,l)&&Object.defineProperty(e,l,{enumerable:!0,get:t[l]})}}(),function(){s.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){s.p="/"}(),function(){var e={143:0};s.O.j=function(t){return 0===e[t]};var t=function(t,l){var a,r,n=l[0],o=l[1],u=l[2],i=0;if(n.some((function(t){return 0!==e[t]}))){for(a in o)s.o(o,a)&&(s.m[a]=o[a]);if(u)var d=u(s)}for(t&&t(l);i