fix: Update settings UI to show % instead of USD when percentage mode active
- Add SOLANA_USE_PERCENTAGE_SIZE and ETHEREUM_USE_PERCENTAGE_SIZE to TradingSettings interface - Make SOL/ETH Position Size labels dynamic based on percentage mode - Adjust max value (100 for %, 10000 for USD) based on mode - Update descriptions to match mode (% of collateral vs fixed capital)
This commit is contained in:
@@ -12,14 +12,17 @@ interface TradingSettings {
|
||||
// Global fallback settings
|
||||
MAX_POSITION_SIZE_USD: number
|
||||
LEVERAGE: number
|
||||
USE_PERCENTAGE_SIZE: boolean
|
||||
|
||||
// Per-symbol settings
|
||||
SOLANA_ENABLED: boolean
|
||||
SOLANA_POSITION_SIZE: number
|
||||
SOLANA_LEVERAGE: number
|
||||
SOLANA_USE_PERCENTAGE_SIZE: boolean
|
||||
ETHEREUM_ENABLED: boolean
|
||||
ETHEREUM_POSITION_SIZE: number
|
||||
ETHEREUM_LEVERAGE: number
|
||||
ETHEREUM_USE_PERCENTAGE_SIZE: boolean
|
||||
|
||||
// Risk management
|
||||
STOP_LOSS_PERCENT: number
|
||||
@@ -288,13 +291,17 @@ export default function SettingsPage() {
|
||||
</button>
|
||||
</div>
|
||||
<Setting
|
||||
label="SOL Position Size (USD)"
|
||||
label={`SOL Position Size (${settings.SOLANA_USE_PERCENTAGE_SIZE ? '%' : 'USD'})`}
|
||||
value={settings.SOLANA_POSITION_SIZE}
|
||||
onChange={(v) => updateSetting('SOLANA_POSITION_SIZE', v)}
|
||||
min={1}
|
||||
max={10000}
|
||||
max={settings.SOLANA_USE_PERCENTAGE_SIZE ? 100 : 10000}
|
||||
step={1}
|
||||
description={`Base capital for SOL trades. With ${settings.SOLANA_LEVERAGE}x leverage = $${(settings.SOLANA_POSITION_SIZE * settings.SOLANA_LEVERAGE).toFixed(0)} notional position.`}
|
||||
description={
|
||||
settings.SOLANA_USE_PERCENTAGE_SIZE
|
||||
? `Percentage of free collateral for SOL trades. With ${settings.SOLANA_LEVERAGE}x leverage.`
|
||||
: `Base capital for SOL trades. With ${settings.SOLANA_LEVERAGE}x leverage = $${(settings.SOLANA_POSITION_SIZE * settings.SOLANA_LEVERAGE).toFixed(0)} notional position.`
|
||||
}
|
||||
/>
|
||||
<Setting
|
||||
label="SOL Leverage"
|
||||
@@ -356,13 +363,17 @@ export default function SettingsPage() {
|
||||
</button>
|
||||
</div>
|
||||
<Setting
|
||||
label="ETH Position Size (USD)"
|
||||
label={`ETH Position Size (${settings.ETHEREUM_USE_PERCENTAGE_SIZE ? '%' : 'USD'})`}
|
||||
value={settings.ETHEREUM_POSITION_SIZE}
|
||||
onChange={(v) => updateSetting('ETHEREUM_POSITION_SIZE', v)}
|
||||
min={1}
|
||||
max={10000}
|
||||
max={settings.ETHEREUM_USE_PERCENTAGE_SIZE ? 100 : 10000}
|
||||
step={1}
|
||||
description={`Base capital for ETH trades. With ${settings.ETHEREUM_LEVERAGE}x leverage = $${(settings.ETHEREUM_POSITION_SIZE * settings.ETHEREUM_LEVERAGE).toFixed(0)} notional position. Drift minimum: ~$38-40 (0.01 ETH).`}
|
||||
description={
|
||||
settings.ETHEREUM_USE_PERCENTAGE_SIZE
|
||||
? `Percentage of free collateral for ETH trades. With ${settings.ETHEREUM_LEVERAGE}x leverage.`
|
||||
: `Base capital for ETH trades. With ${settings.ETHEREUM_LEVERAGE}x leverage = $${(settings.ETHEREUM_POSITION_SIZE * settings.ETHEREUM_LEVERAGE).toFixed(0)} notional position. Drift minimum: ~$38-40 (0.01 ETH).`
|
||||
}
|
||||
/>
|
||||
<Setting
|
||||
label="ETH Leverage"
|
||||
|
||||
Reference in New Issue
Block a user