revert: restore legacy PDF417 barcode generation implementation
Restore custom PDF417 generator, renderer, and component that were previously removed. Update all components to use the legacy Pdf417Barcode instead of Pdf417BarcodeWasm. Restored files: - app/lib/pdf/pdf417.ts - Custom PDF417 generator library - app/lib/pdf/renderBarcode.ts - Canvas-based barcode renderer - app/ui/Pdf417Barcode.tsx - React component using custom generator Updated imports in: - app/ui/BillEditForm.tsx - app/ui/PrintPreview.tsx - app/ui/ViewBillCard.tsx - app/ui/ViewLocationCard.tsx 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
33
app/ui/Pdf417Barcode.tsx
Normal file
33
app/ui/Pdf417Barcode.tsx
Normal file
@@ -0,0 +1,33 @@
|
||||
'use client';
|
||||
|
||||
import { useState, useEffect, FC } from 'react';
|
||||
import { generateBarcode } from '../lib/pdf/pdf417';
|
||||
import { renderBarcode } from '../lib/pdf/renderBarcode';
|
||||
|
||||
export const Pdf417Barcode:FC<{hub3aText:string, className?: string, errorCorrectionLevel?: number}> = ({ hub3aText: hub3a_text, className, errorCorrectionLevel = 3}) => {
|
||||
const [bitmapData, setBitmapData] = useState<string | undefined>(undefined);
|
||||
|
||||
console.log("Rendering Pdf417Barcode with hub3a_text:", hub3a_text);
|
||||
|
||||
useEffect(() => {
|
||||
const aspectRatio = 3;
|
||||
|
||||
const barcodeMatrix = generateBarcode(hub3a_text, errorCorrectionLevel , aspectRatio);
|
||||
const bitmap = renderBarcode(barcodeMatrix, 1, 1);
|
||||
setBitmapData(bitmap);
|
||||
}, [hub3a_text]);
|
||||
|
||||
// Don't render until bitmap is generated (prevents hydration mismatch)
|
||||
if (!bitmapData) {
|
||||
return (
|
||||
<div style={{ width: "350px", height: "92px" }} className="flex items-center justify-center">
|
||||
<span className="loading loading-spinner loading-lg"></span>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
// eslint-disable-next-line @next/next/no-img-element
|
||||
<img src={bitmapData} alt="PDF417 Barcode" className={className} />
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user