fix(pdf): render truck as vector, fix back logo coloring
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 11s
Build & Deploy / 🧪 QA (push) Failing after 1m21s
Build & Deploy / 🏗️ Build (push) Has been skipped
Build & Deploy / 🚀 Deploy (push) Has been skipped
Build & Deploy / 🧪 Post-Deploy Verification (push) Has been skipped
Build & Deploy / 🔔 Notify (push) Successful in 2s

This commit is contained in:
2026-06-11 18:44:27 +02:00
parent 3798d37fcd
commit 5d94337df1
3 changed files with 9981 additions and 9 deletions

9898
lib/TruckBlueprint.tsx Normal file

File diff suppressed because one or more lines are too long

View File

@@ -16,6 +16,7 @@ import {
Circle,
} from '@react-pdf/renderer';
import * as path from 'path';
import { TruckBlueprint } from './TruckBlueprint';
// Register embedded fonts so Ghostscript -dNoOutputFonts can convert them to
// outlines (curves). Built-in PDF fonts like Helvetica are NEVER embedded and
@@ -89,9 +90,6 @@ const styles = StyleSheet.create({
frontBackgroundImage: {
width: '100%',
height: '100%',
objectFit: 'contain',
objectPositionX: 'center',
objectPositionY: 'center',
opacity: 0.4, // Less transparent, more contrast
},
frontContainer: {
@@ -362,16 +360,25 @@ const VectorLogo = ({
paths,
style,
overrideColor,
overrideWhiteColor,
}: {
paths: { d: string; fill: string }[];
style: any;
overrideColor?: string;
overrideWhiteColor?: string;
}) => (
<Svg viewBox="0 0 295 99" style={style}>
<G {...({ fillRule: 'evenodd', clipRule: 'evenodd' } as any)}>
{paths.map((p, i) => (
<Path key={i} d={p.d} fill={overrideColor || p.fill} />
))}
{paths.map((p, i) => {
let fill = overrideColor || p.fill;
if (
overrideWhiteColor &&
(p.fill === 'white' || p.fill === '#ffffff' || p.fill === '#fff')
) {
fill = overrideWhiteColor;
}
return <Path key={i} d={p.d} fill={fill} />;
})}
</G>
</Svg>
);
@@ -704,8 +711,7 @@ export const PDFBusinessCard: React.FC<PDFBusinessCardProps> = ({
style={[styles.pageBleed, isWhiteVariant && { backgroundColor: '#ffffff' }]}
>
<View style={styles.truckWrapper}>
<Image
src={bgImagePath}
<TruckBlueprint
style={[styles.frontBackgroundImage, isWhiteVariant && { opacity: 0.2 }]}
/>
</View>
@@ -766,7 +772,11 @@ export const PDFBusinessCard: React.FC<PDFBusinessCardProps> = ({
<Page size={[258, 173]} style={styles.pageBleedBack}>
<View style={styles.backContainer}>
<View style={styles.backHeader}>
<VectorLogo paths={logoBluePaths} style={styles.backLogo} overrideColor={COLORS.blue} />
<VectorLogo
paths={logoWhitePaths}
style={styles.backLogo}
overrideWhiteColor={COLORS.blue}
/>
<View style={styles.accentLineHorizontal} />
</View>