Add URL parameter support for repeatable label generation

Parameters (startNumber, prefix, leadingZeros, borderToggle) are now:
- Read from URL query string on page load
- Updated in URL when clicking "Regenerate Labels"

This allows bookmarking and sharing specific label configurations.
This commit is contained in:
Claude 2025-11-23 17:39:34 +00:00
parent f7fe52bd61
commit 71f735ca68
No known key found for this signature in database

View file

@ -260,6 +260,34 @@
borderToggle: false,
labels: [],
readUrlParams() {
const params = new URLSearchParams(window.location.search);
if (params.has("startNumber")) {
const val = parseInt(params.get("startNumber"), 10);
if (!isNaN(val) && val >= 1) this.startNumber = val;
}
if (params.has("prefix")) {
this.prefix = params.get("prefix");
}
if (params.has("leadingZeros")) {
const val = parseInt(params.get("leadingZeros"), 10);
if (!isNaN(val) && val >= 0) this.leadingZeros = val;
}
if (params.has("borderToggle")) {
this.borderToggle = params.get("borderToggle") === "true";
}
},
updateUrl() {
const params = new URLSearchParams();
params.set("startNumber", this.startNumber);
params.set("prefix", this.prefix);
params.set("leadingZeros", this.leadingZeros);
params.set("borderToggle", this.borderToggle);
const newUrl = `${window.location.pathname}?${params.toString()}`;
window.history.replaceState({}, "", newUrl);
},
generateLabels() {
this.labels = [];
let totalLabels = 7 * 27; // 7 columns x 27 rows
@ -278,11 +306,13 @@
this.labels.push({ qrCodeUrl, text });
}
this.updateUrl();
},
printLabels() {
window.print();
},
init() {
this.readUrlParams();
this.generateLabels();
},
};