diff --git a/src/build_logic/setstone_utils.js b/src/build_logic/setstone_utils.js index 5602f851..2ebf7248 100644 --- a/src/build_logic/setstone_utils.js +++ b/src/build_logic/setstone_utils.js @@ -46,6 +46,8 @@ export function generateSetStonePages(shows, outputDir) { console.log(`Creating ${fakeTicketStubCount} fake ticket stubs for show ${showId} (tokens ${startTokenId}-${startTokenId + fakeTicketStubCount - 1})`); show.ticketStubs = []; show.ticketStubCount = fakeTicketStubCount; // Update count for consistency + show.firstTokenId = startTokenId; + show.lastTokenId = startTokenId + fakeTicketStubCount - 1; for (let i = 0; i < fakeTicketStubCount; i++) { show.ticketStubs.push({ tokenId: startTokenId + i, diff --git a/src/sites/cryptograss.live/templates/pages/claim-ticket-stub.njk b/src/sites/cryptograss.live/templates/pages/claim-ticket-stub.njk index 0c07e21f..fbb2954d 100644 --- a/src/sites/cryptograss.live/templates/pages/claim-ticket-stub.njk +++ b/src/sites/cryptograss.live/templates/pages/claim-ticket-stub.njk @@ -7,7 +7,7 @@

Claim Ticket Stub #{{ tokenId }}

- + {% if show and ticketStub %}
@@ -26,8 +26,8 @@

Block Height: {{ show.blockheight.toLocaleString() }}

{% if show.poster %}
- Show poster
@@ -37,352 +37,232 @@
{% endif %} - - {% if error %} - - {% endif %} - {% if success %} - - {% endif %} +
- {% if not success and not error %} -
-
-
Ready to Claim
-

- You're about to claim ticket stub #{{ tokenId }} using the secret from your physical ticket. -

- - {% if secret %} -

- Secret detected from URL: {{ secret | truncate(8) }}... -

- {% endif %} - -
-
- - -
The address where you want to receive your ticket stub NFT. ENS names are supported.
- -
- -
- - -
This should be the text or QR code content from your ticket stub
- -
- - -
-
-
+
+
+
Ready to Claim
+

+ You're about to claim ticket stub #{{ tokenId }} using the secret from your physical ticket. +

+ +
+
+ + +
The address where you want to receive your ticket stub NFT. ENS names are supported.
+
+ +
+ + +
This should be the text or QR code content from your ticket stub.
+ +
-
-
What happens when I claim?
-
    -
  • We'll verify your secret against the ticket stub contract
  • -
  • If valid, the NFT will be minted to your wallet address
  • -
  • You'll own the digital representation of your physical ticket
  • -
  • The secret can only be used once
  • -
+ +
+
- {% if show.ticketStubs and show.ticketStubs.length > 0 %} -
-
-
-
- -

🎵 Also Available: Strike Set Stone for This Show

-
-

Commemorate your experience with a unique set stone NFT. Select three colors from the original NES palette.

- -
- - - - -
- -
- -
-

Crystalization message:

- -
- - - -

Song of Note:

- - -

- Minimum price: - -

-
- - ETH -
- -

Rabbit

-

You need a secret "rabbit", distributed at the show, to buy a set stone. Each rabbit is valid to purchase one stone.

- - - -
-
- -
- -

- - -
- - -
+
+
What happens when I claim?
+
    +
  • We verify your secret against the ticket stub contract on Optimism.
  • +
  • If valid, we submit the mint transaction on your behalf — no wallet or ETH required on your end.
  • +
  • The NFT lands in the address you specified above.
  • +
  • The secret can only be used once.
  • +
+
+ + {% if show.ticketStubs and show.ticketStubs.length > 0 %} +
+
+
+
+ +

🎵 Also Available: Strike Set Stone for This Show

+
+

Commemorate your experience with a unique set stone NFT. Select three colors from the original NES palette.

+ +
+ + + + +
+ +
+
+

Crystalization message:

+
-
+ + + +

Song of Note:

+ + +

+ Minimum price: + +

+
+ + ETH +
+ +

Rabbit

+

You need a secret "rabbit", distributed at the show, to buy a set stone. Each rabbit is valid to purchase one stone.

+ + + +
+
+ +
+ +

+ + +
+ + +
+
+
- {% endif %} +
{% endif %}
- - -