Gift card / voucher artwork
Ops runs this per denomination and per seasonal design. The denominations share a frame. The seasons share the denominations. You need artwork for each pair, and you do not want a folder of near-duplicate design files to keep in sync.
This covers the artwork only. Issuing or redeeming a voucher is not a Lerret concern. What you get out is a PNG at print size. What happens to the voucher after that is someone else’s job.
The job is a set of voucher images: one artboard per denomination, then a seasonal look swapped on top. Amount, terms line, and decorative frame stay in the component. The amount comes from colocated data. The seasonal look comes from config.
Give Lerret a React component under .lerret/ and optional data. export writes a PNG. Same component, data swapped, theme swapped. There is no batch product, no queue, no orchestrator.
The component is .lerret/commerce/voucher.jsx. It draws the amount, a terms line, and a decorative frame. One file. The denominations are separate artboards that use it. The frame and the type stay put when the season changes.
Data is one artboard per denomination with colocated data. That is bulk pattern 2: many artboards in a group, each with its own colocated .data.json or .data.js, one export for the set. The seasonal look is swapped with --config seasonal.json. That is bulk pattern 4: --config swaps theme vars without touching the source. --config applies to every artboard in the run and is never written back into .lerret/, so the default stays clean.
The image is a PNG at the voucher print size.
Denominations times seasons is two commands, not a folder of near-duplicate design files. One export captures every denomination. A second export with --config seasonal.json captures the seasonal set. You do not copy the file tree to restyle it.
A run without --config writes every denomination in the default look. A second run with --config seasonal.json writes the seasonal set from the same artboards. --config is never written back into .lerret/, so the default stays clean. Two commands cover denominations times seasons.
npx @lerret/cli@latest export --config seasonal.json
Start a project with npx create-lerret@latest. More in the use cases index.