import type { OpportunityMark } from '@/types/Annotations'; // Tailwind only generates classes it can see written out in full, so these // lookups list every class literally rather than building names at runtime. /** * Badge colours for each known status; the others get a neutral badge, as * cancelled, withdrawn and unknown (empty) ones do. */ export const STATUS_BADGE: Record = { planning: 'bg-status-planning-soft text-status-planning', planned: 'bg-status-planning-soft text-status-planning', active: 'bg-status-open-soft text-status-open', complete: 'bg-accent-soft text-accent', }; /** The badge classes for status. */ export const statusBadge = (status: string): string => STATUS_BADGE[status] ?? 'bg-paper text-ink'; /** Fill colour for each mark: row stripe segments, menu dots, pills. */ export const MARK_BG: Record = { interested: 'bg-mark-interested', skipped: 'bg-mark-skipped', bid_submitted: 'bg-mark-bid-submitted', lost: 'bg-mark-lost', won: 'bg-mark-won', }; export const input = 'w-full rounded-md border border-line bg-surface px-2.5 py-2 placeholder:text-muted disabled:bg-paper'; export const buttonQuiet = 'rounded-md border border-line bg-surface px-3.5 py-1.5 hover:enabled:border-muted disabled:opacity-60 disabled:text-muted'; export const buttonPrimary = 'rounded-md bg-accent px-3.5 py-1.5 font-semibold text-on-accent'; export const linkButton = 'text-accent underline'; export const fieldLabel = 'mb-1.5 block p-0 text-sm font-semibold';