Accounting page — table column-width optimization
Why¶
Owner: "I really struggle with ALL of the tables… some columns aren't showing lengthy content but get a really wide column, squeezing other columns and forcing those contents to wrap where there's absolutely no need to."
Root cause: short, bounded columns (dates, GL codes, currency amounts, status
tags) had no fixed width, so antd let them stretch — starving the genuinely
long columns (names, descriptions, GL labels) and making THOSE wrap.
What shipped (origin/nightly ae2e61c4)¶
Uniform fix: fixed widths on short/bounded columns; ellipsis (+ hover tooltip)
on long free-text columns so they truncate on one line instead of wrapping.
New components/accounting/tableLayout.tsx — shared width constants COL
(date/code/amount/type/status/id/balance/…) + an ellipsisCell helper, so the
sizing reads consistently instead of magic numbers scattered across a 160 KB
component.
Tables fixed:
- Chart of Accounts — Code / Type / Normal Balance / Status fixed widths.
- Journal Entries — Date / Status / Amount fixed (Description stays flex).
- Profit & Loss (Revenue + Expenses) — Name ellipsised, Amount fixed.
- Balance Sheet — Name ellipsised (NoteRef badge kept inline), Balance fixed.
- AR Aging — Invoice Date / Invoice / Amount / Days Out / Status /
Certification fixed; Client stays the ellipsised flex column.
- Bank Transactions — Funds Account bank name now ellipsises in a flex row
(tooltip already shows the full name); the type Tag stays fixed.
- Periods — Status trimmed 180→150; Closed by / Closed at bounded.
- Related Party / Director CA — Payee/Director names + GL labels ellipsised.
- Cash Flow / SOCIE — long Line label & dynamic equity-column headers
ellipsised (ellipsis: { showTitle: true }).
Skipped: Trial Balance (already has working dynamic widths) and Fixed Asset Register (all columns already widthed — not a victim of the squeeze).
Verification¶
tsc + lint clean across all 8 touched files. Full suite 325/325. Pure presentation — no data/logic change. Auth-gated page → no local browser preview.
Related¶
T-059 (Overview tiles — same owner UX request).