feat(dashboards): event deep-dive drawer + pacing chart - #1175
feat(dashboards): event deep-dive drawer + pacing chart#1175mrautela365 wants to merge 4 commits into
Conversation
Add a geographic reach panel showing event registrations by country, sourced from ANALYTICS.PLATINUM_LFX_ONE.MARKETING_EVENT_REGISTRATION_COUNTRY (YTD). Renders the top countries as ranked share bars with ISO code, a title-cased name, registration count, and share of total, plus a headline count of countries reached. LFXV2-2768 Signed-off-by: Misha Rautela <mrautela@linuxfoundation.org>
Turn the per-event drawer into a comprehensive event story: venue/city/ country and status in the header, registration pacing rating with how-far- behind, registration and sponsorship revenue vs goal, sponsorship by tier, prior-year comparison, and a marketing-channel breakdown (where registrations come from) sourced from EVENT_REGISTRATION_ATTRIBUTION. The daily pacing-prediction curve is not yet in self-serve-readable tables (it lives in PCC's prediction service), so the drawer shows a pace rating plus a PCC deep-link today; the pacing block is wired to light up once the MARKETING_EVENT_REGISTRATION_PREDICTIONS models land. LFXV2-2768 Signed-off-by: Misha Rautela <mrautela@linuxfoundation.org>
Rebuild the event deep-dive drawer to match the ED drawer pattern: use the lfx-card, lfx-tag, and lfx-button wrapper components, a lfx-button close in the header, the standard type scale (text-lg header, text-2xl headline stats, text-sm labels) and gap-6 section rhythm, replacing the previous raw-div, small-type layout. LFXV2-2768 Signed-off-by: Misha Rautela <mrautela@linuxfoundation.org>
Build the registration-pacing line chart in the event deep-dive drawer (current-year, last-year, and predicted lines over days-to-event, using lfx-chart) sourced from the MARKETING_EVENT_REGISTRATION_PREDICTIONS[_ DRILLDOWN] models. Those tables are not materialized yet, so getEventPacing degrades gracefully to an unavailable state (placeholder + PCC link) and the chart lights up automatically once they land. Also focus the overview tab on the LF Events story: remove the general performance-summary KPI cards and the marketing-attribution table, leaving needs-attention, events summary, event roster (+drawer), and geo reach. LFXV2-2768 Signed-off-by: Misha Rautela <mrautela@linuxfoundation.org>
PR SummaryMedium Risk Overview
The Marketing Impact overview tab drops the performance-summary sparkline KPI grid and marketing attribution section so the tab is only the LF Events sections (attention, summary, roster, geo). Reviewed by Cursor Bugbot for commit e81d8ea. Bugbot is set up for automated code reviews on this repo. Configure here. |
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit e81d8ea. Configure here.
| title: { display: true, text: 'Days to event', color: lfxColors.gray[400], font: { size: 10 } }, | ||
| grid: { display: false }, | ||
| ticks: { color: lfxColors.gray[500], font: { size: 10 }, maxTicksLimit: 8 }, | ||
| }, |
There was a problem hiding this comment.
Pacing chart X-axis inverted
Medium Severity
The registration pacing line chart sets reverse: true on the x-axis while drilldown points are ordered by DAYS_TO_EVENT DESC. Chart.js draws the first category on the right when reversed, so day 0 (event day) lands on the left instead of the right as intended and unlike PCC.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit e81d8ea. Configure here.
There was a problem hiding this comment.
Pull request overview
Expands the Marketing Impact event drawer into an event deep-dive and narrows the overview to LF Events reporting.
Changes:
- Adds event attribution, revenue, venue, and pacing data contracts and queries.
- Rebuilds the drawer with LFX components and a registration-pacing chart.
- Removes general KPI and attribution sections from the overview.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
packages/shared/src/interfaces/dashboard-metric.interface.ts |
Adds event deep-dive and pacing contracts. |
apps/lfx-one/src/server/services/project.service.ts |
Queries and maps expanded event analytics. |
apps/lfx-one/src/app/modules/dashboards/marketing-impact/components/overview-tab/overview-tab.component.ts |
Simplifies overview logic to event sections. |
apps/lfx-one/src/app/modules/dashboards/marketing-impact/components/overview-tab/overview-tab.component.html |
Removes KPI and attribution UI. |
apps/lfx-one/src/app/modules/dashboards/marketing-impact/components/event-detail-drawer/event-detail-drawer.component.ts |
Adds pacing calculations and chart configuration. |
apps/lfx-one/src/app/modules/dashboards/marketing-impact/components/event-detail-drawer/event-detail-drawer.component.html |
Implements the expanded event drawer UI. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| // Days to event count DOWN to zero; reverse so the event (0) sits on the right. | ||
| reverse: true, |
| const head = headResult.rows?.[0]; | ||
| if (!head) return unavailable; |
| </div> | ||
| } | ||
| <div class="flex flex-col"> | ||
| <span class="text-xl font-semibold text-violet-600">{{ num(d.pacing.predictedAvg ?? 0) }}</span> |
| channels, | ||
| pacing: await this.getEventPacing(eventId), |


Summary
Expands the per-event drawer into a comprehensive event deep-dive and focuses the overview on the LF Events story:
EVENT_REGISTRATION_ATTRIBUTION.lfx-chart), wired toMARKETING_EVENT_REGISTRATION_PREDICTIONS[_DRILLDOWN]. Those tables are not materialized yet, sogetEventPacingdegrades gracefully to a placeholder + PCC link and the chart activates automatically once they land.lfx-card/lfx-tag/lfx-buttonto match the ED drawer pattern.PR 6/6 of the LF Events dashboard stack (LFXV2-2768). Base:
feat/LFXV2-2768-geo-reach(PR). Review/merge PRs 1–5 first.Pacing prediction models pending (data-team PR under review); everything else validated live. Typecheck + lint pass.
LFXV2-2768