-- ==================================================================== -- 0068_dark_theme — dunkle Darstellung je Mandant (Portal und Karte) -- ==================================================================== -- Drei optionale Farben. Leer = aus der hellen Palette abgeleitet -- (lib/branding.ts, darkTheme()): -- dark_bg Seitengrund Default: Sekundär tief -- dark_surface Karten, Felder Default: Sekundär dunkel -- dark_accent Schrift, Links, Fokus, Linien in Markenfarbe -- Default: Primärfarbe aufgehellt bis 4,5:1 auf dark_surface -- Die Primärfarbe selbst bleibt im Dunkeln reine Fläche (Buttons, Kopf) — -- auf dunklem Grund reicht ihr Kontrast als Schrift in der Regel nicht. -- -- Nur additiv. Anon-Lesezugriff ausschließlich auf die drei neuen Spalten -- (die öffentliche Karte liest site_settings über den anon-Client); die -- bestehenden Spalten-Grants bleiben unberührt. alter table public.site_settings add column if not exists dark_bg text, add column if not exists dark_surface text, add column if not exists dark_accent text; comment on column public.site_settings.dark_bg is 'Dunkle Darstellung: Seitengrund (Hex). Leer = Sekundär tief.'; comment on column public.site_settings.dark_surface is 'Dunkle Darstellung: Karten und Felder (Hex). Leer = Sekundär dunkel.'; comment on column public.site_settings.dark_accent is 'Dunkle Darstellung: Markenfarbe für Schrift, Links und Linien (Hex). Leer = aufgehellte Primärfarbe.'; grant select (dark_bg, dark_surface, dark_accent) on public.site_settings to anon;