From 7922210ef05ea51ac96f910ccb3a34e73cb7ee9b Mon Sep 17 00:00:00 2001 From: Marc Mintel Date: Tue, 21 Apr 2026 10:07:28 +0200 Subject: [PATCH] fix(pdf): remove unsupported text borders and gap causing layout crash --- lib/pdf-page.tsx | 31 ++++++++++++++++++++++++------- package.json | 2 +- 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/lib/pdf-page.tsx b/lib/pdf-page.tsx index 79c0e40b..c20cd342 100644 --- a/lib/pdf-page.tsx +++ b/lib/pdf-page.tsx @@ -52,7 +52,8 @@ const styles = StyleSheet.create({ logo: { width: 60, - height: 'auto', + height: 30, + objectFit: 'contain', }, docType: { @@ -103,10 +104,13 @@ const styles = StyleSheet.create({ fontSize: 14, fontWeight: 700, color: C.navyDeep, - marginTop: 24, - marginBottom: 12, textTransform: 'uppercase', letterSpacing: 0.8, + }, + + heading1Wrapper: { + marginTop: 24, + marginBottom: 12, borderLeftWidth: 3, borderLeftColor: C.accent, paddingLeft: 12, @@ -186,7 +190,6 @@ const styles = StyleSheet.create({ footerInfo: { flexDirection: 'column', - gap: 2, }, footerBrand: { @@ -195,7 +198,7 @@ const styles = StyleSheet.create({ color: C.navyDeep, textTransform: 'uppercase', letterSpacing: 1, - marginBottom: 2, + marginBottom: 4, }, footerText: { @@ -244,14 +247,28 @@ const renderLexicalNode = (node: any, idx: number): React.ReactNode => { case 'heading': { let hStyle = styles.heading3; - if (node.tag === 'h1') hStyle = styles.heading1; + let isH1 = false; + if (node.tag === 'h1') { + hStyle = styles.heading1; + isH1 = true; + } if (node.tag === 'h2') hStyle = styles.heading2; - return ( + const content = ( {node.children?.map((child: any, i: number) => renderLexicalNode(child, i))} ); + + if (isH1) { + return ( + + {content} + + ); + } + + return content; } case 'list': { diff --git a/package.json b/package.json index 79f307bd..e0604c35 100644 --- a/package.json +++ b/package.json @@ -139,7 +139,7 @@ "prepare": "husky", "preinstall": "npx only-allow pnpm" }, - "version": "2.3.18-rc.3", + "version": "2.3.18-rc.4", "pnpm": { "onlyBuiltDependencies": [ "@parcel/watcher",