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.
1.5 kB ยท 49 lines
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950"use client";
import { Check } from "@openstatus/icons";import { Button } from "@openstatus/ui/components/ui/button";import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuTrigger,} from "@openstatus/ui/components/ui/dropdown-menu";import { cn } from "@openstatus/ui/lib/utils";import { parseAsStringLiteral, useQueryState } from "nuqs";
import { TRIGGER } from "@/data/metrics.client";
const parseTrigger = parseAsStringLiteral(TRIGGER);
export function DropdownTrigger() { const [trigger, setTrigger] = useQueryState("trigger", parseTrigger);
return ( <DropdownMenu> <DropdownMenuTrigger asChild> <Button variant="outline" size="sm" className="capitalize"> {trigger ?? "All Trigger"} </Button> </DropdownMenuTrigger> <DropdownMenuContent align="start"> <DropdownMenuGroup> <DropdownMenuLabel className="text-muted-foreground text-xs font-medium"> Trigger </DropdownMenuLabel> {TRIGGER.map((item) => ( <DropdownMenuItem key={item} onSelect={() => setTrigger(item)} className={cn("capitalize")} > {item === "cron" ? "Scheduled" : "API"} {trigger === item ? <Check className="ml-auto shrink-0" /> : null} </DropdownMenuItem> ))} </DropdownMenuGroup> </DropdownMenuContent> </DropdownMenu> );}