|
Asset
@@ -208,6 +218,9 @@ export const PositionsTable = ({ positions, isLoading, onSelectPosition }: Posit
|
Amount Invested
|
+
+ Tokens
+ |
Collateral
|
@@ -227,10 +240,12 @@ export const PositionsTable = ({ positions, isLoading, onSelectPosition }: Posit
const health = getHealthFactor(pos);
const collateral = formatMETH(pos.mETHCollateral);
const invested = formatUSDC(pos.usdcBorrowed);
+ const totalAmount = isPortfolioPosition(pos) ? formatMETH(pos.totalAmount) : (parseFloat(formatMETH((pos as LeveragePosition).rwaTokenAmount || '0'))).toFixed(2);
const status = getStatus(pos);
const positionStatusStyle = getPositionStatusStyle(status);
const isActivePosition = status === 'ACTIVE';
const settlementTx = getSettlementTxHash(pos);
+ const liquidationTxHash = getLiquidationTxHash(pos);
const userYield = getUserYield(pos);
return (
@@ -259,6 +274,13 @@ export const PositionsTable = ({ positions, isLoading, onSelectPosition }: Posit
+ {/* Tokens */}
+
+
+ {totalAmount}
+
+ |
+
{/* Collateral */}
@@ -268,7 +290,7 @@ export const PositionsTable = ({ positions, isLoading, onSelectPosition }: Posit
{/* Health Factor */}
-
+
{health > 0 ? (health / 100).toFixed(2) + '%' : 'N/A'}
|
@@ -300,8 +322,18 @@ export const PositionsTable = ({ positions, isLoading, onSelectPosition }: Posit
>
Settlement Tx
- ) : (
- No Tx
+ ) : (
+ liquidationTxHash ? (
+
+ Liquidation Tx
+
+ ):
+ ( No Tx)
)}
{status === 'SETTLED' && userYield && (
diff --git a/src/components/marketplace/SentimentChart.tsx b/src/components/marketplace/SentimentChart.tsx
index d172956..fc23801 100644
--- a/src/components/marketplace/SentimentChart.tsx
+++ b/src/components/marketplace/SentimentChart.tsx
@@ -56,7 +56,7 @@ export const SentimentChart = ({ data, isLoading }: SentimentChartProps) => {
return {
backgroundColor: 'transparent',
- animation: false,
+ animation: true,
tooltip: {
trigger: 'axis',
axisPointer: { type: 'cross', label: { backgroundColor: '#111827' } },
@@ -127,6 +127,7 @@ export const SentimentChart = ({ data, isLoading }: SentimentChartProps) => {
startValue: Math.min(0, data.length),
endValue: data.length - 1,
zoomLock: false // Set to true to maintain the "Industrial" constant candle width
+
}
],
series: [
@@ -163,18 +164,16 @@ export const SentimentChart = ({ data, isLoading }: SentimentChartProps) => {
};
return (
-
-
+
+
Market Sentiment
{isLoading && (
-
);
};
\ No newline at end of file
diff --git a/src/components/marketplace/TradeChart.tsx b/src/components/marketplace/TradeChart.tsx
index f19f8aa..3942be0 100644
--- a/src/components/marketplace/TradeChart.tsx
+++ b/src/components/marketplace/TradeChart.tsx
@@ -120,17 +120,6 @@ export const TradeChart = ({ data, isLoading }: TradeChartProps) => {
endValue: data.length - 1,
zoomLock: false
},
- {
- type: 'slider',
- show: true,
- xAxisIndex: [0],
- height: 20,
- bottom: 10,
- borderColor: 'transparent',
- backgroundColor: '#f8fafc',
- fillerColor: 'rgba(51, 65, 85, 0.1)',
- handleStyle: { color: '#cbd5e1' }
- }
],
series: [
{
@@ -166,27 +155,18 @@ export const TradeChart = ({ data, isLoading }: TradeChartProps) => {
};
return (
-
+
Trade Executions
-
-
- 5m Continuous Streaming
-
- {isLoading && (
-
-
+ {isLoading && (
+
)}
-
-
- Drag chart or use slider to explore historical trends
-
+
);
};
diff --git a/src/components/notifications/NotificationBell.tsx b/src/components/notifications/NotificationBell.tsx
index 724178c..57d6da8 100644
--- a/src/components/notifications/NotificationBell.tsx
+++ b/src/components/notifications/NotificationBell.tsx
@@ -98,9 +98,9 @@ export function NotificationBell({ role }: { role: 'ORIGINATOR' | 'INVESTOR' | '
// Trigger Toast
toast(newNotification.header, {
- icon: newNotification.severity === 'SUCCESS' ? 'â
' :
- newNotification.severity === 'ERROR' ? 'â' :
- newNotification.severity === 'WARNING' ? 'â ī¸' : 'âšī¸',
+ icon: newNotification.severity === 'success' ? 'â
' :
+ newNotification.severity === 'error' ? 'â' :
+ newNotification.severity === 'warning' ? 'â ī¸' : 'âšī¸',
duration: 4000,
position: 'top-right',
className: 'font-geist text-sm font-medium'
diff --git a/src/components/portfolio/ActiveBidsTable.tsx b/src/components/portfolio/ActiveBidsTable.tsx
index ef7c49c..b57d6c5 100644
--- a/src/components/portfolio/ActiveBidsTable.tsx
+++ b/src/components/portfolio/ActiveBidsTable.tsx
@@ -30,16 +30,20 @@ export const ActiveBidsTable = ({
? bids
: bids.filter(bid => bid.status === statusFilter);
- const statusOptions: Array = ['ALL', 'PENDING', 'WON', 'LOST', 'SETTLED', 'REFUNDED'];
+ const statusOptions: Array = ['ALL', 'PENDING', 'PLACED', 'FINALIZED', 'WON', 'LOST', 'SETTLED', 'REFUNDED'];
const getBidStatusStyle = (status: BidStatus) => {
switch (status) {
+ case 'PLACED':
+ return { bg: 'bg-blue-100', text: 'text-blue-700', label: 'Placed' };
+ case 'FINALIZED':
+ return { bg: 'bg-purple-100', text: 'text-purple-700', label: 'Finalized' };
case 'WON':
- return { bg: 'bg-blue-100', text: 'text-blue-700', label: 'Won' };
+ return { bg: 'bg-green-100', text: 'text-green-700', label: 'Won' };
case 'LOST':
return { bg: 'bg-red-100', text: 'text-red-700', label: 'Lost' };
case 'SETTLED':
- return { bg: 'bg-green-100', text: 'text-green-700', label: 'Settled' };
+ return { bg: 'bg-emerald-100', text: 'text-emerald-700', label: 'Settled' };
case 'REFUNDED':
return { bg: 'bg-gray-100', text: 'text-gray-700', label: 'Refunded' };
case 'PENDING':
@@ -79,8 +83,8 @@ export const ActiveBidsTable = ({
return (
{/* Filter Bar */}
-
-
+
+
Filter by Status:
@@ -106,7 +110,7 @@ export const ActiveBidsTable = ({
-
+
Asset ID
diff --git a/src/components/portfolio/MiniAreaChart.tsx b/src/components/portfolio/MiniAreaChart.tsx
index 1ff1e6e..38bda8d 100644
--- a/src/components/portfolio/MiniAreaChart.tsx
+++ b/src/components/portfolio/MiniAreaChart.tsx
@@ -22,8 +22,8 @@ export const MiniAreaChart = ({
if (!data || data.length === 0) return null;
return (
-
-
+
+
{
const navigate = useNavigate();
- const [hoveredRow, setHoveredRow] = useState(null);
const [expandedRows, setExpandedRows] = useState>(new Set());
const [statusFilter, setStatusFilter] = useState<'ALL' | 'ACTIVE' | 'SETTLED' | 'CONFIRMED' | 'CLAIMED'>('ALL');
const [typeFilter, setTypeFilter] = useState<'ALL' | 'STATIC' | 'LEVERAGE'>('ALL');
@@ -194,7 +193,7 @@ export const MyAssetsTable = ({
return (
{/* Filter Bar */}
-
+
{/* Type Filter */}
@@ -242,8 +241,8 @@ export const MyAssetsTable = ({
-
-
+
+
|
|
@@ -283,10 +282,8 @@ export const MyAssetsTable = ({
<>
setHoveredRow(rowKey)}
- onMouseLeave={() => setHoveredRow(null)}
onClick={(e) => toggleRowExpansion(rowKey, e)}
>
{/* Expand Icon */}
@@ -447,7 +444,6 @@ export const MyAssetsTable = ({
{!isLeverage &&
- hoveredRow === rowKey &&
parseFloat(asset.yieldInfo?.claimableYield || '0') > 0 &&
asset.status !== 'CLAIMED' && (
| | |