setup (but did not apply) holofoil styling and added new seticon for perfect order set

This commit is contained in:
Zach Harding
2026-03-18 13:31:56 -04:00
parent b06e24d382
commit bc99be51ea
37 changed files with 2827 additions and 39 deletions

View File

@@ -44,6 +44,8 @@ import BackToTop from "./BackToTop.astro"
<BackToTop />
<!-- <script src="src/assets/js/holofoil-init.js" is:inline></script> -->
<script is:inline>
(function () {
@@ -92,8 +94,6 @@ import BackToTop from "./BackToTop.astro"
});
// ── Language toggle ───────────────────────────────────────────────────────
// Buttons live inside #sortBy which is OOB-swapped from the partial, so the
// listener is registered here on document (persistent shell) instead.
document.addEventListener('click', (e) => {
const btn = e.target.closest('.language-btn');
if (!btn) return;
@@ -117,7 +117,15 @@ import BackToTop from "./BackToTop.astro"
const ctx = canvas.getContext("2d");
canvas.width = img.naturalWidth;
canvas.height = img.naturalHeight;
ctx.drawImage(img, 0, 0);
// Load with crossOrigin so toBlob() stays untainted
await new Promise((resolve) => {
const clean = new Image();
clean.crossOrigin = 'anonymous';
clean.onload = () => { ctx.drawImage(clean, 0, 0); resolve(); };
clean.onerror = () => { ctx.drawImage(img, 0, 0); resolve(); };
clean.src = img.src;
});
if (navigator.clipboard && navigator.clipboard.write) {
const blob = await new Promise((resolve, reject) => {
@@ -380,6 +388,5 @@ import BackToTop from "./BackToTop.astro"
currentCardId = null;
updateNavButtons(null);
});
})();
</script>