Overview
Sharing an invoice currently requires copying a URL manually. Add a QR code modal so creators can display a scannable code that opens the invoice on any device.
Acceptance Criteria
- "Share via QR" button on the invoice detail page and invoice cards
- Opens a modal containing a QR code encoding the public invoice preview URL
- QR code generated client-side using
qrcode or react-qr-code (lazy loaded)
- QR size: 240 × 240 px with the StellarSplit logo centred in the quiet zone
- "Download QR" button saves the QR as a PNG named
invoice-[id]-qr.png
- "Copy Link" button below the QR copies the preview URL with a success toast
- Modal accessible (focus trapped, Escape to close, aria-label on close button)
- Works for both public and unlisted invoices (uses the preview URL in both cases)
Overview
Sharing an invoice currently requires copying a URL manually. Add a QR code modal so creators can display a scannable code that opens the invoice on any device.
Acceptance Criteria
qrcodeorreact-qr-code(lazy loaded)invoice-[id]-qr.png