feat(klz-2026): use MECARD and level L for smaller, highly scannable QR codes on business cards
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 10s
Build & Deploy / 🧪 QA (push) Successful in 1m20s
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Post-Deploy Verification (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
Build & Deploy / 🏗️ Build (push) Has been cancelled
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 10s
Build & Deploy / 🧪 QA (push) Successful in 1m20s
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Post-Deploy Verification (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
Build & Deploy / 🏗️ Build (push) Has been cancelled
This commit is contained in:
@@ -351,10 +351,10 @@ const styles = StyleSheet.create({
|
|||||||
gap: 3,
|
gap: 3,
|
||||||
},
|
},
|
||||||
qrCodeWrapper: {
|
qrCodeWrapper: {
|
||||||
width: '12mm',
|
width: '10mm',
|
||||||
height: '12mm',
|
height: '10mm',
|
||||||
border: `0.75pt solid ${COLORS.darkGreen}`,
|
border: `0.75pt solid ${COLORS.darkGreen}`,
|
||||||
padding: 2.5,
|
padding: 2,
|
||||||
backgroundColor: '#ffffff',
|
backgroundColor: '#ffffff',
|
||||||
},
|
},
|
||||||
qrCode: {
|
qrCode: {
|
||||||
|
|||||||
@@ -52,23 +52,15 @@ async function generateBusinessCards() {
|
|||||||
for (const person of PEOPLE) {
|
for (const person of PEOPLE) {
|
||||||
console.log(`\nGenerating Business Card for: ${person.name}`);
|
console.log(`\nGenerating Business Card for: ${person.name}`);
|
||||||
|
|
||||||
// Generate VCard QR Code
|
|
||||||
const lastName = person.name.split(' ').slice(1).join(' ');
|
const lastName = person.name.split(' ').slice(1).join(' ');
|
||||||
const firstName = person.name.split(' ')[0];
|
const firstName = person.name.split(' ')[0];
|
||||||
const vcard = `BEGIN:VCARD
|
// Generate MECARD QR Code (much shorter than VCARD, leading to a less dense QR code that can be printed smaller)
|
||||||
VERSION:3.0
|
const mecard = `MECARD:N:${lastName},${firstName};ORG:KLZ Vertriebs GmbH;TEL:${person.phone};EMAIL:${person.email};URL:https://klz-cables.com;;`;
|
||||||
N:${lastName};${firstName};;;
|
|
||||||
FN:${person.name}
|
|
||||||
ORG:KLZ Vertriebs GmbH
|
|
||||||
TITLE:${person.role}
|
|
||||||
TEL;TYPE=WORK,VOICE:${person.phone}
|
|
||||||
EMAIL;TYPE=PREF,INTERNET:${person.email}
|
|
||||||
URL:https://klz-cables.com
|
|
||||||
END:VCARD`;
|
|
||||||
|
|
||||||
const qrCodeDataUrl = await QRCode.toDataURL(vcard, {
|
const qrCodeDataUrl = await QRCode.toDataURL(mecard, {
|
||||||
width: 400,
|
width: 400,
|
||||||
margin: 0,
|
margin: 0,
|
||||||
|
errorCorrectionLevel: 'L', // Low error correction = less dots = easier to scan when small
|
||||||
color: { dark: '#000000', light: '#ffffff' },
|
color: { dark: '#000000', light: '#ffffff' },
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user