deploy: force single-page barcode printing
This commit is contained in:
parent
30bb21dcc4
commit
984f54e3c1
@ -179,32 +179,52 @@
|
|||||||
|
|
||||||
@media print {
|
@media print {
|
||||||
@page {
|
@page {
|
||||||
margin: 12mm;
|
size: auto;
|
||||||
|
margin: 8mm;
|
||||||
}
|
}
|
||||||
|
|
||||||
body * {
|
html,
|
||||||
visibility: hidden !important;
|
body {
|
||||||
|
width: 100%;
|
||||||
|
min-height: 0 !important;
|
||||||
|
margin: 0 !important;
|
||||||
|
padding: 0 !important;
|
||||||
|
background: #fff !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.barcode-print-sheet,
|
#root {
|
||||||
.barcode-print-sheet * {
|
display: none !important;
|
||||||
visibility: visible !important;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.barcode-print-sheet {
|
.barcode-print-sheet {
|
||||||
position: fixed;
|
position: static;
|
||||||
inset: 0;
|
|
||||||
display: grid !important;
|
display: grid !important;
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
min-height: 0;
|
||||||
place-items: center;
|
place-items: center;
|
||||||
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
overflow: visible;
|
||||||
|
break-after: avoid-page;
|
||||||
|
break-before: avoid-page;
|
||||||
|
break-inside: avoid-page;
|
||||||
|
page-break-after: avoid;
|
||||||
|
page-break-before: avoid;
|
||||||
|
page-break-inside: avoid;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.barcode-print-label {
|
.barcode-print-label {
|
||||||
display: grid;
|
display: grid;
|
||||||
width: min(170mm, 100%);
|
width: min(170mm, 100%);
|
||||||
|
max-height: calc(100vh - 16mm);
|
||||||
place-items: center;
|
place-items: center;
|
||||||
gap: 8mm;
|
gap: 6mm;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
break-inside: avoid-page;
|
||||||
|
page-break-inside: avoid;
|
||||||
color: #000;
|
color: #000;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
@ -217,6 +237,8 @@
|
|||||||
.barcode-print-label canvas {
|
.barcode-print-label canvas {
|
||||||
display: block;
|
display: block;
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
|
max-height: 65vh;
|
||||||
|
width: auto;
|
||||||
height: auto;
|
height: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
import bwipjs from 'bwip-js'
|
import bwipjs from 'bwip-js'
|
||||||
import { Printer, RefreshCw } from 'lucide-react'
|
import { Printer, RefreshCw } from 'lucide-react'
|
||||||
import { useEffect, useRef, useState } from 'react'
|
import { useEffect, useRef, useState } from 'react'
|
||||||
|
import { createPortal } from 'react-dom'
|
||||||
|
|
||||||
import { appendGtinCheckDigit, randomDigits } from '../../lib/barcodes'
|
import { appendGtinCheckDigit, randomDigits } from '../../lib/barcodes'
|
||||||
import './CodeLab.css'
|
import './CodeLab.css'
|
||||||
@ -215,7 +216,7 @@ export function CodeLab() {
|
|||||||
) : (
|
) : (
|
||||||
<div className="ean-lab-grid">{eanFixtures.map((fixture) => <EanLabelCard fixture={fixture} key={fixture.id} />)}</div>
|
<div className="ean-lab-grid">{eanFixtures.map((fixture) => <EanLabelCard fixture={fixture} key={fixture.id} />)}</div>
|
||||||
)}
|
)}
|
||||||
{printFixture && <PrintableBarcode fixture={printFixture} />}
|
{printFixture && createPortal(<PrintableBarcode fixture={printFixture} />, document.body)}
|
||||||
</section>
|
</section>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user