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.1 kB ยท 46 lines
TypeScript
at commit 82e8554f
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647import { Settings, Copy, Delete } from "@openstatus/icons";
export function getPageUrl(page: { slug: string; customDomain: string | null;}): string { return `https://${page.customDomain || `${page.slug}.openstatus.dev`}`;}
export const actions = [ { id: "edit", label: "Settings", icon: Settings, variant: "default" as const, }, { id: "copy-id", label: "Copy ID", icon: Copy, variant: "default" as const, }, // { // id: "create-badge", // label: "Create Badge", // icon: Tag, // variant: "default" as const, // }, { id: "delete", label: "Delete", icon: Delete, variant: "destructive" as const, },] as const;
export type StatusPageAction = (typeof actions)[number];
export const getActions = ( props: Partial<Record<StatusPageAction["id"], () => Promise<void> | void>>,): (StatusPageAction & { onClick?: () => Promise<void> | void })[] => { return actions.map((action) => ({ ...action, onClick: props[action.id as keyof typeof props], }));};