In T272664: Add a link: refresh button on post-edit dialog (nice to have), we implemented the refresh button on the post-edit dialog, which allows users to cycle through "next suggestion" options. We now want to replace it with arrows that allow users to navigate back and forth through their feed, giving them more granularity of choices. There are two reasons we want to replace it with arrows:
- It gives the users the same amount of flexibility they're used to from the suggested edits module.
- In our funnel analysis data, we saw that only 2-3% of users use the refresh button after their first edit. We want to see if a different interaction is found to be more valuable by the users.
Proposed design from related task T301603:
Currently the task feed is part of SuggestedEditsModule class, which handles both the state management (task queue, which task the user is viewing, which filters are selected etc) and the presentation (showing the task card, showing navigation buttons). The state management and the presentation should be separated so that the task feed can be shown from other modules with a different presentation.
Rough summary of changes
(to be done once the patches for T301603: Newcomer tasks: increased flexibility at post-edit dialog and T303985: Suggested edits: make task feed reusable are merged)
- Remove GrowthTaskApi and its dependencies (also from extension.json)
- Replace the task queue (otherTasks) with value from NewcomerTasksStore
- In NewcomerTasksStore, the task the user just finished needs to be filtered out of the queue
- Remove nextTaskIndex — use getter to retrieve the current value from NewcomerTasksStore
- In navigateTask, call showNextTask/showPreviousTask rather than updating the local states
- Remove fetchOtherTasks, use NewcomerTasksStore.fetchTasks instead
- In setup, remove logic to fetch extra data (this should be handled automatically by NewcomerTasksStore)
- Set up event handlers to update PostEditPanel when the task queue changes and when extra data is updated for the current task