####Background
The Apps team plans to explore if a personalized Wikipedia Year in Review feature that displays insights about a user's reading history, editing history, and donation history is engaging for App users, and inspires them to make a donation to the Wikimedia Foundation.
####Requirements
- Slide is personalized if we recognize that the user has madCreate collective slide
- Display if we **do not** have a donation OR has made edits
Collective slidestored for the user
- Display if we do not have a donation stored for them & they did not see personalized editing- "Donate" in top left corner launches donation flow similar to other slides
- "Donate now" should lead to the [[ https://www.figma.com/design/JRTyGA3rZ0qlQ9eqh0FMhE/Wikipedia-YiR?node-id=285-1032&t=hsZxCZkL6xfEv7t1-4 | donation flow ]]I already contribute" and "Done" should dismiss and show the survey (survey will be done as a part of T376319)
Create personalized slide
- "Learn how to participate" should lead to a in-app webview of https://www.mediawiki.org/wiki/Wikimedia_Apps/iOS_FAQ#Editing- Display if we **do** have a locally stored donation for the user
- Done or Not now- "Finish" and "Done" should dismiss and showlead to the survey (survey will be done as a part of T376319)
- Donations made through this entry point should be counted as appmenu donations, but also have an additional identifier to allow distinguishing them from appmenu. (will be done as a part of T376348)Link in text "Learn more about what we do" launches in-app webview
Personalized slideCreate Webview of MediaWiki "Learn more" page
- Display if we have a locally stored donation OR this person saw the personalized editing slides"Learn more about our work" on both slides launches an in-app webview of the MediaWiki page: https://www.mediawiki.org/wiki/Wikimedia_Apps/About_the_Wikimedia_Foundation
- "Finish" and "Done" should lead to the survey (survey will be done as a part of T376319In-app webview should contain link at bottom "Donate now" that launches in-app donation flow (in similar placement to "Report a bug" on the Help and Feedback webview of the FAQ page)
- Nice-to-have: Reference the amount they donated with correct currency code (Thank you for being one of them **by donating $11.25**).The MediaWiki page should be displayed in the user's language (if they are viewing Year in Review in Italian, the mediawiki page should automatically show them the italian version: https://www.mediawiki.org/wiki/Wikimedia_Apps/About_the_Wikimedia_Foundation/it. If that page does not exist, it should fall back to English.
- Navigating "Back" from Webview should land the user back on the Collective/Personalized donation slide
####Designs
Illustration & language to be updatedLanguage may be updated once reviewed by Fundraising
| Collective | Personalized | Webview (more specific mockup coming)
| {F57586461634832} | {F57634829} | {F57586459} 634860}
####Engineering Notes
Both:
- Modify existing slide UI component (created in T375566) to allow configuration options to show this slightly different design (top left donate button hidden, large "donate now" and "not now" buttons at bottom for personalized, top left donate button hidden, "Finish" text for collective).
Collective:
- Attach donate logic to closing screen. If they tap Donate, ask donate coordinator to start, ensure button target rect is passed along. Turn donate button into spinner while it fetches configs.
Personalized:
- (data half) Upon app resume method, pull persisted slide item object for this slide identifier. If evaluated = no AND remote config does not have a personalized slide kill switch, grab the number of persisted donations that were saved that year. //Also// grab the number of edits that were made that year via an API call (we should do this part after T376320, which adds in all the difficult work of fetching their year's worth of edits and persisting). Then set “evaluated = yes”. Set display = yes if user has donated at all that year, OR they have edits.
- (UI half) Ensure that when we create the view models before presenting slides (see T376044), fetch the persisted model from previous bullet point. If display = yes, build a slide view model for this data (using the report model's metadata). Ensure slide view model is inserted into the correct order, and that associated collective "fallback" slide is NOT inserted.