fix(UX-001): address layout review findings

This commit is contained in:
Bu5hm4nn
2026-03-26 10:24:52 +01:00
parent a60c5fb1f2
commit 78de8782c4
7 changed files with 238 additions and 98 deletions

View File

@@ -11,7 +11,6 @@ notes:
- One task lives in one YAML file and changes state by moving between status folders.
- Priority ordering is maintained here so agents can parse one short file first.
priority_queue:
- UX-001
- CORE-001D
- BT-003B
- PORT-003
@@ -24,6 +23,7 @@ priority_queue:
- OPS-001
- BT-003
recently_completed:
- UX-001
- CORE-002
- CORE-002C
- CORE-001D2B
@@ -43,7 +43,6 @@ states:
- BT-003B
- BT-001C
- CORE-001D
- UX-001
in_progress: []
done:
- DATA-001
@@ -68,5 +67,6 @@ states:
- CORE-002A
- CORE-002B
- CORE-002C
- UX-001
blocked: []
cancelled: []

View File

@@ -1,24 +0,0 @@
id: UX-001
title: Full-Width Two-Pane Page Layout
status: backlog
priority: P1
effort: M
depends_on:
- PORT-004
- BT-001A
- BT-003A
tags:
- ui
- layout
- nicegui
summary: Use the full available browser width and standardize primary pages on a 1/3 control-summary pane and 2/3 charts-results pane.
acceptance_criteria:
- Dashboard pages use the full available browser width instead of the current centered max-width container.
- Scenario-heavy pages use a consistent desktop two-pane layout with an approximately 1/3 left pane and 2/3 right pane.
- Left pane contains controls and summary content; right pane contains charts, tables, and scenario results.
- Mobile and narrow widths still stack cleanly without clipping.
- Browser-visible tests cover the split-pane structure on representative pages.
technical_notes:
- Likely file targets include `app/pages/common.py`, `app/pages/hedge.py`, `app/pages/backtests.py`, `app/pages/event_comparison.py`, `app/pages/options.py`, and possibly `app/pages/overview.py` / `app/pages/settings.py` for consistent full-width layout.
- Prefer shared layout helpers in `app/pages/common.py` over page-specific one-off width classes.
- Add stable DOM hooks (for example `data-testid`) so layout structure can be asserted in browser tests.

View File

@@ -0,0 +1,21 @@
id: UX-001
title: Full-Width Two-Pane Page Layout
status: done
priority: P1
effort: M
depends_on:
- PORT-004
- BT-001A
- BT-003A
tags:
- ui
- layout
- nicegui
summary: Use the full available browser width and standardize primary pages on a 1/3 control-summary pane and 2/3 charts-results pane.
completed_notes:
- Added a shared `split_page_panes(...)` helper in `app/pages/common.py` and removed the old centered max-width dashboard container.
- Applied the full-width two-pane layout to overview, hedge, backtests, event comparison, options, and settings pages.
- Fixed desktop pane overflow by switching the shared helper to a shrinkable 1:2 flex split instead of fixed width fractions plus gap.
- Historical scenario pages now mark prior right-pane output as stale when inputs change instead of silently showing old results beside new left-pane summaries.
- Event comparison now preserves manual template/unit edits across preview refreshes except when the preset itself changes and intentionally resets defaults.
- Added browser-visible Playwright coverage for desktop pane ratios, no-horizontal-overflow checks, stacked narrow-width behavior, and stale-result states.