import { useEffect, useState } from 'react'; import { startOfDay } from 'date-fns'; import PickupConfigTable from './components/PickupConfigTable'; import RangePickerModal from './components/RangePickerModal'; import usePickupConfig from './hooks/usePickupConfig'; import 'react-date-range/dist/styles.css'; import 'react-date-range/dist/theme/default.css'; const PickupConfigEditor = () => { const { config, loading, status, error, fetchConfig, saveConfig, toggleActive, toggleProfileCheck, toggleOnlyNotify, changeWeekday, updateDateRange } = usePickupConfig(); const [activeRangePicker, setActiveRangePicker] = useState(null); const minSelectableDate = startOfDay(new Date()); const handleWeekdayChange = (index, value, entryId) => { changeWeekday(index, value); if (value && entryId) { setActiveRangePicker((prev) => (prev === entryId ? null : prev)); } }; useEffect(() => { if (!activeRangePicker) { return; } const entry = config.find((item) => item.id === activeRangePicker); if (!entry || entry.desiredWeekday) { setActiveRangePicker(null); } }, [activeRangePicker, config]); const activeRangeEntry = activeRangePicker ? config.find((item) => item.id === activeRangePicker) || null : null; if (loading) { return
Lade Konfiguration...
; } const weekdays = ['Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag', 'Sonntag']; return (

ioBroker Abholung-Konfiguration

{error && (
{error}
)} {status && (
{status}
)}

Aktuelle JSON-Konfiguration:

          {JSON.stringify(config, null, 2)}
        
{activeRangeEntry && ( updateDateRange(activeRangeEntry.id, startDate, endDate) } onResetRange={() => { updateDateRange(activeRangeEntry.id, null, null); setActiveRangePicker(null); }} onClose={() => setActiveRangePicker(null)} /> )}
); }; export default PickupConfigEditor;