feat(PROJ-80,PROJ-81): Dark Mode Vervollständigung + Anhang-Online-Vorschau
- PROJ-80: hartkodierte Farben in ModulesTab/TenantsTab/TenantLDAPTab durch Theme-Tokens ersetzt, Mail-HTML-Container bewusst hell isoliert, Print im Dark Mode auf lesbare (nicht farbidentische) Ausgabe umgestellt - PROJ-81: neuer AttachmentPreviewDialog für PDF/Bild-Anhänge in /mail/[id], MIME-Whitelist ohne SVG, sandboxed iframe ohne allow-same-origin, Auto-Retry-Schleife bei Fehlern behoben - PROJ-82 angelegt: Print-Farbparität als Folge-Ticket (BUG-80-1-Rest) Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WapWkrQusDuBMhaN8WyuXB
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
a1bf581fdd
commit
0a02bd7112
@@ -170,3 +170,69 @@
|
||||
@apply bg-background text-foreground;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* PROJ-80: Druck-/PDF-Ausgabe immer hell, unabhaengig vom Bildschirm-Theme.
|
||||
* GoBD/Auditor-Kontext: Ausdrucke muessen einheitlich und lesbar sein.
|
||||
*/
|
||||
@media print {
|
||||
html.dark {
|
||||
color-scheme: light;
|
||||
}
|
||||
html.dark,
|
||||
html.dark body {
|
||||
background: #fff !important;
|
||||
color: #000 !important;
|
||||
}
|
||||
/*
|
||||
* BUG-80-1: bewusst KEIN Wildcard-Reset auf transparent. Ein
|
||||
* "html.dark * { background-color: transparent }" haette auch Status-Badges
|
||||
* und Dashboard-Balken entfaerbt und damit die Aussage der Seite zerstoert.
|
||||
* Stattdessen werden nur die Flaechen-Container neutralisiert. Farbtraeger
|
||||
* werden ueber die Klasse .print-chip bzw. role="progressbar" ausgenommen und
|
||||
* unten mit einer definierten hellen Ersatzflaeche versehen.
|
||||
*/
|
||||
html.dark
|
||||
:is(
|
||||
div, section, article, header, footer, main, aside, nav,
|
||||
table, thead, tbody, tr, th, td,
|
||||
p, h1, h2, h3, h4, h5, h6, span, li
|
||||
):not(
|
||||
.print-chip,
|
||||
.print-chip *,
|
||||
[role="progressbar"],
|
||||
[role="progressbar"] *
|
||||
) {
|
||||
background-color: transparent !important;
|
||||
color: #000 !important;
|
||||
border-color: #999 !important;
|
||||
box-shadow: none !important;
|
||||
}
|
||||
/*
|
||||
* Farbtraeger (Badges, Status-Chips, Fortschritts-/Diagrammbalken): statt sie
|
||||
* zu entfaerben, bekommen sie eine definierte helle Ersatzflaeche mit Rahmen.
|
||||
* So bleiben sie im Ausdruck als abgesetztes Element erkennbar und lesbar,
|
||||
* ohne dass dunkle Theme-Farben auf Papier landen.
|
||||
*/
|
||||
html.dark .print-chip,
|
||||
html.dark [role="progressbar"] {
|
||||
background-color: #f2f2f2 !important;
|
||||
color: #000 !important;
|
||||
border: 1px solid #999 !important;
|
||||
print-color-adjust: exact;
|
||||
-webkit-print-color-adjust: exact;
|
||||
}
|
||||
/* Gefuellter Anteil eines Balkens bleibt als dunklere Flaeche unterscheidbar. */
|
||||
html.dark [role="progressbar"] > * {
|
||||
background-color: #999 !important;
|
||||
print-color-adjust: exact;
|
||||
-webkit-print-color-adjust: exact;
|
||||
}
|
||||
/* Mail-Inhalt und Logo-Container bleiben im Ausdruck weiss. */
|
||||
html.dark iframe,
|
||||
html.dark img {
|
||||
background-color: #fff !important;
|
||||
print-color-adjust: exact;
|
||||
-webkit-print-color-adjust: exact;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user