1import{l as A,j as e,c as I,S as E,G as v,o as h,p as D,B as o,L as c,A as d,M as U,r as l,C as m,h as w,T as W,q as k}from"./main-B6ad0HGq.js";import{C as B}from"./cat-watching-Ck9kdWxy.js";import{C as _}from"./cat-sleeping-DAssxybd.js";import{S as L}from"./shield-Bypz2maJ.js";import{S as O}from"./server-szq88FgG.js";import{T as M}from"./timer-8xOHQgrg.js";import{L as S}from"./lock-VkYSflJx.js";import{C as R,G as F}from"./git-compare-CyRo3QeD.js";import{F as H}from"./file-text-BjKQbK9R.js";import{Z as Y}from"./zap-BVDKcwWi.js";import{C as N}from"./circle-x-DcljpLUc.js";import{M as z}from"./mail-C4LwpwDO.js";import{M as b}from"./message-square-ClbdTEgO.js";import{W as G}from"./webhook-Dl7RYEcc.js";(function(){try{var s=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};s.SENTRY_RELEASE={id:"ea1ea076f7ba40168896c271d7eb9ff92aaf9cd8"};var t=new s.Error().stack;t&&(s._sentryDebugIds=s._sentryDebugIds||{},s._sentryDebugIds[t]="acab97cc-8728-4b3f-a737-e61a7b3a757d",s._sentryDebugIdIdentifier="sentry-dbid-acab97cc-8728-4b3f-a737-e61a7b3a757d")}catch{}})();const V=[["path",{d:"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384",key:"9njp5v"}]],C=A("phone",V);const q=[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]],Q=A("wifi",q),g=[{id:"uptime",label:"Uptime Monitoring",icon:v,visual:"uptime",bullets:["HTTP, HTTPS, TCP, Ping â all at 30-second intervals","Response time tracking with percentile charts","Consecutive-check confirmation before alerting"]},{id:"cron",label:"Cron & Heartbeat",icon:M,visual:"cron",bullets:["Your service pings a unique URL on schedule","Alert if the ping is late or missing entirely","Included on all plans â competitors charge extra"]},{id:"ssl",label:"SSL & DNS",icon:S,visual:"ssl",bullets:["SSL expiry alerts before your cert lapses","DNS record monitoring (A, AAAA, CNAME, MX, TXT, NS)","Catch misconfigurations before users see errors"]},{id:"status",label:"Status Pages",icon:H,visual:"status",bullets:["Public status page with custom domain support","Subscriber notifications on incidents","5 status pages on Pro; unlimited on Team and Business"]},{id:"alerts",label:"Alert Channels",icon:h,visual:"alerts",bullets:["Email, Slack, Discord, Telegram","One-click OAuth setup â no webhook copy-paste","Escalation policies with step-based routing"]}],X=[{accent:"text-status-up",accentBg:"bg-status-up/10",label:"30-second checks",title:"Detect outages 10x faster",description:"Most free plans check every 5 minutes. Your site could be down for 4 minutes and 59 seconds before anyone knows. Uptrack checks every 30 seconds on every subscription plan.",visual:"uptimeBars"},{accent:"text-primary",accentBg:"bg-primary/10",label:"Alert confirmation",title:"No more 3am wake-ups from DNS blips",description:"A single failed check could be a CDN hiccup, a DNS timeout, or a network blip. Uptrack requires 2-5 consecutive failures before creating an incident. You only hear about real outages.",visual:"alertFlow"},{accent:"text-sky-400",accentBg:"bg-sky-400/10",label:"Status pages",title:'A status page that answers "is it down?"',description:"Give your users a public status page. When something breaks, they check the page instead of flooding your inbox. Custom domains, subscriber notifications, and incident updates included.",visual:"statusPage"},{accent:"text-amber-400",accentBg:"bg-amber-400/10",label:"Multi-channel alerts",title:"Alerts where your team actually looks",description:"Email, Slack, Discord, and Telegram. One-click OAuth setup â no webhook copy-paste. Configure escalation policies so the right person gets notified at the right time.",visual:"alertChannels"}],K=[{name:"UptimeRobot",pain:"Free plan went commercial-only. False alerts from single-check monitoring.",link:"/compare/uptimerobot"},{name:"Pingdom",pain:"Enterprise prices for basic monitoring. $1/monitor adds up fast.",link:"/compare/pingdom"},{name:"Better Stack",pain:"Per-monitor + per-responder pricing. $129+/mo for a small team.",link:"/compare/betterstack"},{name:"Datadog",pain:"Full observability platform. Bill shock â thousands/month for simple uptime checks.",link:"/compare/datadog"},{name:"HetrixTools",pain:"Reliable but dated UI from the 2010s. No alert confirmation, slow feature updates.",link:"/compare/hetrixtools"}
1,{name:"Uptime Kuma",pain:"Great self-hosted option, but you maintain the server. No HA, no REST API.",link:"/compare/uptime-kuma"},{name:"StatusCake",pain:"Users report 180+ false alerts in a single night. ~50% accuracy.",link:"/compare/statuscake"},{name:"Freshping",pain:"50 free monitors but frequent false alerts. Limited notification channels.",link:"/compare/freshping"}];function Ie(){return e.jsxs("div",{className:"dark flex min-h-screen flex-col bg-background text-foreground",children:[e.jsx(I,{}),e.jsxs("main",{className:"flex-1",children:[e.jsx(Z,{}),e.jsx(re,{}),e.jsx(te,{}),e.jsx(J,{}),e.jsx(ee,{}),e.jsx(se,{}),e.jsx(ae,{}),e.jsx(ne,{}),e.jsx(ie,{}),e.jsx(le,{}),e.jsx(oe,{}),e.jsx(ce,{})]}),e.jsx(E,{})]})}function Z(){return e.jsxs("section",{className:"relative overflow-hidden",children:[e.jsxs("div",{className:"pointer-events-none absolute inset-0",children:[e.jsx("div",{className:"absolute inset-0 marketing-hero-glow"}),e.jsx("div",{className:"absolute inset-0 marketing-hero-glow"})]}),e.jsxs("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center",style:{top:"-5%"},children:[e.jsx("style",{children:` 2 @keyframes orbit-spin { 100% { transform: rotate(360deg); } } 3 @keyframes orbit-counter { 100% { transform: rotate(-360deg); } } 4 `}),e.jsx("div",{className:"relative rounded-full border border-white/[0.04]",style:{width:"900px",height:"900px",animation:"orbit-spin 80s linear infinite"},children:[{Icon:v,color:"#10b981",angle:0},{Icon:L,color:"#7c3aed",angle:45},{Icon:h,color:"#f59e0b",angle:90},{Icon:D,color:"#3b82f6",angle:135},{Icon:Q,color:"#ec4899",angle:180},{Icon:O,color:"#10b981",angle:225},{Icon:M,color:"#8b5cf6",angle:270},{Icon:S,color:"#06b6d4",angle:315}].map(({Icon:s,color:t,angle:r})=>e.jsx("div",{className:"absolute left-1/2 top-1/2",style:{transform:`rotate(${r}deg) translateY(-450px) rotate(-${r}deg)`},children:e.jsx("div",{className:"flex h-12 w-12 items-center justify-center rounded-full border border-white/[0.06] bg-background/80 backdrop-blur-sm",style:{animation:"orbit-counter 80s linear infinite"},children:e.jsx(s,{className:"h-5 w-5",style:{color:t}})})},r))})]}),e.jsx("div",{className:"container relative mx-auto px-4 pt-12 pb-8 md:pt-20 md:pb-12",children:e.jsxs("div",{className:"mx-auto max-w-4xl text-center",children:[e.jsx("div",{className:"mb-6 flex justify-center",children:e.jsx(B,{size:100,className:"drop-shadow-[0_0_30px_rgba(117,83,255,0.2)]"})}),e.jsxs("h1",{className:"mb-6 text-4xl font-bold tracking-tight sm:text-5xl md:text-6xl lg:text-7xl",children:["Monitoring that logs in",e.jsx("br",{}),e.jsx("span",{className:"text-primary",children:"and checks out."})]}),e.jsxs("p",{className:"mx-auto mb-10 max-w-2xl text-lg text-muted-foreground md:text-xl",children:["The cheapest"," ",e.jsx("span",{className:"rounded-sm bg-status-up/15 px-1.5 py-0.5 font-semibold text-status-up",children:"30-second"})," uptime monitoring. Real"," ",e.jsx("span",{className:"rounded-sm bg-primary/15 px-1.5 py-0.5 font-semibold text-foreground",children:"browser checks"})," ","run your login, signup, and checkout â with a"," ",e.jsx("span",{className:"rounded-sm bg-status-up/15 px-1.5 py-0.5 font-semibold text-status-up",children:"screenshot"})," the moment a step breaks."]}),e.jsxs("div",{className:"mb-6 flex flex-col justify-center gap-3 sm:flex-row sm:gap-4",children:[e.jsx(o,{size:"lg",asChild:!0,className:"text-base",children:e.jsxs(c,{to:"/signup",children:["Get Started",e.jsx(d,{className:"ml-2 h-4 w-4"})]})}),e.jsx(o,{size:"lg",variant:"outline",asChild:!0,className:"text-base",children:e.jsx(c,{to:"/pricing",children:"View Pricing"})})]}),e.jsx("p",{className:"mb-2 text-sm text-muted-foreground",children:"Subscription plans from $3/month."}),e.jsxs("p",{className:"mb-8 text-sm text-muted-foreground",children:["Questions? ",e.jsx(c,{to:"/chat",className:"text-primary underline underline-offset-2 hover:text-primary/80",children:"Ask Uptrack â"})]}),e.jsx("div",{className:"flex flex-wrap items-center justify-center gap-x-6 gap-y-2 text-sm text-muted-foreground",children:e.jsxs("span",{children:["Checked from ",e.jsx("span",{className:"font-mono font-semibold text-foreground",children:"3"})," continents"]})})]})})]})}function J(){const[s,t]=l.useState("uptime"),r=g.find(a=>a.id===s)??g[0];return e.jsx("section",{className:"border-t border-border/50 py-24",children:e.jsxs("div",{className:"container mx-auto px-4",children:[e.jsx("h2",{className:"mb-4 text-center text-2xl font-bold md:text-4xl",children:"Everything you need to monitor"}),e.jsx("p",{className:"mx-auto mb-12 max-w-xl text-center text-muted-foreground",children:"Uptime, cron jobs, SSL certificates, DNS records, and public status pages â all from one dashboard."}),e.jsxs("div",{className:"mx-auto mb-8 max-w-md rounded-lg border border-status-up/20 bg-status-up/5 px-4 py-3 text-center text-sm",children:[e.jsx("span",{className:"font-semibold text-status-up",children:"Cheapest 30-second checks â all at 30 seconds."})," ",e.jsx("span",{className:"text-muted-foreground",children:"On every subscription plan, from $3/mo."})]}),e.jsx("div",{className:"mb-10 flex justify-center",children:e.jsx("div",{className:"flex gap-1 overflow-x-auto rounded-xl border border-border/50 bg-card/50 p-1.5 scrollbar-none",children:g.map(a=>{const n=a.icon;return e.jsxs("button",{type:"button",onClick:()=>t(a.id),className:`flex shrink-0 items-center gap-2 rounded-lg px-4 py-2.5 text-sm font-medium transition-all ${s===a.id?"bg-primary text-primary-foreground shadow-sm":"text-muted-foreground hover:bg-muted/50 hover:text-foreground"}`,children:[e.jsx(n,{className:"h-4 w-4"}),e.jsx("span",{className:"hidden sm:inline",children:a.label})]},a.id)})})}),e.jsx("div",{className:"mx-auto max-w-6xl",children:e.jsxs("div",{className:"flex flex-col items-center gap-10 lg:flex-row lg:gap-16",children:[e.jsx("div",{className:"flex-1",children:e.jsx("div",{className:"overflow-hidden rounded-xl border-2 border-primary/30 bg-[#1e1a2e] shadow-xl shadow-primary/5",children:e.jsx(de,{type:r.visual})})}),e.jsxs("div",{className:"flex-1 lg:max-w-md",children:[e.jsxs("div",{className:"mb-4 flex items-center gap-2",children:[e.jsx(r.icon,{className:"h-5 w-5 text-primary"}),e.jsx("h3",{className:"text-xl font-semibold",children:r.label})]}),e.jsx("ul",{className:"space-y-4",children:r.bullets.map(a=>e.jsxs("li",{className:"flex gap-3 text-muted-foreground",children:[e.jsx(m,{className:"mt-0.5 h-5 w-5 shrink-0 text-primary"}),e.jsx("span",{children:a})]},a))}),e.jsx("div",{className:"mt-8",children:e.jsx(o,{variant:"outline",asChild:!0,children:e.jsxs(c,{to:"/signup",children:["Get started",e.jsx(d,{className:"ml-2 h-4 w-4"})]})})})]})]})})]})})}function ee(){return e.jsx("section",{className:"border-t border-border/50 bg-secondary/30 py-24",children:e.jsxs("div",{className:"container mx-auto px-4",children:[e.jsxs("div",{className:"mx-auto max-w-3xl text-center",children:[e.jsxs(w,{variant:"secondary",className:"mb-6 border border-primary/30 bg-primary/10 text-primary",children:[e.jsx(Y,{className:"mr-1 h-3 w-3"}),"Cheapest 30-second checks â on every plan"]}),e.jsx("h2",{className:"mb-4 text-2xl font-bold md:text-4xl",children:"Why 30 seconds matters"}),e.jsx("p",{className:"mx-auto mb-12 max-w-xl text-muted-foreground",children:"Most free plans check every 5 minutes. That means your site could be down for 4 minutes and 59 seconds before you know. Uptrack gives you 30-second checks at the lowest price â from $3/mo. Here's how that adds up."})]}),e.jsxs("div",{className:"mx-auto grid max-w-4xl gap-6 md:grid-cols-3",children:[e.jsxs("div",{className:"rounded-xl border border-border/50 bg-card/50 p-6 text-center",children:[e.jsx("div",{className:"mb-3 font-mono text-4xl font-bold text-status-down",children:"4:59"}),e.jsx("div",{className:"mb-1.5 text-base font-semibold",children:"5-minute checks"}
4),e.jsx("div",{className:"text-sm text-foreground/60",children:"Worst-case detection time. Most free plans."})]}),e.jsxs("div",{className:"rounded-xl border border-border/50 bg-card/50 p-6 text-center",children:[e.jsx("div",{className:"mb-3 font-mono text-4xl font-bold text-amber-400",children:"0:59"}),e.jsx("div",{className:"mb-1.5 text-base font-semibold",children:"1-minute checks"}),e.jsx("div",{className:"text-sm text-foreground/60",children:"Best paid plans. Usually $10+/mo."})]}),e.jsxs("div",{className:"rounded-xl border border-primary/30 bg-primary/5 p-6 text-center",children:[e.jsx("div",{className:"mb-3 font-mono text-4xl font-bold text-status-up",children:"0:29"}),e.jsx("div",{className:"mb-1.5 text-base font-semibold text-primary",children:"30-second checks"}),e.jsx("div",{className:"text-sm text-foreground/60",children:"Uptrack. Every subscription. Every monitor."})]})]}),e.jsx("p",{className:"mx-auto mt-8 max-w-lg text-center text-sm text-foreground/60",children:"10x faster than the average free plan. That's the difference between catching an outage during checkout and losing a customer."})]})})}function se(){const s=l.useRef(null),[t,r]=l.useState(!1);l.useEffect(()=>{const n=s.current;if(!n)return;const i=new IntersectionObserver(([f])=>{f.isIntersecting&&r(!0)},{threshold:.2});return i.observe(n),()=>i.disconnect()},[]);const a=[{icon:N,color:"text-status-down",bg:"bg-status-down/10 border-status-down/20",label:"Check fails",detail:"First check returns an error â could be a blip or a real outage."},{icon:W,color:"text-amber-400",bg:"bg-amber-400/10 border-amber-400/20",label:"Confirmation check",detail:"Uptrack immediately re-checks. One failure isn't enough to wake you up."},{icon:k,color:"text-status-up",bg:"bg-status-up/10 border-status-up/20",label:"Confirmed â Alert sent",detail:"Multiple consecutive failures confirmed. Slack, email, SMS â only for real outages."}];return e.jsx("section",{id:"how-it-works",className:"scroll-mt-20 border-t border-border/50 bg-secondary/30 py-24",ref:s,children:e.jsxs("div",{className:"container mx-auto px-4",children:[e.jsx("h2",{className:"mb-4 text-center text-2xl font-bold md:text-4xl",children:"How alert confirmation works"}),e.jsx("p",{className:"mx-auto mb-16 max-w-xl text-center text-muted-foreground",children:"Most monitors alert on the first failed check. Uptrack requires consecutive failures â so you only hear about real incidents."}),e.jsxs("div",{className:"mx-auto max-w-4xl",children:[e.jsx("div",{className:"grid gap-6 md:grid-cols-3",children:a.map((n,i)=>e.jsxs("div",{className:`relative rounded-xl border ${n.bg} p-6 transition-all duration-700 ${t?"translate-y-0 opacity-100":"translate-y-8 opacity-0"}`,style:{transitionDelay:`${i*200}ms`},children:[i<a.length-1&&e.jsx("div",{className:"absolute -right-3 top-1/2 hidden h-0.5 w-6 bg-border/50 md:block"}),e.jsxs("div",{className:"mb-4 flex items-center gap-3",children:[e.jsx("div",{className:`flex h-10 w-10 items-center justify-center rounded-full ${n.bg}`,children:e.jsx(n.icon,{className:`h-5 w-5 ${n.color}`})}),e.jsxs("span",{className:"text-xs font-semibold uppercase tracking-wider text-muted-foreground",children:["Step ",i+1]})]}),e.jsx("h3",{className:"mb-2 text-lg font-semibold",children:n.label}),e.jsx("p",{className:"text-sm leading-relaxed text-foreground/60",children:n.detail})]},n.label))}),e.jsxs("div",{className:"mt-12 grid gap-6 md:grid-cols-2",children:[e.jsxs("div",{className:"rounded-xl border border-border/50 bg-card/50 p-6",children:[e.jsxs("div",{className:"mb-3 flex items-center gap-2",children:[e.jsx("span",{className:"rounded-md bg-amber-500/20 px-2.5 py-1 text-xs font-semibold text-amber-400",children:"Transient failure"}),e.jsx("span",{className:"text-sm text-foreground/60",children:"â filtered"})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"flex h-8 w-8 items-center justify-center rounded-full bg-status-down/20 text-xs font-bold text-status-down",children:"1"}),e.jsx("div",{className:"h-0.5 flex-1 rounded-full bg-gradient-to-r from-status-down/30 to-status-up/30"}),e.jsx("div",{className:"flex h-8 w-8 items-center justify-center rounded-full bg-status-up/20 text-xs font-bold text-status-up",children:"2"}),e.jsx("span",{className:"rounded bg-status-up/20 px-2 py-0.5 text-xs font-semibold text-status-up",children:"No alert"})]}
4),e.jsx("p",{className:"mt-3 text-sm text-foreground/60",children:"DNS timeout â re-check passes â you sleep through it."})]}),e.jsxs("div",{className:"rounded-xl border border-primary/30 bg-primary/5 p-6",children:[e.jsxs("div",{className:"mb-3 flex items-center gap-2",children:[e.jsx("span",{className:"rounded-md bg-status-down/20 px-2.5 py-1 text-xs font-semibold text-status-down",children:"Real outage"}),e.jsx("span",{className:"text-sm text-foreground/60",children:"â confirmed"})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"flex h-8 w-8 items-center justify-center rounded-full bg-status-down/20 text-xs font-bold text-status-down",children:"1"}),e.jsx("div",{className:"h-0.5 flex-1 rounded-full bg-status-down/20"}),e.jsx("div",{className:"flex h-8 w-8 items-center justify-center rounded-full bg-status-down/20 text-xs font-bold text-status-down",children:"2"}),e.jsx("div",{className:"h-0.5 flex-1 rounded-full bg-status-down/20"}),e.jsx("div",{className:"flex h-8 w-8 items-center justify-center rounded-full bg-status-down/20 text-xs font-bold text-status-down",children:"3"}),e.jsx("span",{className:"rounded bg-primary/20 px-2 py-0.5 text-xs font-semibold text-primary",children:"Alert sent"})]}),e.jsx("p",{className:"mt-3 text-sm text-foreground/60",children:"3 consecutive failures â confirmed â Slack, email, SMS."})]})]})]})]})})}function te(){const s=l.useRef(null),[t,r]=l.useState(!1),[a,n]=l.useState(0),[i,f]=l.useState({eu:42,us:187,india:203});return l.useEffect(()=>{const x=s.current;if(!x)return;const u=new IntersectionObserver(([p])=>{p.isIntersecting&&r(!0)},{threshold:.1});return u.observe(x),()=>u.disconnect()},[]),l.useEffect(()=>{if(!t)return;const x=setInterval(()=>{n(u=>{const p=(u+1)%5;return p===0&&f({eu:28+Math.floor(Math.random()*35),us:140+Math.floor(Math.random()*80),india:160+Math.floor(Math.random()*90)}),p})},1200);return()=>clearInterval(x)},[t]),e.jsxs("section",{className:"relative border-t border-border/50 py-24 overflow-hidden",ref:s,children:[e.jsx("div",{className:"pointer-events-none absolute inset-0",children:e.jsx("div",{className:"absolute left-1/2 top-1/3 h-[600px] w-[900px] -translate-x-1/2 -translate-y-1/2 bg-[radial-gradient(ellipse_at_center,rgba(16,185,129,0.06)_0%,transparent_70%)]"})}),e.jsxs("div",{className:"container relative mx-auto px-4",children:[e.jsxs("div",{className:"mx-auto mb-12 max-w-3xl text-center",children:[e.jsxs("h2",{className:"mb-4 text-2xl font-bold md:text-4xl",children:["Checked from 3 continents"," ",e.jsx("span",{className:"text-status-up",children:"before we alert you"})]}),e.jsx("p",{className:"mx-auto max-w-xl text-muted-foreground",children:"Your CDN edge in Frankfurt goes down. Your server is fine. Other monitors panic. We don't â because two other continents confirmed it's still up."})]}),e.jsx("div",{className:`relative mx-auto max-w-5xl transition-all duration-1000 ${t?"opacity-100":"opacity-0"}`,children:e.jsxs("div",{className:"relative",children:[e.jsx("img",{src:"/world-map-dots.svg",alt:"","aria-hidden":"true",className:"w-full h-auto",draggable:!1}),e.jsxs("svg",{className:"absolute inset-0 h-full w-full",viewBox:"0 0 1000 505",preserveAspectRatio:"xMidYMid meet",xmlns:"http://www.w3.org/2000/svg",children:[e.jsxs("defs",{children:[e.jsxs("filter",{id:"glow",children:[e.jsx("feGaussianBlur",{stdDeviation:"3",result:"blur"}),e.jsxs("feMerge",{children:[e.jsx("feMergeNode",{in:"blur"}),e.jsx("feMergeNode",{in:"SourceGraphic"})]})]}),e.jsx("style",{children:` 5 @keyframes pulse1 { 0%{r:7;opacity:.5} 100%{r:22;opacity:0} } 6 @keyframes pulse2 { 0%{r:7;opacity:.3} 100%{r:30;opacity:0} } 7 .rp1{animation:pulse1 2s ease-out infinite} 8 .rp2{animation:pulse2 2s ease-out infinite .5s} 9 10 @keyframes fwd{0%{offset-distance:0%;opacity:1}100%{offset-distance:100%;opacity:.3}} 11 @keyframes rev{0%{offset-distance:100%;opacity:1}100%{offset-distance:0%;opacity:.3}} 12 13 .p-us-eu-f{offset-path:path('M268,175 Q400,70 535,131');animation:fwd .35s ease-out infinite} 14 .p-us-eu-r{offset-path:path('M268,175 Q400,70 535,131');animation:rev .35s ease-out infinite .5s} 15 .p-eu-in-f{offset-path:path('M535,131 Q680,120 737,254');animation:fwd .45s ease-out infinite .15s} 16 .p-eu-in-r{offset-path:path('M535,131 Q680,120 737,254');animation:rev .45s ease-out infinite .6s} 17 .p-us-in-f{offset-path:path('M268,175 Q500,330 737,254');animation:fwd .5s ease-out infinite .3s} 18 .p-us-in-r{offset-path:path('M268,175 Q500,330 737,254');animation:rev .5s ease-out infinite .8s} 19 20 .trail{filter:blur(3px)} 21 `})]}),e.jsx("path",{d:"M268,175 Q400,70 535,131",fill:"none",stroke:"#10b981",strokeOpacity:"0.15",strokeWidth:"1.5"}),e.jsx("path",{d:"M535,131 Q680,120 737,254",fill:"none",stroke:"#10b981",strokeOpacity:"0.15",strokeWidth:"1.5"}),e.jsx("path",{d:"M268,175 Q500,330 737,254",fill:"none",stroke:"#10b981",strokeOpacity:"0.08",strokeWidth:"1"}),e.jsx("circle",{r:"8",fill:"#10b981",opacity:"0.15",className:"p-us-eu-f trail"}),e.jsx("circle",{r:"3",fill:"#10b981",className:"p-us-eu-f"}),e.jsx("circle",{r:"8",fill:"#10b981",opacity:"0.15",className:"p-us-eu-r trail"}),e.jsx("circle",{r:"2.5",fill:"#10b981",className:"p-us-eu-r"}),e.jsx("circle",{r:"8",fill:"#10b981",opacity:"0.15",className:"p-eu-in-f trail"}),e.jsx("circle",{r:"3",fill:"#10b981",className:"p-eu-in-f"}),e.jsx("circle",{r:"8",fill:"#10b981",opacity:"0.15",className:"p-eu-in-r trail"}),e.jsx("circle",{r:"2.5",fill:"#10b981",className:"p-eu-in-r"}),e.jsx("circle",{r:"8",fill:"#10b981",opacity:"0.12",className:"p-us-in-f trail"}),e.jsx("circle",{r:"2.5",fill:"#10b981",className:"p-us-in-f"}),e.jsx("circle",{r:"8",fill:"#10b981",opacity:"0.12",className:"p-us-in-r trail"}),e.jsx("circle",{r:"2",fill:"#10b981",className:"p-us-in-r"}),e.jsx("circle",{cx:"268",cy:"175",r:"7",className:"rp1",fill:"none",stroke:"#10b981",strokeWidth:"1.5",style:{animationDelay:"0.3s"}}),e.jsx("circle",{cx:"268",cy:"175",r:"7",className:"rp2",fill:"none",stroke:"#10b981",strokeWidth:"1",style:{animationDelay:"0.8s"}}),e.jsx("circle",{cx:"268",cy:"175",r:"5",fill:"#10b981",filter:"url
21(#glow)"}),e.jsx("text",{x:"268",y:"160",textAnchor:"middle",fill:"#10b981",fontSize:"13",fontWeight:"700",fontFamily:"system-ui,sans-serif",children:"US"}),e.jsx("circle",{cx:"535",cy:"131",r:"7",className:"rp1",fill:"none",stroke:"#10b981",strokeWidth:"1.5"}),e.jsx("circle",{cx:"535",cy:"131",r:"7",className:"rp2",fill:"none",stroke:"#10b981",strokeWidth:"1"}),e.jsx("circle",{cx:"535",cy:"131",r:"5",fill:"#10b981",filter:"url(#glow)"}),e.jsx("text",{x:"535",y:"116",textAnchor:"middle",fill:"#10b981",fontSize:"13",fontWeight:"700",fontFamily:"system-ui,sans-serif",children:"EU"}),e.jsx("circle",{cx:"737",cy:"254",r:"7",className:"rp1",fill:"none",stroke:"#10b981",strokeWidth:"1.5",style:{animationDelay:"0.6s"}}),e.jsx("circle",{cx:"737",cy:"254",r:"7",className:"rp2",fill:"none",stroke:"#10b981",strokeWidth:"1",style:{animationDelay:"1.1s"}}),e.jsx("circle",{cx:"737",cy:"254",r:"5",fill:"#10b981",filter:"url(#glow)"}),e.jsx("text",{x:"737",y:"239",textAnchor:"middle",fill:"#10b981",fontSize:"13",fontWeight:"700",fontFamily:"system-ui,sans-serif",children:"India"})]})]})}),e.jsxs("div",{className:"mx-auto mt-12 max-w-3xl",children:[e.jsxs("div",{className:`text-center transition-all duration-1000 delay-300 ${t?"translate-y-0 opacity-100":"translate-y-8 opacity-0"}`,children:[e.jsx("p",{className:"mb-3 text-lg leading-relaxed text-foreground/70",children:"Every check runs simultaneously from Europe, the US, and India. Only when the majority of regions agree your site is down do we alert."}),e.jsx("p",{className:"mb-8 text-sm text-foreground/50",children:"Built on the BEAM â the same runtime Ericsson uses for millions of simultaneous phone calls."}),e.jsxs(c,{to:"/blog/multi-region-consensus",className:"group inline-flex items-center gap-2 text-sm font-semibold text-status-up hover:text-status-up transition-colors",children:["How consensus works",e.jsx(d,{className:"h-4 w-4 transition-transform group-hover:translate-x-1"})]})]}),e.jsx("div",{className:`mt-10 transition-all duration-1000 delay-500 ${t?"translate-y-0 opacity-100":"translate-y-8 opacity-0"}`,children:e.jsx("div",{className:"rounded-xl border border-border/50 bg-card/50 p-4 md:p-6",children:e.jsxs("div",{className:"flex flex-col items-center justify-center gap-3 md:flex-row md:gap-4",children:[e.jsxs("div",{className:`flex items-center gap-2 transition-all duration-500 ${a>=1?"opacity-100":"opacity-20"}`,children:[e.jsx("span",{className:"flex h-6 w-6 items-center justify-center rounded-full bg-status-up/20",children:e.jsx(m,{className:"h-3.5 w-3.5 text-status-up"})}),e.jsx("span",{className:"text-sm font-medium",children:"EU"}),e.jsxs("span",{className:"font-mono text-xs text-foreground/50",children:[i.eu,"ms"]})]}),e.jsx("div",{className:"hidden h-px w-6 bg-border/50 md:block"}),e.jsxs("div",{className:`flex items-center gap-2 transition-all duration-500 ${a>=2?"opacity-100":"opacity-20"}`,children:[e.jsx("span",{className:"flex h-6 w-6 items-center justify-center rounded-full bg-status-up/20",children:e.jsx(m,{className:"h-3.5 w-3.5 text-status-up"})}),e.jsx("span",{className:"text-sm font-medium",children:"US"}),e.jsxs("span",{className:"font-mono text-xs text-foreground/50",children:[i.us,"ms"]})]}),e.jsx("div",{className:"hidden h-px w-6 bg-border/50 md:block"}),e.jsxs("div",{className:`flex items-center gap-2 transition-all duration-500 ${a>=3?"opacity-100":"opacity-20"}`,children:[e.jsx("span",{className:"flex h-6 w-6 items-center justify-center rounded-full bg-status-up/20",children:e.jsx(m,{className:"h-3.5 w-3.5 text-status-up"})}),e.jsx("span",{className:"text-sm font-medium",children:"India"}),e.jsxs("span",{className:"font-mono text-xs text-foreground/50",children:[i.india,"ms"]})]}),e.jsx("div",{className:"hidden h-px w-8 bg-border/50 md:block"}),e.jsxs("div",{className:`flex items-center gap-2 transition-all duration-500 ${a>=4?"opacity-100 scale-100":"opacity-20 scale-95"}`,children:[e.jsx("span",{className:`rounded-md px-3 py-1 text-xs font-bold transition-colors duration-500 ${a>=4?"bg-status-up/20 text-status-up":"bg-border/30 text-foreground
21/30"}`,children:"Consensus: UP"}),e.jsx("span",{className:`text-sm transition-opacity duration-500 ${a>=4?"opacity-100":"opacity-0"}`,children:"3/3 agree"})]})]})})})]})]})]})}function ae(){return e.jsx("section",{className:"border-t border-border/50 py-24",children:e.jsx("div",{className:"container mx-auto px-4",children:e.jsx("div",{className:"space-y-32",children:X.map((s,t)=>e.jsxs("div",{className:`mx-auto flex max-w-6xl flex-col items-center gap-10 lg:flex-row lg:gap-16 ${t%2===1?"lg:flex-row-reverse":""}`,children:[e.jsx("div",{className:"flex-1",children:e.jsx("div",{className:"overflow-hidden rounded-xl border-2 border-primary/30 bg-[#1e1a2e] shadow-xl shadow-primary/5",children:e.jsx(pe,{type:s.visual})})}),e.jsxs("div",{className:"flex-1 lg:max-w-lg",children:[e.jsx("span",{className:`inline-block rounded-md ${s.accentBg} px-3 py-1 text-sm font-semibold ${s.accent}`,children:s.label}),e.jsx("h3",{className:"mt-4 text-2xl font-bold md:text-3xl",children:s.title}),e.jsx("p",{className:"mt-4 text-lg leading-relaxed text-muted-foreground",children:s.description})]})]},s.label))})})})}function re(){const s=[{icon:U,title:"Your Playwright scripts",desc:"Log in, add to cart, check out â the flows pings canât see. No new DSL."},{icon:R,title:"A screenshot per step",desc:"When a step breaks, you see exactly where, with a stepped replay."},{icon:F,title:"Visual regression",desc:"Each run is diffed against a baseline; a layout shift drops the score and alerts you."}];return e.jsx("section",{className:"border-t border-border/50 py-24",children:e.jsxs("div",{className:"container mx-auto px-4",children:[e.jsxs("div",{className:"mx-auto mb-12 max-w-2xl text-center",children:[e.jsx("h2",{className:"mb-4 text-3xl font-bold",children:"Check the whole flow, not just the home page"}),e.jsx("p",{className:"text-muted-foreground",children:"A ping says the server answered. A browser check says a real user could actually log in and check out â with a screenshot of every step. Write a Playwright script; Uptrack runs it on a schedule."})]}),e.jsx("div",{className:"mx-auto grid max-w-4xl gap-8 sm:grid-cols-3",children:s.map(t=>e.jsxs("div",{className:"rounded-lg border border-border/50 bg-background p-6",children:[e.jsx(t.icon,{className:"mb-3 h-6 w-6 text-primary"}),e.jsx("h3",{className:"mb-2 text-lg font-semibold",children:t.title}),e.jsx("p",{className:"text-sm text-muted-foreground",children:t.desc})]},t.title))}),e.jsx("div",{className:"mt-10 text-center",children:e.jsx(o,{variant:"outline",asChild:!0,children:e.jsxs(c,{to:"/features/browser-monitoring",children:["How browser monitoring works",e.jsx(d,{className:"ml-2 h-4 w-4"})]})})})]})})}function ne(){return e.jsx("section",{id:"api",className:"scroll-mt-20 border-t border-border/50 bg-secondary/30 py-24",children:e.jsx("div",{className:"container mx-auto px-4",children:e.jsxs("div",{className:"mx-auto max-w-2xl text-center",children:[e.jsx("h2",{className:"mb-4 text-2xl font-bold md:text-4xl",children:"Developer-first tools"}),e.jsx("p",{className:"mb-8 text-muted-foreground",children:"API, CLI, and AI assistant integration on every plan. No feature gates, no Team+ upsells."}),e.jsx(be,{})]})})})}function ie(){return e.jsx("section",{className:"border-t border-border/50 py-24",children:e.jsxs("div",{className:"container mx-auto px-4",children:[e.jsx("h2",{className:"mb-4 text-center text-2xl font-bold md:text-4xl",children:"Transparent pricing"}),e.jsx("p",{className:"mx-auto mb-12 max-w-xl text-center text-muted-foreground",children:'The cheapest 30-second uptime monitoring. No "contact us" pricing. No bait-and-switch. What you see is what you pay.'}),e.jsxs("div",{className:"mx-auto grid max-w-5xl gap-4 md:grid-cols-3",children:[e.jsx(y,{name:"Pro",price:"$3",period:"/mo",features:["50 monitors â all at 30s","All channels + 30 SMS/call","Keyword monitoring","2yr history"],highlighted:!0}),e.jsx(y,{name:"Team",price:"$20",period:"/mo",features:["200 monitors â all at 30s","Unlimited status pages","Cron & heartbeat","Custom domain"]}),e.jsx(y,{name:"Business",price:"$79",period:"/mo",features:["1,000 monitors â all at 30s","SSO / Whitelabel","5yr history","Priority support"]})]}),e.jsx("div",{className:"mt-8 text-center",children:e.jsx(o,{variant:"outline",asChild:!0,children:e.jsxs(c,{to:"/pricing",children:["Compare plans in detail",e.jsx(d,{className:"ml-2 h-4 w-4"})]})})})]})})}function le(){return e.jsx("section",{className:"border-t border-border/50 bg-secondary/30 py-24",children:e.jsxs("div",{className:"container mx-auto px-4",children:[e.jsx("h2",{className:"mb-4 text-center text-2xl font-bold md:text-4xl",children:"Switching from something else?"}),e.jsx("p",{className:"mx-auto mb-12 max-w-xl text-center text-muted-foreground",children:"Honest comparisons. Where we win, where we don't, and who shouldn't use Uptrack."}),e.jsx("div",{className:"mx-auto grid max-w-5xl gap-4 sm:grid-cols-2 lg:grid-cols-4",children:K.map(s=>e.jsxs(c,{to:s.link,className:"group rounded-lg border border-border/50 bg-card p-4 transition-all hover:border-primary/50 hover:shadow-md",children:[e.jsx("h3",{className:"mb-1.5 font-semibold group-hover:text-primary",children:s.name}),e.jsx("p",{className:"mb-2 text-sm leading-relaxed text-foreground
21/60",children:s.pain}),e.jsx("span",{className:"text-xs font-medium text-primary",children:"Compare â"})]},s.name))})]})})}function oe(){return e.jsxs("section",{className:"relative overflow-hidden border-t border-border/50 py-24",children:[e.jsx("div",{className:"pointer-events-none absolute inset-0 marketing-hero-glow"}),e.jsx("div",{className:"container relative mx-auto px-4",children:e.jsxs("div",{className:"mx-auto max-w-2xl text-center",children:[e.jsx("h2",{className:"mb-4 text-2xl font-bold md:text-4xl",children:"Get a second opinion from an AI"}),e.jsxs("p",{className:"mx-auto mb-10 max-w-lg text-muted-foreground",children:["Ask ChatGPT, Claude, or Perplexity for an honest comparison. We publish"," ",e.jsx("a",{href:"/llms.txt",className:"text-primary hover:underline",children:"llms.txt"})," ","so they have the full picture."]}),e.jsxs("div",{className:"flex flex-col justify-center gap-3 sm:flex-row sm:gap-4",children:[e.jsx(o,{variant:"outline",size:"lg",asChild:!0,className:"border-primary/30 bg-primary/5 text-base hover:bg-primary/10",children:e.jsx("a",{href:"https://chatgpt.com/?q=Compare+Uptrack+vs+UptimeRobot+for+uptime+monitoring",target:"_blank",rel:"noopener noreferrer",children:"Ask ChatGPT"})}),e.jsx(o,{variant:"outline",size:"lg",asChild:!0,className:"border-orange-500/30 bg-
21orange-500/5 text-base hover:bg-orange-500/10",children:e.jsx("a",{href:"https://claude.ai/new?q=What+is+the+best+free+uptime+monitor+with+30+second+checks",target:"_blank",rel:"noopener noreferrer",children:"Ask Claude"})}),e.jsx(o,{variant:"outline",size:"lg",asChild:!0,className:"border-primary/30 bg-primary/5 text-base hover:bg-primary/10",children:e.jsx("a",{href:"https://perplexity.ai/search?q=Which+uptime+monitor+checks+from+3+continents+before+alerting",target:"_blank",rel:"noopener noreferrer",children:"Ask Perplexity"})})]})]})})]})}function ce(){return e.jsx("section",{className:"border-t border-border/50 bg-secondary/30 py-24",children:e.jsxs("div",{className:"container mx-auto px-4 text-center",children:[e.jsx(_,{size:160,className:"mx-auto mb-6"}),e.jsx("h2",{className:"mb-4 text-2xl font-bold md:text-4xl",children:"See every step still works."}),e.jsx("p",{className:"mx-auto mb-8 max-w-lg text-muted-foreground",children:"Point Uptrack at your login, signup, and checkout â or choose a subscription with checks at 30-second intervals. Set up your first monitor in under a minute."}),e.jsx(o,{size:"lg",asChild:!0,children:e.jsxs(c,{to:"/signup",children:["Get Started",e.jsx(d,{className:"ml-2 h-4 w-4"})]})})]})})}function T(){l.useEffect(()=>{const s="uptrack-animations";if(document.getElementById(s))return;const t=document.createElement("style");return t.id=s,t.textContent=["@keyframes pulse-bar{0%,100%{opacity:.4}50%{opacity:1}}","@keyframes slide-in{from{transform:translateX(-8px);opacity:0}to{transform:translateX(0);opacity:1}}","@keyframes ping-dot{0%{transform:scale(1);opacity:1}75%{transform:scale(2.5);opacity:0}100%{transform:scale(2.5);opacity:0}}","@keyframes heartbeat-line{0%{stroke-dashoffset:200}100%{stroke-dashoffset:0}}","@keyframes lock-pulse{0%,100%{filter:drop-shadow(0 0 4px rgba(34,197,94,.3))}50%{filter:drop-shadow(0 0 12px rgba(34,197,94,.6))}}","@keyframes fade-up{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}","@keyframes icon-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}"].join(` 22`),document.head.appendChild(t),()=>{t.remove()}},[])}function de({type:s}){switch(T(),s){case"uptime":return e.jsx(me,{});case"cron":return e.jsx(xe,{});case"ssl":return e.jsx(ue,{});case"status":return e.jsx($,{});case"alerts":return e.jsx(P,{});default:return null}}function me(){return e.jsxs("div",{className:"p-6",children:[e.jsx("div",{className:"mb-4 text-xs font-semibold uppercase tracking-wider text-muted-foreground",children:"Uptime â Last 30 days"}),e.jsx("div",{className:"space-y-3",children:["api.example.com","app.example.com","cdn.example.com"].map((s,t)=>e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("div",{className:"relative h-2.5 w-2.5",children:[e.jsx("div",{className:"h-2.5 w-2.5 rounded-full bg-status-up"}),e.jsx("div",{className:"absolute inset-0 rounded-full bg-status-up",style:{animation:`ping-dot 2.5s ease ${t*600}ms infinite`}})]}),e.jsx("span",{className:"w-40 font-mono text-sm",children:s}),e.jsx("div",{className:"flex flex-1 items-center gap-0.5",children:Array.from({length:30}).map((r,a)=>e.jsx("div",{className:`h-6 flex-1 rounded-sm ${a===18&&t===1?"bg-amber-500/70":"bg-status-up/60"}`,style:{animation:`fade-up 0.3s ease ${a*30+t*100}ms both`}},a))}),e.jsx("span",{className:"font-mono text-xs text-status-up",children:"99.99%"})]},s))})]})}function xe(){return e.jsxs("div",{className:"p-6",children:[e.jsx("div",{className:"mb-4 text-xs font-semibold uppercase tracking-wider text-muted-foreground",children:"Heartbeat Monitors"}),e.jsx("div",{className:"space-y-3",children:[{name:"daily-backup",schedule:"Every day at 2:00 AM",lastPing:"2m ago"},{name:"invoice-cron",schedule:"Every hour",lastPing:"12m ago"},{name:"cleanup-job",schedule:"Every 6 hours",lastPing:"3h ago"}].map((s,t)=>
22e.jsxs("div",{className:"flex items-center gap-4 rounded-lg border border-primary/20 bg-primary/5 p-3",style:{animation:`slide-in 0.4s ease ${t*120}ms both`},children:[e.jsxs("div",{className:"relative h-2.5 w-2.5",children:[e.jsx("div",{className:"h-2.5 w-2.5 rounded-full bg-status-up"}),e.jsx("div",{className:"absolute inset-0 rounded-full bg-status-up",style:{animation:`ping-dot 3s ease ${t*800}ms infinite`}})]}),e.jsxs("div",{className:"flex-1",children:[e.jsx("div",{className:"font-mono text-sm",children:s.name}),e.jsx("div",{className:"text-xs text-muted-foreground",children:s.schedule})]}),e.jsxs("div",{className:"text-right",children:[e.jsx("div",{className:"text-xs text-status-up",children:"on time"}),e.jsx("div",{className:"text-[10px] text-muted-foreground",children:s.lastPing})]})]},s.name))}),e.jsx("div",{className:"mt-4 flex justify-center",children:e.jsx("svg",{viewBox:"0 0 300 40",className:"h-10 w-full max-w-xs text-status-up",children:e.jsx("polyline",{fill:"none",stroke:"currentColor",strokeWidth:"2",points:"0,20 30,20 45,20 55,5 65,35 75,20 90,20 120,20 135,20 145,5 155,35 165,20 180,20 210,20 225,20 235,5 245,35 255,20 270,20 300,20",strokeDasharray:"200",style:{animation:"heartbeat-line 3s linear infinite"}})})})]})}function ue(){return e.jsxs("div",{className:"p-6",children:[e.jsx("div",{className:"mb-4 text-xs font-semibold uppercase tracking-wider text-muted-foreground",children:"SSL & DNS Checks"}),e.jsx("div",{className:"space-y-3",children:[{domain:"uptrack.app",type:"SSL",detail:"89 days left",grade:"A+"},{domain:"api.uptrack.app",type:"SSL",detail:"89 days left",grade:"A+"},{domain:"uptrack.app",type:"DNS A",detail:"152.53.18.xx",grade:null},{domain:"uptrack.app",type:"DNS MX",detail:"mx.brevo.com",grade:null}].map((s,t)=>e.jsxs("div",{className:"flex items-center gap-3 rounded-lg border border-primary/20 bg-primary/5 p-3",style:{animation:`slide-in 0.4s ease ${t*100}ms both`},children:[e.jsx("div",{style:{animation:"lock-pulse 3s ease infinite"},children:s.type==="SSL"?e.jsx(S,{className:"h-4 w-4 text-status-up"}):e.jsx(v,{className:"h-4 w-4 text-sky-400"})}),e.jsxs("div",{className:"flex-1",children:[e.jsx("div",{className:"font-mono text-sm",children:s.domain}),e.jsx("div",{className:"text-xs text-muted-foreground",children:s.type})]}),s.grade&&e.jsx("span",{className:"rounded bg-status-up/20 px-2 py-0.5 font-mono text-xs font-bold text-status-up",children:s.grade}),e.jsx("span",{className:"text-xs text-muted-foreground",children:s.detail})]},`${s.domain}-${s.type}`))})]})}function $(){return e.jsxs("div",{className:"p-6",children:[e.jsx("div",{className:"mb-1 text-lg font-bold",children:"Uptrack Status"}),e.jsx("div",{className:"mb-4 text-xs text-muted-foreground",children:"status.uptrack.app"}),e.jsxs("div",{className:"mb-4 flex items-center gap-2 rounded-lg bg-status-up/10 p-3",children:[e.jsx(k,{className:"h-5 w-5 text-status-up",style:{animation:"icon-bounce 2s ease infinite"}}),e.jsx("span",{className:"font-semibold text-status-up",children:"All Systems Operational"})]}),e.jsx("div",{className:"space-y-2",children:["API","Dashboard","Monitoring Engine","Alert Delivery"].map((s,t)=>e.jsxs("div",{className:"flex items-center justify-between rounded-lg border border-primary/20 bg-primary/5 p-2.5",style:{animation:`fade-up 0.3s ease ${t*80}ms both`},children:[e.jsx("span",{className:"text-sm",children:s}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"flex items-center gap-0.5",children:Array.from({length:14}).map((r,a)=>e.jsx("div",{className:"h-4 w-1 rounded-sm bg-status-up/60"},a))}),e.jsx("span",{className:"text-xs text-status-up",children:"Operational"})]})]},s))})]})}function P(){const s=[{name:"Email",icon:z,color:"text-sky-400 bg-sky-4
2200/10",delay:0},{name:"Slack",icon:b,color:"text-status-up bg-status-up/10",delay:100},{name:"Discord",icon:b,color:"text-primary bg-primary/10",delay:200},{name:"Telegram",icon:h,color:"text-sky-300 bg-sky-300/10",delay:300},{name:"Teams",icon:b,color:"text-primary bg-primary/10",delay:400},{name:"Webhook",icon:G,color:"text-amber-400 bg-amber-400/10",delay:500},{name:"SMS",icon:C,color:"text-rose-400 bg-rose-400/10",delay:600},{name:"Phone",icon:C,color:"text-orange-400 bg-orange-400/10",delay:700}];return e.jsxs("div",{className:"p-6",children:[e.jsx("div",{className:"mb-4 text-xs font-semibold uppercase tracking-wider text-muted-foreground",children:"Alert Channels"}),e.jsx("div",{className:"grid grid-cols-2 gap-3 sm:grid-cols-4",children:s.map(t=>e.jsxs("div",{className:"flex flex-col items-center gap-2 rounded-lg border border-primary/20 bg-primary/5 p-4 transition-colors hover:bg-muted/40",style:{animation:`fade-up 0.4s ease ${t.delay}ms both`},children:[e.jsx("div",{className:`flex h-10 w-10 items-center justify-center rounded-lg ${t.color}`,style:{animation:`icon-bounce 3s ease ${t.delay}ms infinite`},children:e.jsx(t.icon,{className:"h-5 w-5"})}),e.jsx("span",{className:"text-xs font-medium",children:t.name})]},t.name))})]})}function pe({type:s}){switch(T(),s){case"uptimeBars":return e.jsx(he,{});case"alertFlow":return e.jsx(fe,{});case"statusPage":return e.jsx($,{});case"alertChannels":return e.jsx(P,{});default:return null}}function he(){return e.jsxs("div",{className:"p-6",children:[e.jsx("div",{className:"mb-2 text-xs font-semibold uppercase tracking-wider text-muted-foreground",children:"30-Second Check Interval"}),e.jsxs("div",{className:"mb-4 flex items-baseline gap-2",children:[e.jsx("span",{className:"font-mono text-3xl font-bold text-status-up",children:"99.99%"}),e.jsx("span",{className:"text-sm text-muted-foreground",children:"uptime"})]}),e.jsx("div",{className:"flex items-end gap-0.5",children:Array.from({length:45}).map((s,t)=>{const r=t===31,a=r?30:60+Math.sin(t*.5)*20;return e.jsx("div",{className:`flex-1 rounded-sm ${r?"bg-status-down/70":"bg-status-up/60"}`,style:{height:`${a}px`,animation:`fade-up 0.3s ease ${t*20}ms both`}},t)})}),e.jsxs("div",{className:"mt-2 flex justify-between text-[10px] text-muted-foreground",children:[e.jsx("span",{children:"30 days ago"}),e.jsx("span",{children:"Today"})]})]})}function fe(){return e.jsxs("div",{className:"p-6",children:[e.jsx("div",{className:"mb-4 text-xs font-semibold uppercase tracking-wider text-muted-foreground",children:"Alert Confirmation Flow"}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"rounded-lg border border-primary/20 bg-primary/5 p-4",children:[e.jsx("div",{className:"mb-2 text-xs font-semibold text-amber-400",children:"DNS timeout â transient"}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"flex h-7 w-7 items-center justify-center rounded-full bg-status-down/20",children:e.jsx(N,{className:"h-4 w-4 text-status-down",style:{animation:"icon-bounce 2s ease infinite"}})}),e.jsx("div",{className:"h-0.5 flex-1 rounded-full bg-gradient-to-r from-status-down/40 to-status-up/40"}),e.jsx("div",{className:"flex h-7 w-7 items-center justify-center rounded-full bg-status-up/20",children:e.jsx(k,{className:"h-4 w-4 text-status-up",style:{animation:"icon-bounce 2s ease 300ms infinite"}})}),e.jsx("span",{className:"rounded bg-status-up/20 px-2 py-0.5 text-[10px] font-semibold text-status-up",children:"No alert"})]})]}),e.jsxs("div",{className:"rounded-lg border border-primary/20 bg-primary/5 p-4",children:[e.jsx("div",{className:"mb-2 text-xs font-semibold text-status-down",children:"Server down â confirmed outage"}),e.jsxs("div",{className:"flex items-center gap-2",children:[[0,1,2].map(s=>e.jsxs("div",{className:"contents",children:[e.jsx("div",{className:"flex h-7 w-7 items-center justify-center rounded-full bg-status-down/20",children:e.jsx(N,{className:"h-4 w-4 text-status-down",style:{animation:`icon-bounce 2s ease ${s*200}ms infinite`}})}),s<2&&e.jsx("div",{className:"h-0.5 flex-1 rounded-full bg-status-down/30"})]}
22,s)),e.jsx("div",{className:"h-0.5 w-4 rounded-full bg-status-down/30"}),e.jsx("div",{className:"flex h-7 w-7 items-center justify-center rounded-full bg-primary/20",children:e.jsx(h,{className:"h-4 w-4 text-primary",style:{animation:"icon-bounce 1.5s ease infinite"}})}),e.jsx("span",{className:"rounded bg-primary/20 px-2 py-0.5 text-[10px] font-semibold text-primary",children:"Alert sent"})]})]})]})]})}const j=[{id:"api",label:"API",description:"Create a monitor in one request. Smart defaults handle the rest.",code:`curl -X POST https://api.uptrack.app/api/monitors \\ 23 -H "Authorization: Bearer YOUR_API_KEY" \\ 24 -H "Content-Type: application/json" \\ 25 -d '{"url": "https://example.com"}'`,prefix:e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"rounded bg-primary/20 px-1.5 py-0.5 font-mono text-primary",children:"POST"})," ",e.jsx("span",{className:"font-mono",children:"/api/monitors"})]})},{id:"cli",label:"CLI",description:"Monitors as code. Create, list, and manage from your terminal.",code:`# Install and run with npx (no global install needed) 26npx @uptrack-app/cli create --url https://example.com 27npx @uptrack-app/cli list 28npx @uptrack-app/cli status`,prefix:e.jsx("span",{className:"font-mono",children:"npx @uptrack-app/cli"})},{id:"mcp",label:"MCP",badge:"New",description:"Let Claude, ChatGPT, or Cursor manage your monitors directly.",code:`# Add to Claude Code (stdio transport) 29claude mcp add uptrack -- npx -y @uptrack-app/mcp 30 31# Or use HTTP transport directly 32claude mcp add --transport http uptrack \\ 33 https://api.uptrack.app/mcp \\ 34 --header "Authorization: Bearer YOUR_API_KEY"`,prefix:e.jsx("span",{className:"font-mono",children:"npx @uptrack-app/mcp"})}];function be(){const[s,t]=l.useState("api"),r=j.find(a=>a.id===s)??j[0];return e.jsxs("div",{children:[e.jsx("div",{className:"mb-4 flex items-center justify-center gap-1 rounded-lg border border-border/50 bg-card p-1",children:j.map(a=>e.jsxs("button",{type:"button",onClick:()=>t(a.id),className:`flex items-center gap-1.5 rounded-md px-4 py-2 text-sm font-medium transition-colors ${s===a.id?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"}`,children:[a.label,"badge"in a&&a.badge&&e.jsx(w,{variant:"secondary",className:"px-1.5 py-0 text-[10px] leading-4",children:a.badge})]},a.id))}),e.jsxs("div",{className:"rounded-lg border border-border/50 bg-card p-4 text-left",children:[e.jsx("div",{className:"mb-2 flex items-center gap-2 text-xs text-muted-foreground",children:r.prefix}),e.jsx("pre",{className:"overflow-x-auto text-sm leading-relaxed",children:e.jsx("code",{className:"text-muted-foreground",children:r.code})}),e.jsx("p",{className:"mt-3 text-sm text-foreground/60",children:r.description})]})]})}function y({name:s,price:t,period:r,features:a,highlighted:n}){return e.jsxs("div",{className:`relative rounded-lg border p-6 ${n?"border-primary shadow-lg shadow-primary/10 ring-1 ring-primary":"border-border/50"}`,children:[n&&e.jsx(w,{className:"absolute -top-3 left-1/2 -translate-x-1/2",children:"Most Popular"}),e.jsx("h3",{className:"text-lg font-semibold",children:s}),e.jsxs("div",{className:"mt-2 flex items-baseline gap-1",children:[e.jsx("span",{className:"text-3xl font-bold",children:t}),e.jsx("span",{className:"text-sm text-muted-foreground",children:r})]}),e.jsx("ul",{className:"mt-4 space-y-2",children:a.map(i=>e.jsxs("li",{className:"flex items-center gap-2 text-sm text-foreground/60",children:[e.jsx(m,{className:"h-4 w-4 shrink-0 text-primary"}),i]},i))})]})}export{Ie as component}; 35//# sourceMappingURL=index-C6_ifwd9.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.