diff --git a/frontend/src/components/calendar/EventDialog.tsx b/frontend/src/components/calendar/EventDialog.tsx index 7f10c0a..1357d33 100644 --- a/frontend/src/components/calendar/EventDialog.tsx +++ b/frontend/src/components/calendar/EventDialog.tsx @@ -5,7 +5,7 @@ import { addDays, allDayISO, dateFromInput, eventDay, nthOfMonth, timedISO, toDateInput, toTimeInput, weekdayCodeOf, weekdayCodes, } from './dates' -import { CalendarPicker, ColorSwatches, Toggle } from './controls' +import { CalendarSelect, ColorSwatches, Toggle } from './controls' interface Props { /** Fehlt er, entsteht ein neuer Termin. */ @@ -215,7 +215,7 @@ export default function EventDialog({ event, defaultStart, calendars, calendarId Speichern die Sammlung, behält aber seine Kennung – für CalDAV-Clients derselbe Termin an neuer Adresse, nicht ein neuer. */} - + {!!event && calId !== calendarId && (

Wird beim Speichern nach „{calendars.find(c => c.id === calId)?.name}" verschoben diff --git a/frontend/src/components/calendar/controls.tsx b/frontend/src/components/calendar/controls.tsx index a254190..d3d8045 100644 --- a/frontend/src/components/calendar/controls.tsx +++ b/frontend/src/components/calendar/controls.tsx @@ -1,4 +1,4 @@ -import type { CSSProperties } from 'react' +import { useEffect, useRef, useState, type CSSProperties } from 'react' /** Eine Palette für Kalender **und** Termine – zwei getrennte Listen liefen * sonst mit der Zeit auseinander, und ein Termin in einer Farbe, die es als @@ -95,55 +95,99 @@ export function ColorSwatches({ value, onChange, inherit, disabled }: { } /** - * Kalenderwahl als farbige Plaketten statt als Auswahlfeld. + * Kalenderwahl als Ausklappliste – mit dem Farbpunkt des Kalenders. * - * Ein Auswahlfeld zeigt nur den Namen – die Farbe aber ist das, woran man - * einen Kalender im Raster wiedererkennt. Wer „Arbeit" wählt, soll dabei + * Bewusst kein natives `