"use client"; import { HoverCard, HoverCardContent, HoverCardTrigger, } from "@/components/ui/hover-card"; import { useCopyToClipboard } from "@/hooks/use-copy-to-clipboard"; import { UTCDate } from "@date-fns/utc"; import { HoverCardPortal } from "@radix-ui/react-hover-card"; import { format, formatDistanceToNowStrict } from "date-fns"; import { Copy } from "lucide-react"; import { Check } from "lucide-react"; import type { ComponentPropsWithoutRef } from "react"; // TODO: move to TableCellDate? type HoverCardContentProps = ComponentPropsWithoutRef; interface HoverCardTimestampProps { date: Date; side?: HoverCardContentProps["side"]; sideOffset?: HoverCardContentProps["sideOffset"]; align?: HoverCardContentProps["align"]; alignOffset?: HoverCardContentProps["alignOffset"]; children?: React.ReactNode; } export function HoverCardTimestamp({ date, side = "right", align = "start", alignOffset = -4, sideOffset, children, }: HoverCardTimestampProps) { const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone; return ( {children}
); } function Row({ value, label }: { value: string; label: string }) { const { copy, isCopied } = useCopyToClipboard(); return (
{ e.stopPropagation(); copy(value, {}); }} >
{label}
{!isCopied ? ( ) : ( )} {value}
); }