import type { AppointmentPurpose } from '@/types/appointment'; export const APPOINTMENT_PURPOSE_LABEL: Record = { consultation: 'Consultation', filling: 'Filling', endo: 'Endo', visit: 'Visit', hygiene: 'Hygiene', }; /** Background + border for blocks / legend (matches reference palette). */ export const APPOINTMENT_PURPOSE_STYLES: Record = { consultation: 'bg-violet-500/25 border-violet-400/50 text-violet-100', filling: 'bg-orange-500/25 border-orange-400/50 text-orange-100', endo: 'bg-red-500/25 border-red-400/50 text-red-100', visit: 'bg-sky-500/25 border-sky-400/50 text-sky-100', hygiene: 'bg-lime-500/20 border-lime-400/45 text-lime-100', }; export function purposeStyle(purpose: string): string { const p = purpose as AppointmentPurpose; return APPOINTMENT_PURPOSE_STYLES[p] ?? 'bg-surface-elevated border-border text-text-secondary'; } /** Trash icon — legend hues; `!` overrides global `.lucide { color: var(--color-icon) }`. */ export function purposeDeleteIconClass(purpose: string): string { const p = purpose as AppointmentPurpose; const map: Record = { consultation: '!text-violet-400 group-hover:!text-violet-300', filling: '!text-orange-400 group-hover:!text-orange-300', endo: '!text-red-400 group-hover:!text-red-300', visit: '!text-sky-400 group-hover:!text-sky-300', hygiene: '!text-lime-600 group-hover:!text-lime-500', }; return map[p] ?? '!text-text-muted group-hover:!text-text-secondary'; } /** Small swatch for legend (background + border only). */ export const APPOINTMENT_PURPOSE_LEGEND_SWATCH: Record = { consultation: 'bg-violet-500/85 border-violet-400/75', filling: 'bg-orange-500/85 border-orange-400/75', endo: 'bg-red-500/85 border-red-400/75', visit: 'bg-sky-500/85 border-sky-400/75', hygiene: 'bg-lime-500/80 border-lime-400/70', };