Skip to content

Jump-link icons on clickable stat boxes + make revenue KPIs drillable - #2100

Draft
maebeale wants to merge 3 commits into
mainfrom
maebeale/clickable-revenue-kpis
Draft

Jump-link icons on clickable stat boxes + make revenue KPIs drillable#2100
maebeale wants to merge 3 commits into
mainfrom
maebeale/clickable-revenue-kpis

Conversation

@maebeale

@maebeale maebeale commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator

🤖 suggested review level: 5 Inspect 🔬 new registration query filters (payment/funder scopes) + revenue KPIs now link to filtered lists, across 5 stat-box surfaces

Makes clickable stat boxes signal that they navigate (jump-link icon), and makes the revenue report's KPI tiles drillable into a filtered registrant list.

Why

  • Several stat boxes are fully clickable but nothing tells you so.
  • Revenue KPIs looked identical to the (clickable) participation KPIs but went nowhere.

Backend

  • EventRegistration: new with_funded_scholarship / with_unfunded_scholarship + a funder scope (awbw = org-subsidized, no grant; donor = grant-funded). Keyed on scholarships.grant_id.
  • search_by_params (cross-event index) now honors payment_status, scholarship, funder; added funder to the per-event roster too (it already took the first two).

Jump icons (all 5 clickable stat-box types)fa-arrow-up-right-from-square, top-right, matching the dashboard convention:

  • Participation KPI tiles, revenue KPI tiles, admin analytics view-count cards, admin ahoy portal-usage cards → always-on.
  • Event stat bar (Registrants / Organizations / Sectors segments) → hover-revealed (too crowded for always-on). Locations count stays unlinked (no single filter destination).

Revenue KPIs now link (year-level → cross-event index, carrying event_id when filtered to one event):

  • Fees collected → payment_status=paid · Outstanding → payment_status=unpaid · Scholarships → funder=donor · Org subsidy → funder=awbw.
  • Net / Total expected stay non-clickable (derived aggregates with no registrant list).

Note: a dollar figure vs. a registrant count isn't a 1:1 reconciliation (a partly-paid registrant adds to "Fees collected" but shows under payment_status=unpaid); the org-subsidy link lists only the unfunded-scholarship recipients, not the discount portion. Same approximation the participation KPIs already make.

…earch

The revenue report's KPI tiles need to drill into a filtered registrant
list, but the cross-event index ignored payment/scholarship/funder params.
Funder keys on scholarships.grant_id: awbw = org-subsidized (no grant),
donor = grant-funded.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings August 5, 2026 13:17

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Clickable stat boxes now show a jump-link icon so it's clear they navigate:
always-on for the grid cards (participation, revenue, analytics, ahoy) and
hover-revealed on the crowded event stat bar. Revenue KPIs (fees, scholarships,
outstanding, org subsidy) now drill into the matching filtered registrant list.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings August 5, 2026 13:23

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings August 5, 2026 13:24

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

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.

2 participants