diff --git a/src/components/ui/Select.jsx b/src/components/ui/Select.jsx index c4742b6..90d32b4 100644 --- a/src/components/ui/Select.jsx +++ b/src/components/ui/Select.jsx @@ -121,7 +121,8 @@ export const Select = ({
{items.map((opt) => { const isSelected = String(opt?.value) === String(value); @@ -132,8 +133,10 @@ export const Select = ({ role="option" aria-selected={isSelected} onClick={() => selectValue(opt?.value)} - className={`w-full px-4 py-2.5 text-sm text-left hover:bg-accent-dim ${ - isSelected ? 'bg-primary/10 text-text-primary font-semibold' : 'text-text-muted' + className={`w-full px-4 py-2.5 text-sm text-left transition-colors hover:bg-[rgba(101,167,165,0.10)] hover:text-white ${ + isSelected + ? 'bg-[rgba(101,167,165,0.10)] text-text-primary font-semibold' + : 'text-white/[0.88]' }`} > {normalizeLabel(opt?.label)} diff --git a/src/index.css b/src/index.css index 8b020fc..c533e0f 100644 --- a/src/index.css +++ b/src/index.css @@ -4,7 +4,10 @@ @layer base { body { - background: #0d0f10; + background: + radial-gradient(circle at 20% 0%, rgba(101, 167, 165, 0.05) 0%, rgba(101, 167, 165, 0) 40%), + radial-gradient(circle at 80% 100%, rgba(101, 167, 165, 0.03) 0%, rgba(101, 167, 165, 0) 35%), + #0f1113; color: #e8e8e8; font-family: 'Montserrat', diff --git a/src/pages/HistoryPage.jsx b/src/pages/HistoryPage.jsx index 3ff6d91..466b0d0 100644 --- a/src/pages/HistoryPage.jsx +++ b/src/pages/HistoryPage.jsx @@ -190,6 +190,24 @@ export const HistoryPage = () => { return base; }; + const movementLabelMobile = (row) => { + const base = translateMovement(row?.movement); + const m = normalize(row?.movement); + + if (m === 'trading_fee' && row?.tradingFeeSource === 'WITHDRAWAL') { + const feePct = formatFeePercentage(row?.tradingFeePercentage); + const line1 = `${base}${feePct ? ` (${feePct})` : ''}`; + const withdrawalAmount = Number(row?.tradingFeeWithdrawalAmount); + const line2 = + Number.isFinite(withdrawalAmount) && withdrawalAmount > 0 + ? `sobre retiro ${formatCurrency(withdrawalAmount)}` + : null; + return { line1, line2 }; + } + + return { line1: movementLabel(row), line2: null }; + }; + const shouldShowStatusPill = (movement) => { const m = normalize(movement); return ( @@ -400,68 +418,76 @@ export const HistoryPage = () => { <> {/* Mobile cards */}
- {mobileVisibleRows.map((row, idx) => ( -
-
-
-
-
- {movementLabel(row)} + {mobileVisibleRows.map((row, idx) => { + const mobileLabel = movementLabelMobile(row); + return ( +
+
+
+
+
+ {mobileLabel.line1} + {mobileLabel.line2 && ( + + {mobileLabel.line2} + + )} +
+ {movementCompletedIcon(row)} + {shouldShowStatusPill(row?.movement) && row?.status ? ( + + {translateStatus(row.status, row?.movement)} + + ) : null}
- {movementCompletedIcon(row)} - {shouldShowStatusPill(row?.movement) && row?.status ? ( - - {translateStatus(row.status, row?.movement)} - - ) : null} +
{formatDate(row.date)}
-
{formatDate(row.date)}
-
-
-
0 - ? 'text-success' - : displayAmount(row) < 0 - ? 'text-error' - : 'text-text-primary' - }`} - > - {displayAmount(row) > 0 ? '+' : ''} - {formatCurrency(displayAmount(row))} +
+
0 + ? 'text-success' + : displayAmount(row) < 0 + ? 'text-error' + : 'text-text-primary' + }`} + > + {displayAmount(row) > 0 ? '+' : ''} + {formatCurrency(displayAmount(row))} +
-
-
- Balance: - - {row.previousBalance !== null ? formatCurrency(row.previousBalance) : '-'} - - - - - - {row.newBalance !== null ? formatCurrency(row.newBalance) : '-'} - +
+ Balance: + + {row.previousBalance !== null ? formatCurrency(row.previousBalance) : '-'} + + + + + + {row.newBalance !== null ? formatCurrency(row.newBalance) : '-'} + +
-
- ))} + ); + })}
{shouldPaginateMobile ? (