Background
Every module in the Community feed should give users control over how they interact with content. A three dot menu on each module provides quick access to hide/unhide actions. Building this as a shared component ensures consistent behavior across all modules and reduces implementation overhead per module.
User Story
As a reader browsing the Community Picks feed, I want to hide individual modules and act on individual article items so that I can curate my feed experience and act on content I find interesting.
Requirements
Module 3-dot menu
- Every module in the Community feed should display a three dot menu icon in the top right corner
- Tapping the three dot menu should reveal the option to Hide module, or Hide card
- Hide module should remove the module from the feed with an option to undo. Hidden modules should remain hidden on subsequent feed loads
- Hide Card should remove that instance of the module from the feed with an option to undo. If a user selects this, the card should be hidden permanently, unless the user clears the app data (from their system settings), or uninstalls/reinstalls the app.
- Previously hidden modules can be restored in settings
- Menu behaviour and styling should be consistent across all modules
Articles
- Allow long-pressing of any article in "Community" to display current link preview & action menu
- Each article displayed as a card should have a 3-dot menu that opens the longpress options: Open, Open in new tab, Open in background tab, Save/Remove from Saved, Share and Copy link address.
Design Link
Menu (Figma) →
Toast (Figma) →
Android task for reference
https://phabricator.wikimedia.org/maniphest/task/edit/418877/
Toni Handoff Notes
Based on progress at PR https://github.com/wikimedia/wikipedia-ios/pull/5995
Things remaining todo:
UI needs to be fine-tuned. Ensure the proper three-dot icon is used (currently it's a temp icon), that it uses WMFSFSymbolsIcon, etc.
Allow long-pressing of any article in "Community" to display current link preview & action menu
Each article displayed as a card should have a 3-dot menu that opens the longpress options: Open, Open in new tab, Open in background tab, Save/Remove from Saved, Share and Copy link address.
These two requirements still need to be done.
Eng notes
We can use the WMFToastManager showRichToast for the toast's undo button.