Skip to content

fix(dashboards): standardize no-data messaging across ed drawers#699

Open
mrautela365 wants to merge 2 commits into
mainfrom
fix/LFXV2-1644-consistent-no-data-messaging
Open

fix(dashboards): standardize no-data messaging across ed drawers#699
mrautela365 wants to merge 2 commits into
mainfrom
fix/LFXV2-1644-consistent-no-data-messaging

Conversation

@mrautela365
Copy link
Copy Markdown
Contributor

Summary

  • Unify the no-data state across all 8 ED marketing drawers to show a consistent informational card guiding users to contact marketing ops
  • Add hasNoData guards to engaged-community and flywheel-conversion drawers to prevent false "Performing Well" sections when data is stale (e.g. 43 working group members with 0% growth)
  • Standardize no-data title/description text across email-ctr, social-media, brand-health, website-visits, member-acquisition, and member-retention drawers

LFXV2-1644

🤖 Generated with Claude Code

Unify the no-data state across all 8 ED marketing drawers to show a
consistent informational card guiding users to contact marketing ops.
Add hasNoData guards to engaged-community and flywheel-conversion
drawers to prevent false "Performing Well" sections when data is stale.

LFXV2-1644

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Misha Rautela <mrautela@linuxfoundation.org>
@mrautela365 mrautela365 requested a review from a team as a code owner May 13, 2026 05:28
Copilot AI review requested due to automatic review settings May 13, 2026 05:28
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 13, 2026

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: f4cb64c3-f872-4f9b-ab68-5faff7e0e459

📥 Commits

Reviewing files that changed from the base of the PR and between cbff737 and 8d3d5a6.

📒 Files selected for processing (3)
  • apps/lfx-one/src/app/modules/dashboards/executive-director/components/engaged-community-drawer/engaged-community-drawer.component.ts
  • apps/lfx-one/src/app/modules/dashboards/executive-director/components/flywheel-conversion-drawer/flywheel-conversion-drawer.component.ts
  • apps/lfx-one/src/app/modules/dashboards/executive-director/components/website-visits-drawer/website-visits-drawer.component.html
🚧 Files skipped from review as they are similar to previous changes (1)
  • apps/lfx-one/src/app/modules/dashboards/executive-director/components/engaged-community-drawer/engaged-community-drawer.component.ts

Walkthrough

Executive director dashboard drawer components received updated empty-state messaging and handling. Two drawers added computed hasNoData signals and conditional template rendering for dedicated empty-state cards. Six drawers updated existing empty-state copy text to use standardized activity-detection messaging with a unified call-to-action for marketing operations engagement.

Changes

Dashboard Empty-State Messaging and Handling

Layer / File(s) Summary
Engaged community drawer empty-state handling
engaged-community-drawer/engaged-community-drawer.component.ts, engaged-community-drawer/engaged-community-drawer.component.html
Introduces hasNoData computed signal combining totalMembers, changePercentage, and monthlyData length checks. Template conditionally renders a dedicated "No community engagement activity detected" status card when no data exists, wrapping existing "Needs Your Attention" (red) and "Performing Well" (green) sections in an @else branch.
Flywheel conversion drawer empty-state handling
flywheel-conversion-drawer/flywheel-conversion-drawer.component.ts, flywheel-conversion-drawer/flywheel-conversion-drawer.component.html
Introduces hasNoData computed signal evaluating conversionRate, funnel.eventAttendees, and monthlyData.length. Template adds a top-level conditional that displays a "No flywheel conversion activity detected" status panel when no data, moving the existing attention/performance fold sections into the @else branch.
Empty-state messaging updates
brand-health-drawer/brand-health-drawer.component.html, email-ctr-drawer/email-ctr-drawer.component.html, member-acquisition-drawer/member-acquisition-drawer.component.html, member-retention-drawer/member-retention-drawer.component.html, social-media-drawer/social-media-drawer.component.html, website-visits-drawer/website-visits-drawer.component.html
Standardized empty-state copy text across six drawer components. Updated messaging from foundation-specific "data available" wording to activity-detection format ("No X activity detected") with unified call-to-action: "Engage with marketing ops to activate campaigns and start tracking results."

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: standardizing no-data messaging across executive director marketing drawers.
Description check ✅ Passed The description is clearly related to the changeset, detailing the unification of no-data states, addition of hasNoData guards, and standardization of messaging across multiple drawers.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/LFXV2-1644-consistent-no-data-messaging

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR standardizes the “no data” empty-state messaging across Executive Director (ED) marketing dashboard drawers and introduces hasNoData guards in drawers where stale/partial data was producing misleading “Performing Well” content.

Changes:

  • Standardized no-data title/description copy across several ED drawers to point users to marketing ops.
  • Added hasNoData computed guards to the Engaged Community and Flywheel Conversion drawers and updated their templates to show a consistent informational no-data card.
  • Updated Website Visits, Email CTR, Social Media, Brand Health, Member Acquisition, and Member Retention drawers to use the standardized messaging.

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
apps/lfx-one/src/app/modules/dashboards/executive-director/components/website-visits-drawer/website-visits-drawer.component.html Updates the no-data card copy in the Website Visits drawer.
apps/lfx-one/src/app/modules/dashboards/executive-director/components/social-media-drawer/social-media-drawer.component.html Standardizes no-data description text for social media.
apps/lfx-one/src/app/modules/dashboards/executive-director/components/member-retention-drawer/member-retention-drawer.component.html Standardizes retention drawer no-data title/description.
apps/lfx-one/src/app/modules/dashboards/executive-director/components/member-acquisition-drawer/member-acquisition-drawer.component.html Standardizes acquisition drawer no-data description.
apps/lfx-one/src/app/modules/dashboards/executive-director/components/flywheel-conversion-drawer/flywheel-conversion-drawer.component.ts Adds a hasNoData computed signal for no-data detection.
apps/lfx-one/src/app/modules/dashboards/executive-director/components/flywheel-conversion-drawer/flywheel-conversion-drawer.component.html Renders the standardized no-data card (and gates attention/performing folds).
apps/lfx-one/src/app/modules/dashboards/executive-director/components/engaged-community-drawer/engaged-community-drawer.component.ts Adds a hasNoData computed signal for stale/no-data detection.
apps/lfx-one/src/app/modules/dashboards/executive-director/components/engaged-community-drawer/engaged-community-drawer.component.html Renders the standardized no-data card (and gates attention/performing folds).
apps/lfx-one/src/app/modules/dashboards/executive-director/components/email-ctr-drawer/email-ctr-drawer.component.html Standardizes no-data title/description for email/paid activity.
apps/lfx-one/src/app/modules/dashboards/executive-director/components/brand-health-drawer/brand-health-drawer.component.html Standardizes no-data title/description for brand mentions.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Align hasNoData conditions with shared rule-engine guards:
- website-visits: rename "brand reach" to "website traffic" in no-data title
- flywheel: drop reengagementRate check to match buildFlywheelRecommendedActions
- engaged-community: require both totalMembers=0 AND monthlyData empty before
  hiding insights, matching initRecommendedActions guard

LFXV2-1644

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Misha Rautela <mrautela@linuxfoundation.org>
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