+ {/* Title + genre */}
+
+
+ {h.storyline.title}
+
+ {h.storyline.genre && (
+ {h.storyline.genre}
+ )}
+
+ {/* Stats grid */}
+
+ Value
+
+ {formatPrice(formatUnits(h.value, h.reserveDecimals))} {RESERVE_LABEL}
+ {plotUsd && ({formatUsdValue(Number(formatUnits(h.value, h.reserveDecimals)) * plotUsd)})}
+
+ {h.priceChange !== null && (
+ <>
+ Change
+ = 0 ? "text-accent" : "text-error"}`}>
+ {h.priceChange >= 0 ? "+" : ""}{h.priceChange.toFixed(1)}%
- {plotUsd && (
-
- ({formatUsdValue(Number(formatUnits(h.value, h.reserveDecimals)) * plotUsd)})
-
- )}
- {h.priceChange !== null && (
- = 0 ? "text-accent" : "text-error"}`}>
- {h.priceChange >= 0 ? "+" : ""}{h.priceChange.toFixed(1)}%
-
- )}
-
- {/* Secondary: compact stats */}
-
- {formatPrice(formatUnits(h.balance, 18))} tokens
- ·
- price {formatPrice(formatUnits(h.price, 18))} {RESERVE_LABEL}
- {plotUsd != null && (≈ {formatUsdValue(Number(formatUnits(h.price, 18)) * plotUsd)})}
- {h.entryPrice !== null && h.entryPrice > 0 && (
- <>
- ·
- entry {formatPrice(h.entryPrice)} {RESERVE_LABEL}
- {plotUsd != null && (≈ {formatUsdValue(h.entryPrice * plotUsd)})}
- >
- )}
- {h.lastTraded && (
- <>
- ·
- {new Date(h.lastTraded).toLocaleDateString("en-US", { month: "short", day: "numeric" })}
- >
- )}
-
-
- ))}
+ >
+ )}
+