Skip to content

feat(ui): implement approved ePlus OnAir library statistics dashboard - #332

Merged
hoangsvit merged 20 commits into
developfrom
design/library-stats-dashboard-20261103
Nov 3, 2026
Merged

hoangsvit merged 20 commits into
developfrom
design/library-stats-dashboard-20261103

Conversation

@hoangsvit

Copy link
Copy Markdown
Member

Implements the approved dashboard mockup — real source code, not another image

Layout

  • Two glowing, compact headline KPI cards in rose Listening / teal Online, with actual 7-day sparklines and optional calculated week-over-week growth (not fabricated).
  • Four tight summary cards: listening today, online today, count of stations, most-played station.
  • One combined interactive SVG area chart, including visible grid, active line markers, hover and touch tooltip, 7/30/90 day and Both/Listening/Online filters, keyboard day selection.
  • Compact chart footer with real peak daily values and live tracking switches.
  • Per-station leaderboard with real available images/fallback, relative percentages, duration bars and expand/collapse. No mock station data.
  • Library heading/icon, segmented navigation and active Library sidebar label updated to match the reference composition.
  • Route-scoped midnight/navy/purple palette in dark mode, with light-mode fallback, preserved --radio-* tokens, dark-mode and reduced-motion support.
  • All 7 locales; functional statistics deletion, privacy and player behavior preserved.

Guardrails

  • No changes to actual radio playback, HLS, persisted metrics or localStorage keys.
  • Never show fabricated growth if historical baseline is unavailable.
  • No new chart or icon library. Existing audio PlayerSession remains outside NuxtPage.
  • Includes tests/library-stats-design.test.mjs and updated docs/PROJECT_CONTEXT.md.

Verification before staging / release

  • CI: npm test, dependency audit, Nuxt full prerender / SEO.
  • Manual light/dark visual match at 375px and 1440px (compare to mockup).
  • Verify actual hover/touch, chart filter/range, no data, toggles, expand rank, fallback logos and current station.
  • Merge into develop for preview once checks pass; no direct production merge.

Performance PR #330 touches chart hover geometry; reconcile after both checks rather than overwrite either change.

@coderabbitai

coderabbitai Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

Run configuration

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

CodeRabbit Verify

  • Run CodeRabbit Verify to test the changes in this pull request.

@qodo-code-review

Copy link
Copy Markdown

ⓘ Qodo reviews are paused because the subscription is no longer active. Ask your workspace admin to reactivate the subscription to resume reviews. Manage billing

@hoangsvit
hoangsvit merged commit c7d295e into develop Nov 3, 2026
3 checks passed
@hoangsvit
hoangsvit deleted the design/library-stats-dashboard-20261103 branch November 3, 2026 12:03
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