// frontend/src/pages/ShiftTemplates/components/ShiftDayEditor.tsx import React from 'react'; import { TemplateShiftSlot } from '../../../types/shiftTemplate'; import styles from './ShiftDayEditor.module.css'; interface ShiftDayEditorProps { day: { id: number; name: string }; shifts: TemplateShiftSlot[]; onAddShift: () => void; onUpdateShift: (shiftId: string, updates: Partial) => void; onRemoveShift: (shiftId: string) => void; } const ShiftDayEditor: React.FC = ({ day, shifts, onAddShift, onUpdateShift, onRemoveShift }) => { return (

{day.name}

{shifts.length === 0 ? (
Keine Schichten für {day.name}
) : (
{shifts.map(shift => (

Schicht bearbeiten

onUpdateShift(shift.id, { timeSlot: { ...shift.timeSlot, name: e.target.value } })} placeholder="Schichtname" />
onUpdateShift(shift.id, { timeSlot: { ...shift.timeSlot, startTime: e.target.value } })} />
onUpdateShift(shift.id, { timeSlot: { ...shift.timeSlot, endTime: e.target.value } })} />
onUpdateShift(shift.id, { requiredEmployees: parseInt(e.target.value) || 1 })} />
{shift.color && (
onUpdateShift(shift.id, { color: e.target.value })} className={styles.colorPicker} />
)}
))}
)}
); }; export default ShiftDayEditor;