import { Link } from "@/components/common/link"; import { Button } from "@/components/ui/button"; import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, } from "@/components/ui/dialog"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; import { useCopyToClipboard } from "@/hooks/use-copy-to-clipboard"; import type { DialogProps } from "@radix-ui/react-dialog"; import { Check, Copy } from "lucide-react"; // TODL: make it dynamic const YML = `openstatus-marketing: name: OpenStatus Marketing description: Marketing website for OpenStatus active: true public: false frequency: "10m" regions: ["ams", "fra", "gru", "sin", "iad"] kind: "http" request: url: https://api.openstatus.dev method: GET`; export function ExportCodeDialog(props: DialogProps) { const { copy, isCopied } = useCopyToClipboard(); return ( Export Configuration Export and manage your monitor configuration using Infra as Code. YAML Terraform
              {YML}
              
            

Use a monitor.openstatus.yml file to configure your monitors. Read more.

              TODO:
            
{/* TODO: only showcase if there are any assertions */}

The Terraform provider does not support assertions yet.

Use a Terraform provider to manage your monitors.{" "} Read more.

); }