Add locally-triggered impact-stories prompt for super admins#14729
Merged
marcellamaki merged 1 commit intoMay 25, 2026
Merged
Conversation
f780f0a to
5cc2b54
Compare
Contributor
Build Artifacts
Smoke test screenshot |
dc27112 to
dd007db
Compare
Surfaces an in-app banner on the Facility and Device pages asking super admins to share a Kolibri impact story. The trigger is evaluated entirely from local state — sustained learner activity over the last 90 days, no KDP-registered facilities on device — so the banner reaches deployments that never come online for the central pingback channel. Frontend gated to English UI for v1 (mirrors attendance / picture-login pattern). Dismiss is a hard DELETE; cooldown is enforced by the generator task rescheduling itself rather than by retaining dismissed rows. Renders a WhatsApp QR + number paired with an online-form link; QR is omitted on small viewports where the link is directly tappable. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
dd007db to
8e69a54
Compare
marcellamaki
approved these changes
May 25, 2026
Member
marcellamaki
left a comment
There was a problem hiding this comment.
reviewed code and manually tested end-to-end. works as described for all scenarios:
- english display to admins
- no display in non-english languages
- no display after dismissal (dismissal persists on page refresh, and logging out and logging back in again)
- QA code correctly opens whatsapp messaging to correct number, and is properly integrated with support channel
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
An in-app prompt asking super admins to share a Kolibri impact story, triggered locally so it reaches deployments the central pingback channel never sees. Appears when:
Accessibility audit (axe-core, WCAG AA): clean for the banner. The one pre-existing critical violation on the Device page (channel thumbnails missing alt) is unrelated to this PR.
References
No linked issue.
Reviewer guidance
Test plan:
Risky areas:
AI usage
Used Claude Code for the PRD brainstorm, implementation, and a cleanup pass (reuse of `get_learner_count`, bounded query scan). User steered architecture and copy throughout, rejected several drafts. Verified end-to-end in a browser before commit.