diff --git a/src/app/story/[storylineId]/page.tsx b/src/app/story/[storylineId]/page.tsx index a21ce284..bb660fc4 100644 --- a/src/app/story/[storylineId]/page.tsx +++ b/src/app/story/[storylineId]/page.tsx @@ -262,10 +262,62 @@ function StoryHeader({ ? new Date(storyline.block_timestamp).toLocaleDateString("en-US", { month: "short", day: "numeric", year: "numeric" }) : null; + const statsGrid = priceInfo ? ( +
+
+ +
+
+
{formatSupply(priceInfo.totalSupply)}
+
Supply Minted
+
+
+ {storyline.sunset ? ( + <> +
{storyline.plot_count}
+
Complete
+ + ) : storyline.has_deadline && storyline.last_plot_time ? ( + <> +
+ +
+
Deadline
+ + ) : ( + <> +
+
Deadline
+ + )} +
+
+
{formatPrice(priceInfo.pricePerToken)} {RESERVE_LABEL}
+
Token Price
+
+
+
{storyline.plot_count}
+
{storyline.plot_count === 1 ? "Plot" : "Plots"}
+
+
+
{createdDate ?? "—"}
+
Created
+
+
+ ) : null; + + const ctaButton = ( + + ); + return (
-
- {/* Moleskine book cover — left-aligned on all sizes */} +
+ {/* Moleskine book cover */}
- {/* Right column: info only */} + {/* Right column: info + stats (desktop only) */}

{storyline.title} @@ -326,59 +378,19 @@ function StoryHeader({

- {/* Stats grid — inside right column, next to cover */} - {priceInfo && ( -
-
- -
-
-
{formatSupply(priceInfo.totalSupply)}
-
Supply Minted
-
-
- {storyline.sunset ? ( - <> -
{storyline.plot_count}
-
Complete
- - ) : storyline.has_deadline && storyline.last_plot_time ? ( - <> -
- -
-
Deadline
- - ) : ( - <> -
-
Deadline
- - )} -
-
-
{formatPrice(priceInfo.pricePerToken)} {RESERVE_LABEL}
-
Token Price
-
-
-
{storyline.plot_count}
-
{storyline.plot_count === 1 ? "Plot" : "Plots"}
-
-
-
{createdDate ?? "—"}
-
Created
-
-
+ {/* Stats + CTA — desktop only (inside right column) */} + {statsGrid && ( +
{statsGrid}
)} - - {/* CTA — in right column */} - +
{ctaButton}
+ + {/* Stats + CTA — mobile only (full-width below cover+info row) */} + {statsGrid && ( +
{statsGrid}
+ )} +
{ctaButton}
); }