import { Col, Form, InputNumber, QRCode, Row, Slider, Switch } from "antd"; import { useSavedState } from "../../utils/saveload"; import PrintingDialog from "./printingDialog"; import { useTranslate } from "@refinedev/core"; interface QRCodeData { value: string; label?: JSX.Element; errorLevel?: "L" | "M" | "Q" | "H"; } interface QRCodePrintingDialogProps { visible: boolean; items: QRCodeData[]; onCancel: () => void; } const QRCodePrintingDialog: React.FC = ({ visible, items, onCancel, }) => { const t = useTranslate(); const [showContent, setShowContent] = useSavedState( "print-showContent", true ); const [textSize, setTextSize] = useSavedState("print-textSize", 3); const [showSpoolmanIcon, setShowSpoolmanIcon] = useSavedState( "print-showSpoolmanIcon", true ); const elements = items.map((item) => { return (
{showContent && (
{item.label ?? item.value}
)}
); }); return ( setShowContent(checked)} /> `${value} mm` }} min={2} max={7} value={textSize} step={0.1} onChange={(value) => { setTextSize(value); }} /> { setTextSize(value ?? 5); }} /> setShowSpoolmanIcon(checked)} /> } style={` .print-page .print-qrcode { height: 100% !important; width: 100% !important; } .print-page .print-qrcode-title { width: 100%; font-size: ${textSize}mm; } .print-page svg { display: block; height: 100%; width: auto; } `} onCancel={onCancel} /> ); }; export default QRCodePrintingDialog;