import { useDemoTimeline } from "~/hooks/use-demo-timeline"; import { Badge } from "~/ui/Badge"; import { StatusDot } from "~/ui/StatusDot"; import { cn } from "~/utils/cn"; import { DemoWindow } from "../DemoWindow"; const STEPS = 4; const INTERVAL_MS = 1200; const DEPLOYS = [ { ref: "pr-131", sha: "e5d2a90", url: "pr-131--docs--acme.sites.example", env: "preview", from: 1 }, { ref: "main", sha: "b72d0e4", url: "docs.acme.example", env: "production", from: 2 }, { ref: "main", sha: "7c1e04b", url: "docs.acme.example", env: "production", from: 0 }, ] as const; function liveSha(step: number): string { if (step >= STEPS) return "7c1e04b"; return step >= STEPS - 1 ? "b72d0e4" : "7c1e04b"; } export function HostingDemo({ className }: { className?: string }) { const step = useDemoTimeline(STEPS, INTERVAL_MS); const live = liveSha(step); return (

= STEPS ? "text-kumo-default" : "text-transparent", )} > Rolled back production to 7c1e04b without a rebuild.

); }