From 95d2a3bf90cb14e7bcfda6c38f5267bbcba23a2a Mon Sep 17 00:00:00 2001 From: Cho Young-Hwi Date: Wed, 1 Apr 2026 15:00:08 +0100 Subject: [PATCH 1/2] =?UTF-8?q?[#710]=20Redesign=20Portfolio=20tab=20v2=20?= =?UTF-8?q?=E2=80=94=20remove=20all=20toggles,=20mobile-friendly?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove all
/collapse/toggle buttons from Portfolio tab - Donations given: always visible with full per-story breakdown - Trading history: always visible, no collapsible wrapper - All info displayed directly: portfolio summary, holdings, donations, trades - Consistent card styling throughout Co-Authored-By: Claude Opus 4.6 (1M context) --- src/app/profile/[address]/page.tsx | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/src/app/profile/[address]/page.tsx b/src/app/profile/[address]/page.tsx index 175ac5b1..253b25ac 100644 --- a/src/app/profile/[address]/page.tsx +++ b/src/app/profile/[address]/page.tsx @@ -1506,8 +1506,8 @@ function PortfolioTab({ address, isOwnProfile }: { address: string; isOwnProfile )} {isOwnProfile && hasDonationsGiven && ( -
- +
+
Given {formatPrice(formatUnits(totalDonated, 18))} {RESERVE_LABEL} @@ -1516,9 +1516,7 @@ function PortfolioTab({ address, isOwnProfile }: { address: string; isOwnProfile (≈ {formatUsdValue(Number(formatUnits(totalDonated, 18)) * plotUsd)}) )} {donationTotalCount} {donationTotalCount === 1 ? "donation" : "donations"} - - -
+
{donationsGiven.map((d) => (
@@ -1566,7 +1564,7 @@ function PortfolioTab({ address, isOwnProfile }: { address: string; isOwnProfile )}
-
+ )} )} @@ -1635,14 +1633,12 @@ function PortfolioTradingHistory({ address, plotUsd }: { address: string; plotUs if (trades.length === 0) return null; return ( -
- +
+
Trades {totalCount} {totalCount === 1 ? "trade" : "trades"} - - -
+
{trades.map((t) => { @@ -1711,7 +1707,7 @@ function PortfolioTradingHistory({ address, plotUsd }: { address: string; plotUs
)} -
+ ); } From 47fa0cd32eaca3e959a841880ec609a81343abc6 Mon Sep 17 00:00:00 2001 From: Cho Young-Hwi Date: Wed, 1 Apr 2026 15:04:23 +0100 Subject: [PATCH 2/2] [#710] Fix T2a review: wrapping donation + trade rows for mobile Both donation-given rows and trade-history rows now use flex-wrap with gap-based spacing instead of rigid justify-between, preventing overflow at 375px. Co-Authored-By: Claude Opus 4.6 (1M context) --- src/app/profile/[address]/page.tsx | 136 ++++++++++++++--------------- 1 file changed, 64 insertions(+), 72 deletions(-) diff --git a/src/app/profile/[address]/page.tsx b/src/app/profile/[address]/page.tsx index 253b25ac..c8498020 100644 --- a/src/app/profile/[address]/page.tsx +++ b/src/app/profile/[address]/page.tsx @@ -1519,39 +1519,35 @@ function PortfolioTab({ address, isOwnProfile }: { address: string; isOwnProfile
{donationsGiven.map((d) => ( -
-
- + + Story #{d.storyline_id} + + + {formatPrice(formatUnits(BigInt(d.amount), 18))} {RESERVE_LABEL} + + {plotUsd != null && ( + (≈ {formatUsdValue(Number(formatUnits(BigInt(d.amount), 18)) * plotUsd)}) + )} + {d.block_timestamp && ( + + )} + {d.tx_hash && ( + - Story #{d.storyline_id} - - {d.block_timestamp && ( - - )} -
- + ↗ + + )}
))} {donHasNext && ( @@ -1648,49 +1644,45 @@ function PortfolioTradingHistory({ address, plotUsd }: { address: string; plotUs return (
-
- - {isBuy ? "Buy" : "Sell"} + + {isBuy ? "Buy" : "Sell"} + + + {title || `Story #${t.storyline_id}`} + + + {formatPrice(t.reserve_amount)} {RESERVE_LABEL} + + {plotUsd && ( + + (≈ {formatUsdValue(t.reserve_amount * plotUsd)}) - 0 && ( + {formatSupply(tokenCount)} tokens + )} + {t.block_timestamp && ( + + )} + {t.tx_hash && ( + - {title || `Story #${t.storyline_id}`} - - {tokenCount > 0 && ( - {formatSupply(tokenCount)} tokens - )} - {t.block_timestamp && ( - - )} -
- + ↗ + + )}
); })}