feat(market): rework portfolio-modal actions, addresses row, price & unsaved state

- Move the group-scoped Revert/Save buttons into the detail container (sized to
  the Add-entry height) so they read as lower-hierarchy than the modal-level
  Close, which now stands alone in the footer. The detail body is wrapped in a
  child that reserves the bottom row.
- Add an amber "unsaved changes" dot on the selected group row while its working
  copy differs from the stored entry; also gate the detail Revert/Save on that
  dirty state.
- Addresses: narrow the All/Shielded/Transparent segmented control (360px) and
  right-align Select all / Clear / Funded on one line; give the Select all /
  Clear pills more text padding.
- Appearance: shrink the icon search field and right-align it on the heading
  line, with a "Search icons…" hint.
- Price: move the sparkline toggle onto the 24h line; the interval radios stay
  below, enabled only when the sparkline is shown.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-03 23:14:40 -05:00
parent 1affea0273
commit faf8e4e430
2 changed files with 76 additions and 28 deletions

View File

@@ -1147,6 +1147,7 @@ void I18n::loadBuiltinEnglish()
strings_["portfolio_appearance"] = "Appearance";
strings_["portfolio_addresses_hdr"] = "Addresses";
strings_["portfolio_search"] = "Search addresses\xE2\x80\xA6";
strings_["portfolio_search_icons"] = "Search icons\xE2\x80\xA6";
strings_["portfolio_funded"] = "Funded";
strings_["portfolio_select_all"] = "All";
strings_["portfolio_select_shown"] = "Select all";