diff --git a/src/app/story/[storylineId]/page.tsx b/src/app/story/[storylineId]/page.tsx index c197937f..ddf81aec 100644 --- a/src/app/story/[storylineId]/page.tsx +++ b/src/app/story/[storylineId]/page.tsx @@ -263,128 +263,127 @@ function StoryHeader({ : null; return ( - <> - {/* Zone 1: Hero — Cover + Identity */} -
-
- {/* Moleskine book cover */} -
+
+
+ {/* Moleskine book cover — left-aligned on all sizes */} +
+
-
-
- - {storyline.genre || "Uncategorized"} - -
-
- - {storyline.title} - -
-
- - {storyline.plot_count} {storyline.plot_count === 1 ? "plot" : "plots"} - -
+ className="pointer-events-none absolute inset-y-[-1px] right-[16px] z-20 w-[5px] rounded-[2px]" + style={{ background: "rgba(139, 69, 19, 0.15)" }} + /> +
+ + {storyline.genre || "Uncategorized"} + +
+
+ + {storyline.title} + +
+
+ + {storyline.plot_count} {storyline.plot_count === 1 ? "plot" : "plots"} +
+
- {/* Info panel */} -
-

- {storyline.title} -

-
- - + {/* Right column: info only */} +
+

+ {storyline.title} +

+
+ + +
+
+
+ Writer + {truncateAddress(storyline.writer_address)}}> + + + {storyline.writer_type === 1 && }
-
-
- Writer - {truncateAddress(storyline.writer_address)}}> - - - {storyline.writer_type === 1 && } -
-
- Genre - - {storyline.genre || "Uncategorized"} - {storyline.language && storyline.language !== "English" && ( - · {storyline.language} - )} - -
+
+ Genre + + {storyline.genre || "Uncategorized"} + {storyline.language && storyline.language !== "English" && ( + · {storyline.language} + )} +
-
+
- {/* Zone 2: Stats Card + Action */} + {/* Stats grid — below cover+info on mobile, aligned with right column on desktop */} {priceInfo && ( -
-
- {/* Row 1 */} -
- -
-
-
{formatSupply(priceInfo.totalSupply)}
-
Supply Minted
-
-
- {storyline.sunset ? ( - <> -
{storyline.plot_count}
-
Complete
- - ) : storyline.has_deadline && storyline.last_plot_time ? ( - <> -
- -
-
Deadline
- - ) : ( - <> -
-
Deadline
- - )} -
- {/* Row 2 */} -
-
{formatPrice(priceInfo.pricePerToken)} {RESERVE_LABEL}
-
Token Price
-
-
-
{storyline.plot_count}
-
{storyline.plot_count === 1 ? "Plot" : "Plots"}
-
-
-
{createdDate ?? "—"}
-
Created
-
+
+
+
+ +
+
+
{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
+
)} - - + + {/* CTA — below stats, aligned with right column on desktop */} +
+ +
+
); } diff --git a/src/components/AddPlotButton.tsx b/src/components/AddPlotButton.tsx index 516bbb42..3465ab00 100644 --- a/src/components/AddPlotButton.tsx +++ b/src/components/AddPlotButton.tsx @@ -32,7 +32,7 @@ export function AddPlotButton({ if (expired) { return (
{sunset ? "Story complete" : "Deadline expired"} @@ -43,7 +43,7 @@ export function AddPlotButton({ return ( + Add a new Plot