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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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