feat(DISPLAY-001): add underlying mode switching
This commit is contained in:
@@ -8,6 +8,7 @@ from uuid import uuid4
|
||||
from fastapi.responses import RedirectResponse
|
||||
from nicegui import ui
|
||||
|
||||
from app.domain.conversions import get_display_mode_options
|
||||
from app.models.portfolio import PortfolioConfig
|
||||
from app.models.position import Position
|
||||
from app.models.workspace import get_workspace_repository
|
||||
@@ -126,6 +127,7 @@ def settings_page(workspace_id: str) -> None:
|
||||
fallback_source=str(fallback_source.value),
|
||||
refresh_interval=parsed_refresh_interval,
|
||||
underlying=str(underlying.value),
|
||||
display_mode=str(display_mode.value),
|
||||
volatility_spike=float(vol_alert.value),
|
||||
spot_drawdown=float(price_alert.value),
|
||||
email_alerts=bool(email_alerts.value),
|
||||
@@ -257,6 +259,16 @@ def settings_page(workspace_id: str) -> None:
|
||||
value=config.underlying,
|
||||
label="Underlying instrument",
|
||||
).classes("w-full")
|
||||
|
||||
display_mode = ui.select(
|
||||
get_display_mode_options(),
|
||||
value=config.display_mode,
|
||||
label="Display Mode",
|
||||
).classes("w-full")
|
||||
ui.label("Choose how to display positions and collateral values.").classes(
|
||||
"text-xs text-slate-500 dark:text-slate-400 -mt-2"
|
||||
)
|
||||
|
||||
primary_source = ui.select(
|
||||
["yfinance", "ibkr", "alpaca"],
|
||||
value=config.primary_source,
|
||||
@@ -609,6 +621,7 @@ def settings_page(workspace_id: str) -> None:
|
||||
primary_source,
|
||||
fallback_source,
|
||||
refresh_interval,
|
||||
display_mode,
|
||||
):
|
||||
element.on_value_change(update_calculations)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user