Repository navigation
fix(native): match the web app's hover, tables, sidebar and menus (UI audit batch 2) - #442
Merged
Merged
Conversation
… and sankey hover from #440 Takes the parts of draft PR #440 that are in this audit batch (K5, K6, K7, K9): sidebar rows with the web's emerald active pill and neutral hover, VisionTable layouts that fill their cards, the floating ChartTooltip on the timeline charts, and the Sankey hover. Leaves out #440's card, aurora and ticker changes. The expanded sidebar rows and the collapse/logo buttons lose their tooltip, as on the web (tooltips only on the collapsed rail). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018QJtaJCKqt1ZHb1c3miwSJ
… sheet scrim UI audit batch 2 (TS app is the reference): - Forecast "Projected value range": floating ChartTooltip with ring markers instead of a readout under the chart (S-49). - Insights categories donut: hovered slice worked out from the pointer and written straight to the selection; centre shows swatch, name and amount (S-33). - VisionTable and LocalDataTable rows get the TableRow hover band (S-42, S-59). - New VisionMenu: the web DropdownMenu as an in-page glass popover with item icons, destructive items in red and helper lines; used for the row and header "..." menus (S-61, S-62). - Settings rows keep the control right of the label; rows with a footnote no longer fall back to the stacked layout (S-60). - A page's dialog or sheet now dims and blurs the sidebar and hides the API pill (S-10, S-11). - Database maintenance rows use the web cell padding (S-57). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018QJtaJCKqt1ZHb1c3miwSJ
The sidebar rows draw their own surface (SidebarRowButtonStyle) since the List was replaced, so SidebarSelectionPill had no caller left. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018QJtaJCKqt1ZHb1c3miwSJ
EraPartner
marked this pull request as ready for review
November 14, 2026 09:11
This was referenced Nov 14, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by EraPartner · project thread
Summary
Batch 2 of the 2026-11-14 Swift vs TypeScript UI audit: interaction and component parity. The TS app is the reference. K1/K2 (grain, card material), colour matching and the ticker are left for a later batch.
List: rows useSidebarRowButtonStyle(emerald active pill,foreground/0.06hover,0.08pressed), arrow keys still move between pages. From draft #440. Expanded rows lose their tooltip; the web shows"<title> · G X"only on the collapsed rail (TooltipContent hidden={state !== "collapsed"}).help: the web buttons carry only an aria-labelVisionTable(automatic table layout, fills the card) for data source health, database maintenance, endpoints, exchange rates and the returns heat map; Planned, tax and compare tables fill their cards. From #440ChartHoverTooltip(webChartTooltip) floats overInsightTimelineChartinstead of the readout row under it; that chart backs Home, Insights and Net worth. From #440DonutChartTableRowhover band (foreground/0.03) inVisionTable(band laid out behind the pointer's row) andLocalDataTableVisionMenu: the webDropdownMenuas an in-page glass popover with item icons, destructive items in red (icon too) and helper lines. Used for the Accounts, Account detail, Categories, Payees, payee rules, holdings card, database-maintenance row menus and the Home/Portfolio/holdings header "…" menus. Menus that hold toggles stayMenuViewThatFitsand stack the control under the labelVisionModalPresenter), sidebar takes no clicks meanwhilepy-3cell paddingChecked and left alone:
NativeCommandPaletteModel.groups, stored underpaletteRecents); the group appears once a page has been opened from the palette. The Swift Demo had no history.HomeInsetRowalready has a hover fill.PR #440: still an open draft. This branch takes only #440's sidebar, table, tooltip, Sankey, tax/planned/compare width and Home icon changes (first commit). #440's card, aurora and ticker files are not touched here.
Type of change
fix— bug fixChecklist
bun scripts/native-lint.ts:native-lint ok(string-literal-compare 701, baseline 716)Swift app (macOS)job green on e4bdb48nav.hideSection/nav.showSection; no API, schema or architecture changeVerification
ResearchMarketLookupTests.bookingCurrencyChangeRetiresAwaitedTradeValidationWithoutDiscardingDraft(tradeWritesexpectations), in code this PR does not touch. Re-running the job was refused (403). The next push (e4bdb48, removes the now-unusedSidebarSelectionPill) ran the full job:Swift app (macOS)andCI Completepassed. The test's single failure is unexplained (inference: timing under load).Residual risk & follow-ups
VisionMenuhas no arrow-key navigation between items (Escape and click-outside close it; Tab moves focus).🤖 Generated with Claude Code
https://claude.ai/code/session_018QJtaJCKqt1ZHb1c3miwSJ