feat(mermaid): diagrammen volgen de kleuren van de gekozen stijl #2094
No reviewers
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck!2094
Loading…
Reference in a new issue
No description provided.
Delete branch "feature/mermaid-style-colors"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Samenvatting
Mermaid-diagrammen (vooral Gantt) rendeerden altijd met het vaste
neutral-thema, waardoor de balken en knopen de kleuren van de gekozen stijl negeerden. Deze PR laat diagrammen dethemeVariablesuit hetThemeProfilevolgen — op de voorvertoning, in de presentatiemodus, én in de PDF/DOCX/HTML-export.lib/services/mermaid_theme.dart(nieuw): mapt eenThemeProfilenaar MermaidthemeVariables(accent → balk/knoop, tekst → lijn, severity-critical → kritieke/vandaag-lijn, checklistUnchecked → done) en injecteert die als een%%{init}%%-directive. Tekst op een accentkleurige balk krijgt een contrastkleur via de bestaandenearestContrastingHex.doc_mermaid_view.dart: de gedupliceerde_injectDarkThemeIntoInitis vervangen door de gedeeldeinjectIntoMermaidInituitmermaid_theme.dart.gantt_preview.dart/text_previews.dart: mermaid-bron krijgtmermaidWithThemeColorsvoordat deMermaidDiagram-widget hem rendert.document_export_service.dart: de PDF/DOCXrenderMermaid-resolver wrapt de bron metmermaidWithThemeColors.marp_html_service_render_script.dart: de HTML-export initialiseert mermaid met dethemeVariablesviaObject.assign.De directive-injectie gebruikt hetzelfde mechanisme als de bestaande donkere-lezermodus (
mermaidWithDarkTheme):theme/themeVariablesstaan bewust niet in desecure-lijst, dus een per-diagram directive mag ze overschrijven.Test plan
test/mermaid_theme_test.dart(kleurmapping, directive-injectie, merge, frontmatter, cache-sleutel)mermaidWithDarkTheme-tests blijven groen (refactor is gedragsequivalent)make checkvolledig groen (10589+ tests, coverage, golden-suite)type_gantteerst rood (bewijst visueel effect), daarna geüpdatetGenerated with Devin
Mermaid rendeerde altijd met het vaste `neutral`-thema, zodat Gantt-balken en flowchart-knopen de stijlkleuren van het deck negeerden. Nu wordt een `%%{init: {"themeVariables": …}}%%`-directive per diagram geïnjecteerd met de accent-, tekst- en severity-kleuren uit het ThemeProfile — op de voorvertoning, in de presentatiemodus, én in de PDF/DOCX/HTML-export. De directive-injectie is gedeeld met de bestaande donkere-lezermodus: `injectIntoMermaidInit` vervangt de gedupliceerde `_injectDarkThemeIntoInit`. Tekst op een accentkleurige balk krijgt een contrastkleur via de bestaande `nearestContrastingHex`-util, zodat de balk leesbaar blijft ongeacht of het accent donker of licht is. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>