This commit is contained in:
BenjaminDaSilva 2026-02-11 22:47:02 +00:00 committed by GitHub
commit 1bf62019aa
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 59 additions and 2 deletions

3
.idea/.gitignore generated vendored Normal file
View file

@ -0,0 +1,3 @@
# Default ignored files
/shelf/
/workspace.xml

9
.idea/asn-qr-code-label-generator.iml generated Normal file
View file

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

6
.idea/misc.xml generated Normal file
View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="openjdk-21" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

8
.idea/modules.xml generated Normal file
View file

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/asn-qr-code-label-generator.iml" filepath="$PROJECT_DIR$/.idea/asn-qr-code-label-generator.iml" />
</modules>
</component>
</project>

6
.idea/vcs.xml generated Normal file
View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

View file

@ -22,6 +22,10 @@
size: A4; size: A4;
} }
} }
.colorPicker {
height: 42px;
}
</style> </style>
</head> </head>
<body class="print:p-0" x-data="qrCodeApp()"> <body class="print:p-0" x-data="qrCodeApp()">
@ -154,6 +158,20 @@
value="5" value="5"
min="0" min="0"
class="block w-full rounded-lg border border-gray-300 bg-gray-50 p-2.5 text-sm text-gray-900 focus:border-blue-500 focus:ring-blue-500" class="block w-full rounded-lg border border-gray-300 bg-gray-50 p-2.5 text-sm text-gray-900 focus:border-blue-500 focus:ring-blue-500"
/>
</div>
<div>
<label
for="color"
class="mb-2 block text-sm font-medium text-gray-900"
>Color</label
>
<input
type="color"
id="color"
x-model="color"
@input="updateUrl()"
class="w-full rounded-lg border focus:border-blue-500 focus:ring-blue-500 colorPicker"
/> />
</div> </div>
<div> <div>
@ -225,6 +243,7 @@
'text-[2.4mm]': label.text.length == 9, 'text-[2.4mm]': label.text.length == 9,
'text-[2.1mm]': label.text.length >= 10, 'text-[2.1mm]': label.text.length >= 10,
}" }"
:style="'color: ' + color"
x-text="label.text" x-text="label.text"
></div> ></div>
</div> </div>
@ -261,6 +280,7 @@
startNumber: 1, startNumber: 1,
prefix: "ASN", prefix: "ASN",
leadingZeros: 4, leadingZeros: 4,
color: "#000000",
borderToggle: false, borderToggle: false,
labels: [], labels: [],
@ -277,16 +297,20 @@
const val = parseInt(params.get("leadingZeros"), 10); const val = parseInt(params.get("leadingZeros"), 10);
if (!isNaN(val) && val >= 0) this.leadingZeros = val; if (!isNaN(val) && val >= 0) this.leadingZeros = val;
} }
if (params.has("color")) {
const val = params.get("color");
}
if (params.has("borderToggle")) { if (params.has("borderToggle")) {
this.borderToggle = params.get("borderToggle") === "true"; this.borderToggle = params.get("borderToggle") === "true";
} }
}, },
updateUrl() { updateUrl() {
const params = new URLSearchParams(); const params = new URLSearchParams();
params.set("startNumber", this.startNumber); params.set("startNumber", this.startNumber);
params.set("prefix", this.prefix); params.set("prefix", this.prefix);
params.set("leadingZeros", this.leadingZeros); params.set("leadingZeros", this.leadingZeros);
params.set("color", this.color);
params.set("borderToggle", this.borderToggle); params.set("borderToggle", this.borderToggle);
const newUrl = `${window.location.pathname}?${params.toString()}`; const newUrl = `${window.location.pathname}?${params.toString()}`;
window.history.replaceState({}, "", newUrl); window.history.replaceState({}, "", newUrl);
@ -303,8 +327,9 @@
.toString() .toString()
.padStart(leadingZerosInt + 1, "0"); .padStart(leadingZerosInt + 1, "0");
let text = this.prefix + paddedNumber; let text = this.prefix + paddedNumber;
let color = this.color.replace("#", "");
// See https://goqr.me/api/doc/create-qr-code/ // See https://goqr.me/api/doc/create-qr-code/
let qrCodeUrl = `https://api.qrserver.com/v1/create-qr-code/?size=300x300&data=${encodeURIComponent( let qrCodeUrl = `https://api.qrserver.com/v1/create-qr-code/?size=300x300&color=${color}&data=${encodeURIComponent(
text text
)}`; )}`;