Skip to content

Responsive Data Table with Horizontal Overflow Scroll #482

Description

@Kingsman-99

Description

Wide tables on the invoice detail and split builder pages currently escape their parent containers on narrow screens, breaking the page layout and hiding content under the browser edge. All data tables must be wrapped in individually scrollable overflow containers.

Technical Context

src/components/ui/DataTable.tsx (new) wraps its <table> in a div with overflow-x: auto and WebkitOverflowScrolling: 'touch' via a Tailwind class overflow-x-auto. src/components/invoice/InvoiceTable.tsx and src/components/invoice/SplitSummaryTable.tsx both extend DataTable. The <table> itself uses min-w-full to prevent column squishing, while each <th> has a minimum width set via inline style to preserve readability.

Acceptance Criteria

  • No table on any page causes horizontal scrolling of the <body> element at any viewport width
  • Tables narrower than the viewport extend to fill available width with min-w-full
  • Tables wider than the viewport show a horizontal scrollbar scoped to the table container only
  • The scrollable region is reachable and operable on touch devices without triggering page scroll
  • Column widths do not collapse below their minimum widths as viewport narrows
  • All CI checks (npm test, npm run build, ESLint/TypeScript) pass and the branch has no merge conflicts

Metadata

Metadata

Assignees

Labels

Stellar WaveIssues in the Stellar wave programcomplexity: highuiUI styling and visual changes

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions