feat: printable receipts with barcode on payment complete

- Receipt component with thermal (80mm) and full-page layout support
- Code 128 barcode from transaction number via JsBarcode
- Store name, address, line items, totals, payment info, barcode
- Print button on sale complete screen (browser print dialog)
- Email button placeholder (disabled, ready for SMTP integration)
- @media print CSS hides everything except receipt content
- Receipt data fetched from GET /transactions/:id/receipt

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
ryan
2026-04-04 21:18:38 +00:00
parent ae0bf6686d
commit a0d559db1c
5 changed files with 259 additions and 22 deletions

View File

@@ -25,6 +25,7 @@
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"date-fns": "^4.1.0",
"jsbarcode": "^3.12.3",
"jspdf": "^4.2.1",
"lucide-react": "^1.7.0",
"radix-ui": "^1.4.3",