From c04dcc02007f68f7adbe164f056d93105cc1c451 Mon Sep 17 00:00:00 2001 From: admtracksteel Date: Tue, 23 Jun 2026 12:42:51 +0000 Subject: [PATCH] fix: force text-slate to black in PDF export for better contrast --- index.css | 19 +++++++++++++++++++ services/pdfService.ts | 8 +++++++- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/index.css b/index.css index 593c8ab..9431ad4 100644 --- a/index.css +++ b/index.css @@ -29,3 +29,22 @@ .animate-fade-in { animation: fade-in 0.5s ease-out forwards; } + +/* Force black text for PDF generation */ +.pdf-export .text-slate-400, +.pdf-export .text-slate-500, +.pdf-export .text-slate-600, +.pdf-export .text-slate-700, +.pdf-export .text-slate-800, +.pdf-export .text-slate-900, +.pdf-export .text-slate-300, +.pdf-export .text-slate-200 { + color: #000000 !important; +} + +/* Also ensure borders are clearly visible */ +.pdf-export .border-slate-100, +.pdf-export .border-slate-200, +.pdf-export .border-slate-50 { + border-color: #cbd5e1 !important; /* slate-300 */ +} diff --git a/services/pdfService.ts b/services/pdfService.ts index db388e8..f50b3af 100644 --- a/services/pdfService.ts +++ b/services/pdfService.ts @@ -19,8 +19,12 @@ export const exportAsPdf = async (elementId: string, fileName: string, action: ' const isDark = document.documentElement.classList.contains('dark'); if (isDark) { document.documentElement.classList.remove('dark'); - await new Promise(resolve => setTimeout(resolve, 100)); // Allow CSS to recompute } + + // Add pdf-export class to force high contrast text + container.classList.add('pdf-export'); + + await new Promise(resolve => setTimeout(resolve, 100)); // Allow CSS to recompute const pdf = new jsPDF({ orientation: 'portrait', @@ -50,6 +54,8 @@ export const exportAsPdf = async (elementId: string, fileName: string, action: ' pdf.addImage(imgData, 'JPEG', 0, 0, pdfWidth, pdfHeight); } + container.classList.remove('pdf-export'); + if (isDark) { document.documentElement.classList.add('dark'); }