'use client'; import { Trash2 } from 'lucide-react'; import { Card } from '@/components/ui/shared/Card'; import { treatmentTypeBannerStyle } from '@/components/shared/treatmentTypeDisplay'; import type { TreatmentCatalogEntry } from '@/types/treatment-catalog'; import type { DayStripItem } from '@/components/treatment/dayStrip'; interface DayStripCardProps { item: DayStripItem; selected: boolean; treatmentCatalog: TreatmentCatalogEntry[]; onSelect: () => void; canDelete?: boolean; onDelete?: () => void; deleteAriaLabel?: string; } export function DayStripCard({ item, selected, treatmentCatalog, onSelect, canDelete = false, onDelete, deleteAriaLabel, }: DayStripCardProps) { const purposeIndex = treatmentCatalog.findIndex((e) => e.code === item.colorCode); const bannerStyle = treatmentTypeBannerStyle(item.colorCode, purposeIndex < 0 ? 0 : purposeIndex); const selectedClass = selected ? 'ring-2 ring-primary ring-offset-2 ring-offset-background-secondary shadow-[inset_0_1px_0_rgba(255,255,255,0.06)]' : 'hover:brightness-110'; const shellClass = ` text-start rounded-[var(--radius-sm)] w-full sm:w-auto sm:min-w-[200px] sm:max-w-[280px] transition-shadow min-h-[52px] focus:outline-none focus-visible:ring-2 focus-visible:ring-primary/45 ${selectedClass} `; const body = ( <> {item.timeLabel ? (
{item.timeLabel}
) : ({item.subtitle}
)}{item.patientFirstName} {item.patientLastName}
{item.timeLabel ? ({item.subtitle}
) : null} > ); if (!canDelete || !onDelete) { return (