Add DK-22210 label printing with barcode and QR code

- Print page formatted for Brother DK-22210 (29mm continuous tape)
- Each label has: title, brand/model, serial, QR code, Code 128 barcode
- CSS @page sized to 29mm width with minimal margins
- Print button opens popup that auto-triggers print dialog
- Copies selector to print multiple labels at once
- Barcode encodes short ID (first 8 chars) scannable by the lookup endpoint
- Available on both device and component detail pages

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-07 11:26:53 +07:00
parent 8859f32b4f
commit 45d93738d7
9 changed files with 314 additions and 2 deletions
+10
View File
@@ -11,6 +11,7 @@
"@node-rs/argon2": "^2.0.2",
"@oslojs/crypto": "^1.0.1",
"@oslojs/encoding": "^1.1.0",
"bwip-js": "^4.9.0",
"date-fns": "^4.1.0",
"dotenv": "^17.4.1",
"drizzle-orm": "^0.38.4",
@@ -2649,6 +2650,15 @@
"dev": true,
"license": "MIT"
},
"node_modules/bwip-js": {
"version": "4.9.0",
"resolved": "https://registry.npmjs.org/bwip-js/-/bwip-js-4.9.0.tgz",
"integrity": "sha512-U3aWIxR/Px4m3GPd0opQ5GQJq/G8Cj0cr5z5hrcvy/SAApPnfkLqBqjRuB3GiEAasEQup3m7k/MDM/uiS9te8Q==",
"license": "MIT",
"bin": {
"bwip-js": "bin/bwip-js.js"
}
},
"node_modules/camelcase": {
"version": "5.3.1",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",