Skip to content

Polish investment UI and UX after redesign review #171

Closed

Description

@31b4

Goal

Polish the Investment Page Rework through one shared UI/UX improvement ticket and branch while the user reviews and requests small changes.

Current behavior

The investment redesign is integrated in epic #123, but user testing is identifying small presentation and usability improvements. The portfolio summary currently displays “Estimated return unavailable” beside a known gain amount, which is confusing.

Desired behavior

Keep the upcoming small investment UI/UX adjustments together in this issue and one working branch, updating this checklist as the user requests changes. Target the eventual pull request to epic/123-investment-rework.

First agreed improvement to implement: replace the confusing summary percentage label with “Gain on net invested”, using total gain / net invested × 100 when both amounts are known and net invested is positive. Keep this simple ratio distinct from the chart's daily-linked return calculation; do not show a percentage for zero or negative net invested.

Preserve accounting rules, privacy, currency coverage, accessibility and desktop/mobile usability. Additional changes are scoped by the user's requests rather than assumed here.

Acceptance criteria

  • Portfolio summary shows the agreed gain-on-net-invested percentage with clear wording and appropriate unavailable/zero/negative handling.
  • Remove the requested overview/summary/history/holding-detail explanatory text blocks; retain values, controls and actionable errors.
  • Move Allocation below portfolio value and summary widgets, above holdings.
  • Redesign the chart tooltip around selected-day total gain and percentage, readable date and secondary portfolio value.
  • Compact the three overview widgets into a summary strip, full-width chart and responsive allocation grid with matching skeletons.
  • Remove the duplicate Investments hide-balance button; keep global privacy behavior.
  • Center holding details and show green/red trade markers across history ranges, including a date-only lane for unverified/other-currency fills.
  • Expose historical review for linked legacy trades with missing facts via the canonical guarded trade editor.
  • Prefill actual cash paid/received from the verified linked transfer when legacy investment cash fields are missing.
  • Route investment transfers and linked edits through the same Buy/Sell editor, preserving explicit draft fields and cash-transfer/review behavior.
  • Redesign holding details with a clear value/gain hierarchy, compact position facts, readable dates and always-visible gain breakdown.
  • Fix artificial split crashes in holding charts using split-only display prices and aligned historical markers; retain original facts and raw accounting inputs.
  • Replace the gain-breakdown dropdown; final design 2a supersedes the interim comparison bars with a six-cell position grid.
  • Implement supplied holding popup design 2a: 600px single-column chart-first layout, compact metadata/value, six position facts and source footer.
  • Further requested small UI/UX changes are tracked in this issue and implemented on the same branch.
  • Relevant checks pass for each implemented change; local preview remains usable with existing test data preserved.
  • The batch is reviewable in a pull request targeting the epic branch; final epic-to-main merge remains separate.

References or visuals

Parent #123. Follows main synchronization #169 / MR #170. User requested a shared ticket and branch for this UI/UX polish batch. Existing final epic-to-main MR #147 remains separate.

First item implemented in MR #172 (ffdd531); 28 focused component tests, client build/typecheck and lint passed. Keep this issue/branch/PR open for the upcoming polish requests.

Requested copy cleanup is implemented in MR #172. All 101 investment component tests, client build/typecheck and lint passed; local preview updated.

Tooltip change verified with 114 investment/history component tests, client build/typecheck and lint. Existing preview updates automatically; final visual review remains with the user.

Responsive layout update: 121 relevant component tests, client build/typecheck and lint passed. Visual review is available on the existing local preview.

Centered holding/trade-marker update: 115 investment/history component tests, client build/typecheck and lint passed. All changes remain in MR #172 and the existing local preview.

VWCE review accessibility fix: 116 investment/history component tests and 36 real Worker/D1 linked-trade tests passed; build, lint and integration types passed. Test proves same-facts confirmation keeps balances/units and linked IDs unchanged. No user facts were confirmed automatically.

Cash prefill follow-up verified with 16 editor tests, 36 Worker/D1 trade tests, all types, build and lint. Existing local API serves the additive read data; no local financial facts were mutated.

Unified trade-entry follow-up: all 533 client tests passed (56 files), plus build/typecheck and zero-warning lint. The local preview serves the updated composer; no financial records or migrations changed.

Holding summary redesign: 115 investment component tests, build/typecheck and lint passed. Available in the same local preview and MR #172.

Split-chart fix: 537 client tests passed, build/typecheck and lint passed. Read-only local NVDA ten-year data verified both split boundaries with continuous adjusted prices. All saved financial facts remain unchanged.

Always-visible gain breakdown verified with 120 investment tests, build/typecheck and lint. Local preview updated; no financial facts or formulas changed.

Design 2a implemented in the existing branch/MR #172. All 538 client tests, build/typecheck and lint passed. Current-quote chart endpoints are guarded; original ledger/history facts remain unchanged. Source classifications stay evidence-based, with no sample ETF/name assumptions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:clientClient data loading and user experiencearea:investmentsInvestments and portfolio UIenhancementNew feature or request

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions