###User Stories
* As a casual Wikipedia reader, I want to discover the May Reading Challenge through a prompt, so that I can opt in without feeling pressured.
* As a new participant joining anytime in May, I want to understand the rules upfront: open 1 article per day, for 25 days, so that I can make an informed decision to join.
###Requirements:
- A user may join the challenge at any point between May 1st and May 31st inclusive
- Joining is a one-time action: there is no re-enrollment
- Once joined, the user is enrolled for the remainder of the challenge period
- Only logged-in users can successfully join the challenge.
- Enrollment may be tied to the user’s device, and does not need to be synced across devices at this point
Full-page announcement
- A full-page announcement is shown to all logged-in users starting May 1st
- Announcement is shown on Article view, Activity, or Explore, on first open of the app on or after May 1
- Users can only see the announcement a maximum of 1 time.
- Displays the challenge name, rules summary, prize details, widget mention, a Join CTA, and a "Learn more" CTA
- Dismissible: the user is not forced to join.
- Must include a brief, plain-language statement clarifying that the only data tracked for the challenge is local data on device.
- Full page announcement should stop showing after May 31
Widget announcement
- After someone joins the challenge, they should see the widget announcement: it can show immediately or on next app open if they navigate away before it displays
- "Got it" dismisses announcement
- [Spike] Is there any way we can take people directly to the native flow for adding a Widget, OR add the widget in the background for them automatically?
Joining from Widget (State: Not enrolled )
- The widget also renders a Join CTA for logged-in users who have not yet joined
- Tapping "Join challenge" on the Widget:
- Opens app with full-page announcement on top of the activity tab (it's ok if they've already seen it)
- They must tap “Join challenge” on the announcement
- They should not see the Widget announcement after the full-page announcement since they already have it installed
- After joining, their Widget should update to State: Enrolled but not started or State: Streak ongoing: read today depending on their reading for the day
###Designs
- Full-page Announcement: https://www.figma.com/design/nnXvcESYGNFiMmxYA41vVG/WP25--Apps-Reading-Challenge?node-id=8-1325&t=RvBOwbmZXb2vPfBJ-4
- Widget announcement: https://www.figma.com/design/nnXvcESYGNFiMmxYA41vVG/WP25--Apps-Reading-Challenge?node-id=256-15620&t=RvBOwbmZXb2vPfBJ-4
- **[[ https://www.figma.com/design/nnXvcESYGNFiMmxYA41vVG/WP25--Apps-Reading-Challenge?node-id=98-4857&t=6nrOkakt7XUobPUR-4 | State: Not enrolled ]]**