"use client"; /* Small pieces every Reports tab shares: the CSV / Print pair on a panel head, a table frame, and * an empty line that sits inside a panel's padding. */ import { Empty } from "@/components/ui"; const mini: React.CSSProperties = { minHeight: 0, padding: 0 }; export function HeadActions({ name, aside, onCsv, onPrint, csvText = "CSV", csvSecondary }: { name: string; aside?: React.ReactNode; onCsv?: () => void; onPrint?: () => void; csvText?: string; csvSecondary?: boolean; }) { return ( {aside && {aside}} {onCsv && (csvSecondary ? : )} {onPrint && } ); } export function TableWrap({ children }: { children: React.ReactNode }) { return
{children}
; } export function PanelEmpty({ children }: { children: React.ReactNode }) { return
{children}
; } export const plural = (n: number, one: string, many = one + "s") => `${n} ${n === 1 ? one : many}`; export function shortDate(iso: string) { if (!iso || iso.length < 10) return iso || "—"; return new Date(+iso.slice(0, 4), +iso.slice(5, 7) - 1, +iso.slice(8, 10)).toLocaleDateString("en-AU", { day: "numeric", month: "short" }); } export const TOTAL: React.CSSProperties = { fontWeight: 800 };