From a9ed1a01502400f66a0b51523df90a71399a2fe0 Mon Sep 17 00:00:00 2001 From: Cho Young-Hwi Date: Thu, 2 Apr 2026 22:01:33 +0100 Subject: [PATCH 1/3] [#774] Restructure storyline deadline + stats into 2-col grid layout - Market Cap and Supply Minted in a 2-column bordered grid - Deadline countdown in a full-width bordered box below with "Next Plot Publish Deadline" label - Story complete box also moved into the same layout section - All boxes stack vertically on mobile via space-y-2 Co-Authored-By: Claude Opus 4.6 (1M context) --- src/app/story/[storylineId]/page.tsx | 53 ++++++++++++++++------------ 1 file changed, 30 insertions(+), 23 deletions(-) diff --git a/src/app/story/[storylineId]/page.tsx b/src/app/story/[storylineId]/page.tsx index 6dd3fb6a..dde6dd6b 100644 --- a/src/app/story/[storylineId]/page.tsx +++ b/src/app/story/[storylineId]/page.tsx @@ -289,32 +289,39 @@ function StoryHeader({ {priceInfo && ( -
- -
- - Supply Minted - - - {formatSupply(priceInfo.totalSupply)} tokens - +
+
+ +
+ + Supply Minted + + + {formatSupply(priceInfo.totalSupply)} tokens + +
+ {storyline.sunset ? ( +
+ Story complete + + {storyline.plot_count} {storyline.plot_count === 1 ? "plot" : "plots"} total + +
+ ) : storyline.last_plot_time ? ( +
+ + Next Plot Publish Deadline + + +
+ ) : null}
)} - {storyline.sunset ? ( -
- Story complete - - {storyline.plot_count} {storyline.plot_count === 1 ? "plot" : "plots"} total - -
- ) : storyline.last_plot_time ? ( - - ) : null} {!storyline.sunset && ( )} From 99d46d3a5aff036482411d8bee03c8f9f5351d20 Mon Sep 17 00:00:00 2001 From: Cho Young-Hwi Date: Thu, 2 Apr 2026 22:03:54 +0100 Subject: [PATCH 2/3] [#774] Fix T2a review: stack grid on mobile, remove duplicate deadline label 1. Grid changed to grid-cols-1 sm:grid-cols-2 so boxes stack on mobile 2. Added hideLabel prop to DeadlineCountdown to avoid redundant "Deadline:" text when the parent box already has a heading Co-Authored-By: Claude Opus 4.6 (1M context) --- src/app/story/[storylineId]/page.tsx | 4 ++-- src/components/DeadlineCountdown.tsx | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/app/story/[storylineId]/page.tsx b/src/app/story/[storylineId]/page.tsx index dde6dd6b..4b066268 100644 --- a/src/app/story/[storylineId]/page.tsx +++ b/src/app/story/[storylineId]/page.tsx @@ -290,7 +290,7 @@ function StoryHeader({ {priceInfo && (
-
+
Next Plot Publish Deadline - +
) : null}
diff --git a/src/components/DeadlineCountdown.tsx b/src/components/DeadlineCountdown.tsx index cc934e41..cd2d92cb 100644 --- a/src/components/DeadlineCountdown.tsx +++ b/src/components/DeadlineCountdown.tsx @@ -4,7 +4,7 @@ import { useState, useEffect } from "react"; const DEADLINE_HOURS = 168; -export function DeadlineCountdown({ lastPlotTime }: { lastPlotTime: string }) { +export function DeadlineCountdown({ lastPlotTime, hideLabel }: { lastPlotTime: string; hideLabel?: boolean }) { const [remaining, setRemaining] = useState(null); useEffect(() => { @@ -19,7 +19,7 @@ export function DeadlineCountdown({ lastPlotTime }: { lastPlotTime: string }) { if (remaining === null) { return (
- Deadline:{" "} + {!hideLabel && <>Deadline:{" "}} --
); @@ -28,7 +28,7 @@ export function DeadlineCountdown({ lastPlotTime }: { lastPlotTime: string }) { if (remaining <= 0) { return (
- Deadline:{" "} + {!hideLabel && <>Deadline:{" "}} expired
); From edee7e1ae84af2684fd1d47f9e5719bd4c839ff3 Mon Sep 17 00:00:00 2001 From: Cho Young-Hwi Date: Thu, 2 Apr 2026 22:05:46 +0100 Subject: [PATCH 3/3] [#774] Fix: apply hideLabel to normal countdown branch too The replace_all missed the third render branch (active countdown). Now all three states (null, expired, active) respect hideLabel. Co-Authored-By: Claude Opus 4.6 (1M context) --- src/components/DeadlineCountdown.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/DeadlineCountdown.tsx b/src/components/DeadlineCountdown.tsx index cd2d92cb..02656a1f 100644 --- a/src/components/DeadlineCountdown.tsx +++ b/src/components/DeadlineCountdown.tsx @@ -50,7 +50,7 @@ export function DeadlineCountdown({ lastPlotTime, hideLabel }: { lastPlotTime: s return (
- Deadline:{" "} + {!hideLabel && <>Deadline:{" "}} {formatted}
);