From a5c1d4e4ec460d1b79113327e8828024ad860ffa Mon Sep 17 00:00:00 2001 From: Cho Young-Hwi Date: Thu, 2 Apr 2026 08:00:22 +0100 Subject: [PATCH] [#736] Writer + Reader tab v8: larger book, stat boxes, centered info MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. Larger Moleskine book w-[130px] sm:w-[180px] with title text-sm sm:text-base 2. Replace inline Plots/Holders/Views/Created with 2×2 grid mini stat boxes 3. Right-side info vertically centered to book with items-center 4. Writer Stats: grid-cols-2 sm:grid-cols-4 dashboard stat boxes, Received full-width row 5. Reader tab: same larger book + centered layout changes Fixes #736 Co-Authored-By: Claude Opus 4.6 (1M context) --- src/app/profile/[address]/page.tsx | 75 +++++++++++++++++++----------- 1 file changed, 48 insertions(+), 27 deletions(-) diff --git a/src/app/profile/[address]/page.tsx b/src/app/profile/[address]/page.tsx index 998b8fe3..19f371a0 100644 --- a/src/app/profile/[address]/page.tsx +++ b/src/app/profile/[address]/page.tsx @@ -679,14 +679,26 @@ function StoriesTab({
{/* Writer Stats — title outside box */}

Writer Stats

-
-
- Stories: {storylines.length} - Plots: {totalPlots} - Holders: {totalHolders !== undefined ? totalHolders : "—"} - Views: {storylines.reduce((sum, s) => sum + (s.view_count ?? 0), 0)} +
+
+
+
{storylines.length}
+
Stories
+
+
+
{totalPlots}
+
Plots
+
+
+
{totalHolders !== undefined ? totalHolders : "—"}
+
Holders
+
+
+
{storylines.reduce((sum, s) => sum + (s.view_count ?? 0), 0)}
+
Views
+
-
+
Received:{" "} {totalDonations > BigInt(0) ? `${formatPrice(formatUnits(totalDonations, 18))} ${RESERVE_LABEL}` : "—"} @@ -804,11 +816,11 @@ function StoryRow({ <>
{/* Moleskine book (left) + Info (right) */} -
+
{/* Moleskine book card */}
-
- +
+ {storyline.title}
@@ -843,20 +855,29 @@ function StoryRow({ {/* Info (right) */}
-
-
- Plots: {storyline.plot_count} - · - {storyline.sunset ? ( - complete - ) : ( - active - )} +
+
+
{storyline.plot_count}
+
Plots
+
+
+
{holderCount ?? "—"}
+
Holders
+
+
+
{formatViewCount(storyline.view_count)}
+
Views
+
+
+
{storyline.block_timestamp ? new Date(storyline.block_timestamp).toLocaleDateString("en-US", { month: "short", day: "numeric" }) : "—"}
+
Created
-
Holders: {holderCount ?? "—"}
-
Views: {formatViewCount(storyline.view_count)}
-
Created: {storyline.block_timestamp ? new Date(storyline.block_timestamp).toLocaleDateString("en-US", { month: "short", day: "numeric" }) : "—"}
+ {storyline.sunset ? ( + complete + ) : ( + active + )} {/* TVL + Donations (inline in info area) */} {storyline.token_address && ( <> @@ -1386,10 +1407,10 @@ function PortfolioTab({ address, isOwnProfile }: { address: string; isOwnProfile {holdings!.map((h) => (
{/* Moleskine book (left) + Info (right) */} -
+
-
- +
+ {h.storyline.title}