/** * Deviation List Component * * Tracks and manages deviations from the planned medication schedule. * Supports adding, editing, and deleting deviations with automatic or * manual timestamps. Each deviation can be marked as planned or actual. * * @author Andreas Weyer * @license MIT */ import React from 'react'; import { FormTimeInput } from './ui/form-time-input'; import { FormNumericInput } from './ui/form-numeric-input'; import { Card, CardContent, CardHeader, CardTitle } from './ui/card'; import { Button } from './ui/button'; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from './ui/select'; import { Switch } from './ui/switch'; import { Label } from './ui/label'; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from './ui/tooltip'; import { X } from 'lucide-react'; const DeviationList = ({ deviations, doseIncrement, simulationDays, onAddDeviation, onRemoveDeviation, onDeviationChange, t }: any) => { return ( {t.deviationsFromPlan} {deviations.map((dev: any, index: number) => (
onDeviationChange(index, 'time', newTime)} required={true} errorMessage={t.timeRequired || 'Time is required'} /> onDeviationChange(index, 'dose', newDose)} increment={doseIncrement} min={0} unit={t.mg} required={true} errorMessage={t.doseRequired || 'Dose is required'} />
onDeviationChange(index, 'isAdditional', checked)} />

{t.additionalTooltip}

))}
); }; export default DeviationList;