Skip to content

feat: date range filter and CSV export for dashboard#6

Merged
bokiko merged 1 commit intomainfrom
auto/improve-2026-03-19
Mar 19, 2026
Merged

feat: date range filter and CSV export for dashboard#6
bokiko merged 1 commit intomainfrom
auto/improve-2026-03-19

Conversation

@bokiko
Copy link
Owner

@bokiko bokiko commented Mar 19, 2026

Summary

Two practical improvements to the dashboard, shipped together:

Date Range Filter

  • Dropdown: Last 7 days / Last 30 days / Last 90 days / All time
  • Defaults to Last 30 days — most users care about recent data
  • Composable with the existing region filter (date applied first)
  • Empty state when filters return nothing, with a Clear Filters button

CSV Export

  • Export CSV button appears in the filter toolbar when results exist
  • Exports the current filtered view — users get exactly what they see
  • RFC 4180-compliant: commas/quotes in field values are properly escaped
  • Filename: pingdiff-results-YYYY-MM-DD.csv
  • Columns: Date, Server, Region, Avg/Min/Max Ping, Jitter, Packet Loss, ISP, Country, City

Other polish

  • Refresh button moved into the filter bar (consistent toolbar row)
  • Result count label added to the Recent Tests table header
  • Header layout stacks vertically on mobile, horizontal on sm+

Technical notes

  • No new dependencies
  • No API changes — pure frontend
  • Build: passes ✓ (TypeScript clean, all 13 routes generated)

Two practical dashboard improvements in one cohesive change:

1. Date range filter (7 / 30 / 90 days / All time)
   - Defaults to Last 30 days to show recent data first
   - Applied before the existing region filter (composable)
   - Empty-state UI when filters produce no results, with a
     'Clear Filters' button to reset both dropdowns at once

2. CSV export
   - 'Export CSV' button appears only when filtered results exist
   - Exports the current filtered view (date + region) so users
     get exactly what they see on screen
   - RFC 4180-compliant quoting (commas and quotes in fields escaped)
   - Filename includes today's date (pingdiff-results-YYYY-MM-DD.csv)
   - Columns: Date, Server, Region, Avg/Min/Max Ping, Jitter,
     Packet Loss, ISP, Country, City

Also: moved the Refresh button into the filter bar (consistent toolbar),
added a result count label to the Recent Tests table header, and
improved the header layout to stack cleanly on mobile (flex-col → sm:flex-row).

No new dependencies. No API changes. Pure frontend.
@chatgpt-codex-connector
Copy link

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@bokiko bokiko merged commit b0f5b66 into main Mar 19, 2026
1 check passed
@bokiko bokiko deleted the auto/improve-2026-03-19 branch March 21, 2026 01:18
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