aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/app.js2
-rw-r--r--src/qr.js7
2 files changed, 6 insertions, 3 deletions
diff --git a/src/app.js b/src/app.js
index 5ea8eec..fdc5b3f 100644
--- a/src/app.js
+++ b/src/app.js
@@ -1170,7 +1170,7 @@ function giftCard() {
h('div', { class: 'warn-box' }, t('giftLinkWarn')),
ui.giftCode
? h('div', { class: 'col', style: 'align-items:center;gap:10px' },
- h('div', { html: qrSvg(giftUrl()) }),
+ h('div', { html: qrSvg(giftUrl(), { ec: 'L' }) }),
h('div', { class: 'addr-box break', style: 'width:100%;font-size:12px' }, giftUrl()),
h('div', { class: 'row gap6 wrap' },
copyBtn(giftUrl(), t('copyLink')),
diff --git a/src/qr.js b/src/qr.js
index eab74a7..fe49a02 100644
--- a/src/qr.js
+++ b/src/qr.js
@@ -3,8 +3,11 @@
import qrcode from 'qrcode-generator';
-export function qrSvg(text, { margin = 2 } = {}) {
- const qr = qrcode(0, 'M'); // type 0 = auto-size, error correction M
+// ec: error-correction level. 'M' by default; pass 'L' for long payloads (e.g.
+// gift links) where a smaller, chunkier grid scans more easily — on-screen QRs
+// are scanned immediately and don't need the damage tolerance of higher levels.
+export function qrSvg(text, { margin = 2, ec = 'M' } = {}) {
+ const qr = qrcode(0, ec); // type 0 = auto-size
qr.addData(text);
qr.make();