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 * Kalenderfarbe nicht gibt, sieht aus wie ein Fehler. */ export const palette = [ '#4285f4', '#ea4335', '#fbbc04', '#34a853', '#a142f4', '#ff6d00', '#00acc1', '#607d8b', ] /** * Schiebeschalter statt Kästchen. * * Nicht nur Zierde: „Ganztägig" schaltet das Formular um (die Uhrzeitfelder * verschwinden). Ein Kästchen liest sich wie eine Angabe, die man nebenbei * ankreuzt – ein Schalter zeigt, dass hier etwas umgestellt wird. */ export function Toggle({ checked, onChange, disabled, label }: { checked: boolean onChange: (v: boolean) => void disabled?: boolean label: string }) { return ( ) } /** * Farbwahl als Kreise. Der gewählte Kreis ist gefüllt, die anderen sind * Umrisse – dieselbe Sprache wie in der Kalenderliste, wo ein gefüllter * Punkt „wird angezeigt" heißt. */ export function ColorSwatches({ value, onChange, inherit, disabled }: { value: string onChange: (c: string) => void /** Ist sie gesetzt, gibt es zusätzlich die Wahl „Farbe des Kalenders" * (leerer Wert) und dieser Kreis zeigt sie an. */ inherit?: string disabled?: boolean }) { const dot = (color: string, selected: boolean, onClick: () => void, key: string, title: string) => (