Replies: 1 comment 2 replies
|
I would say this should be applied as the Normal part of the Normal/Compact/Dense selection when on mobile. I'd like to see this on the Transactions page as a starting point |
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
The problem
Several tables in the app have more columns than a phone can show. Today they scroll sideways, so the columns on the right move off the screen. The user does not see them until they scroll, and many people never do.
CLAUDE.mdalready states the rule: on a phone,overflow-x-autois not containment. A sideways scrollbar can also push page dialogs off the screen.So this is not one table's problem. It is a pattern question: how should a wide table behave on a phone?
The idea
Wrap the row. On a phone, one row uses two lines, so each column gets about half the width and everything fits. We hide no columns and we scroll nothing sideways.
From the
smbreakpoint up, the ordinary table returns — unchanged.Proof of concept
To test the pattern on a real, hard case, it is implemented on the Loan Schedule table (8 columns: #, Date, Payment, Interest, Principal, Extra, Rate, Balance).
Before — the table scrolls sideways; Principal / Rate / Balance sit off-screen:

After — the row wraps onto two lines; every column is visible:
How it works
smbreakpoint). Fromsmup, the table looks exactly as it does today.sm, the row becomes a grid and wraps onto two lines. Fromsmup, the ordinary table layout returns. No second layout, no duplicated markup.Where it could apply
The same pattern fits every wide table, for example:
Each table decides its own split — which values share the first line, and which fill the second.
Trade-offs
Status
claude/mobile-table-row-wrapping-gk5ulu(Loan Schedule only).tsc, lint and the UI-convention guards pass. Visual check in a browser at 390 px and 800 px looks correct; the desktop layout is unchanged.For discussion
All reactions