As a Watchlist Expiry user, I want to be able to temporarily watch items via action=watch, so that I can access the same feature offered to users who have JS enabled or directly watched via the article/edit page.
Background: There are many ways that someone may watch a page via action=watch. These include: a) if the user has JS disabled, b) if the user right clicked on the 'watch star' and chose to watch in a separate tab or window, and c) if the user wants to share a watch link with someone else. For these reasons, we should also accommodate temporary watching via action=watch. This is the first iteration of the implementation of the UI, so it may later change form. However, we want to start experimenting with its implementation. As we do this work, it is important to remember that we want to add watchlist expiry functionality while not adding extra steps or complexity for users who want to continue watching indefinitely. For this reason, we are keeping the 'Yes' button and adding a drop-down that has the indefinite watch period set as the default.
Acceptance Criteria:
- Update the current action=watch page to accommodate temporarily watchlist as follows:
- Change "Add this page to your watchlist?" to "Add this page to your watchlist:"
- Add a drop-down after "watchlist:" that includes:
- Permanently (as default)
- 1 week
- 1 month
- 3 months
- 6 months
- Rename the button from Yes to Watch
- The look and functionality of the button remains unchanged
- Pages should be watched according to time period selection from drop-down
- If a page has already been watched, the behavior should be:
- Label at top should state: "Update watchlist"
- Label above drop-down should state: "Watchlisted for:"
- Drop-down should have days left as pre-selected option at top
- The selection should be written as follows: "X days left" (for example, "10 days left" or "20 days left").
Visual Example
Link: https://en.wikipedia.org/w/index.php?title=Neferefre&action=watch
If page not yet watched:
If page already watched:
Note: The language in the mockups is not quite accurate; see the 'acceptance criteria' for language requirements: