Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/openstatusHQ/openstatus. ๐ซ Status page with uptime monitoring & API monitoring as code ๐ซ openstatus.dev
bun drizzle-orm monitoring monitoring-as-code nextjs observability on-call open-source shadcn-ui status-page statuspage synthetic-monitoring tinybird turso uptime uptime-checker uptime-monitor
Something went wrong. Try again.
2.0 kB ยท 68 lines
TSX
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869"use client";
import { Button } from "@openstatus/ui/components/ui/button";import { useState } from "react";
import { FormCard, FormCardGroup } from "@/components/forms/form-card";import { FormSheetContent, FormSheetDescription, FormSheetFooter, FormSheetHeader, FormSheetTitle, FormSheetTrigger, FormSheetWithDirtyProtection,} from "@/components/forms/form-sheet";import { FormPrivateLocation, type FormValues,} from "@/components/forms/private-location/form";
export function FormSheetPrivateLocation({ children, defaultValues, onSubmit, monitors, ...props}: Omit<React.ComponentProps<typeof FormSheetTrigger>, "onSubmit"> & { defaultValues?: FormValues; monitors: { id: number; name: string; url: string }[]; onSubmit: (values: FormValues) => Promise<void>;}) { const [open, setOpen] = useState(false);
return ( <FormSheetWithDirtyProtection open={open} onOpenChange={setOpen}> <FormSheetTrigger {...props} asChild> {children} </FormSheetTrigger> <FormSheetContent> <FormSheetHeader> <FormSheetTitle>Private Location</FormSheetTitle> <FormSheetDescription> Configure and update the private location. </FormSheetDescription> </FormSheetHeader> <FormCardGroup className="overflow-y-auto"> <FormCard className="overflow-auto rounded-none border-none"> <FormPrivateLocation monitors={monitors} onSubmit={async (values) => { await onSubmit(values); setOpen(false); }} defaultValues={defaultValues} id="private-location-form" className="my-4" /> </FormCard> </FormCardGroup> <FormSheetFooter> <Button type="submit" form="private-location-form"> Submit </Button> </FormSheetFooter> </FormSheetContent> </FormSheetWithDirtyProtection> );}