diff --git a/src/index.html b/src/index.html index 3d29cc0..80f109c 100644 --- a/src/index.html +++ b/src/index.html @@ -22308,8 +22308,10 @@ } // Decks get a Start Presentation button — present straight from the - // browser without forking. - if (mode === 'deck') { + // browser without forking. Locked premium decks only carry the + // watermarked previews, not the full slide data, so hide the + // button until unlock. + if (mode === 'deck' && !lockedPremium) { const presentBtn = document.createElement('button'); presentBtn.type = 'button'; presentBtn.textContent = '▶ Start Presentation'; @@ -22378,7 +22380,10 @@ actionsDiv.insertBefore(dlBtn, saveJsonBtn); } - if (isDiscDesign) { + // Mode-specific import / print actions all depend on the + // design data, so hide them on locked premium rows — the + // envelope only carries watermarked previews until unlock. + if (isDiscDesign && !lockedPremium) { const import1Btn = document.createElement('button'); import1Btn.type = 'button'; import1Btn.textContent = 'Import into Disc 1'; @@ -22409,10 +22414,12 @@ actionsDiv.insertBefore(import1Btn, saveJsonBtn); actionsDiv.insertBefore(import2Btn, saveJsonBtn); - } else if (mode !== 'pixelart') { + } else if (mode !== 'pixelart' && !lockedPremium) { // Pixel-art designs have their own PNG / GIF download button // a few lines up — Print / Save PDF doesn't make sense for - // raster sprites at small native resolutions. + // raster sprites at small native resolutions. Locked premium + // rows skip print too: the printable content is encrypted + // until the buyer pays. const printBtn = document.createElement('button'); printBtn.type = 'button'; printBtn.textContent = 'Print / Save PDF';