Skip to content

Dashboard Pages v2#6262

Draft
RobertJoonas wants to merge 14 commits intomasterfrom
v2-dashboard-pages
Draft

Dashboard Pages v2#6262
RobertJoonas wants to merge 14 commits intomasterfrom
v2-dashboard-pages

Conversation

@RobertJoonas
Copy link
Copy Markdown
Contributor

@RobertJoonas RobertJoonas commented Apr 20, 2026

Changes

Not yet ready for review

  • need to make caching actually work (atm unsure why it doesn't)
  • once caching works, figure out a proper UI transition (or stick to FlipMove)
  • test UI in dark/light mode

To reviewer(s): It is highly recommended to review this PR commit-by-commit -- I've renamed files in separate commits to give the opportunity to see the old and new component diff side by side.

Refactoring

  • Build v2 breakdown components
    • IndexBreakdown (aka ListReport v2) - for the 9-entry breakdowns on the dashboard index page
    • DetailsBreakdown (aka BreakdownModal v2) - for details views
    • Both of the above now use a shared ColumnConfiguration for defining columns
    • Stop relying on the Metric class by 1) defining pure labelling logic in metrics.ts and 2) deciding the width for a metric column in a private function in DetailsBreakdown
  • Move pages / entry-pages / exit-pages to the new components
  • Add a special cell-rendering function for "visitors with percentage".

A single functional change

  • Add external link icon (the one that shows on row hover) to pages/entry-pages/exit-pages details views (currently only available in index-breakdowns, i.e. ListReports).

Tests

  • Automated tests have been added

Changelog

  • This PR does not make a user-facing change

Documentation

  • Docs have been updated

Dark mode

  • The UI has been tested both in dark and light mode

Base automatically changed from main-graph-v2-backend to master April 20, 2026 09:17
- instead of importing Metric from types/query-api.d.ts, define a Metric type in metrics.ts (including all internally available metrics) and use that as the single Metric type everywhere
- add metric labelling logic in metrics.ts
- move MetricValue type from fetch-main-graph.ts -> api.ts, and use it for Top Stats metric value as well
This commit introduces use-order-by-legacy.ts and use-order-by-legacy.test.ts
files as copies of the current modules. The intent is to make the diff easier
to review -- all components currently using the hook will use the legacy variant
instead, and the actual file will change into v2 in the following commit.
* breakdown-modal.tsx -> breakdown-modal-legacy.tsx
* breakdown-table.tsx -> breakdown-table-legacy.tsx
* table.tsx -> table-legacy.tsx

...and use the legacy variants everywhere. The existing files will be
transformed into v2 in the following commit.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant