import { getEffectiveInvoiceStatus } from "@beenvoice/domain/invoice-status"; import type { EffectiveInvoiceStatus } from "@beenvoice/domain/invoice-status"; export type InvoiceStatus = EffectiveInvoiceStatus; export function getInvoiceStatus(invoice: { status: string; dueDate: Date | string; }): InvoiceStatus { if (invoice.status === "paid" || invoice.status === "draft") { return invoice.status; } return getEffectiveInvoiceStatus("sent", invoice.dueDate); } export const statusLabels: Record = { draft: "Draft", sent: "Sent", paid: "Paid", overdue: "Overdue", }; const lightStatusColors: Record = { draft: "#6b7280", sent: "#2563eb", paid: "#16a34a", overdue: "#dc2626", }; const darkStatusColors: Record = { draft: "#A1A1AA", sent: "#60A5FA", paid: "#4ADE80", overdue: "#F87171", }; /** @deprecated Use `getStatusColor` for theme-aware colors. */ export const statusColors = lightStatusColors; export function getStatusColor(status: InvoiceStatus, isDark: boolean): string { return (isDark ? darkStatusColors : lightStatusColors)[status]; }