In T290788, we discussed several options for implementing quality gates. This task specifies the minimal one we want to do for Iteration 1 of "add an image".
**Users may not open a 26th suggestion after having submitted "yes" or "no" responses on 25 suggestions in that day.**
* Though both "yes" and "no" count, "skip" does not.
* {icon check-square color=green} The "day" period should be defined as midnight-to-midnight in the user's timezone as defined by their user preferences. After midnight, it resets.
The user will encounter this limit in two places:
!!Note: Final copy updated below - see relevant tab for corresponding QQQ in the [[ https://docs.google.com/spreadsheets/d/1y-HJEuxgd40zskUmJdiSOsv4lyVpwduMm4d1r2zz7yU/ | copy spreadsheet ]]:!!
* {icon check-square color=green} Post-edit dialog ({T290789})
** {icon check-square color=green} After the user completes their 25th suggestion by accepting or rejecting the image and submitting, the messaging in their post-edit dialog is different.
** {icon check-square color=green} Banner
*** {icon check-square color=green} Whether they accepted or rejected the 25th suggestion: `You have completed all of today's image suggestions. Thank you!`
** Bottom sheet
*** {icon exclamation-triangle color=green} Header (to be displayed whether or not more tasks are available): `More ways to edit`
*** {icon check-square color=green} Paragraph (to be displayed whether or not more tasks are available): `Try another type of task or come back tomorrow for more image suggestions.`
*** If the user has other tasks available in their feed that are not image tasks, show the first of the non-image suggestion edits in their feed. The refresh button should cycle amongst those non-image tasks.
*** If the user does //not// have other tasks available in their feed that are not image tasks, then we should fall back to other task types using this logic: choose //any// other task type, as long as it matches the user's currently selected topics.
*** {icon check-square color=green} If there are //no// other tasks of any sort available, there should not be a suggestion. There should still be the header and paragraph described above, followed directly by the two buttons. This is roughly similar to the current state for if no more suggestions are available.
*** {icon check-square color=green} The buttons are the same as for "add a link": "View more suggested edits" and "Close and edit this article again", or "Close" if the user rejected the image.
* Suggested edits feed
** When the user is navigating their suggested edits feed, tasks should be present according to their filters as usual.
** {icon check-square color=green} If they have done 25 or more image suggestions that day, when they tap on an image card, they should see a dialog that says, `You have completed all of today's image suggestions.`[paragraph break] `Adjust your difficulty levels to see other types of edits or come back tomorrow for more image suggestions.` The dialog should have one button: `Got it`.
We know these specification are somewhat leaky, and that users might be able to do more than 25 image suggestions a day by opening many in multiple tabs or by changing their timezone around. These are described in more detail in {T290788} and we accept these leaks for Iteration 1.
//Mockups as of 2021-10-14://
After the user completes their 25th task ([[ https://www.figma.com/file/ULhJr1isDstRbGE5vjYDsr/Add-images-structured-task?node-id=3274%3A14654 | figma here ]]):
{F34689260}
When a user selects an "add an image" task after they've hit their limit ([[ https://www.figma.com/file/ULhJr1isDstRbGE5vjYDsr/Add-images-structured-task?node-id=3237%3A14820 | figma here ]]):
{F34689258}