The first version of the settings dialog will look like so:
TODO
Phase 1: Preparation
- The user menu should be refactored to separate the notifications, and username menus. These are originally separate but merged inside Vector 2022 (it may make sense to pull this out into a subtask - so talk about this during estimation)
- When the VectorClientPreferences flag is enabled, Vector 2022 should use the codex-styles module instead of codex-search-styles module so it can render radio buttons on page load.
Phase 2: Refactoring of existing client preferences code
- The existing settings code should render the controls inside this new menu instead of in the menu in the bottom right when https://en.wikipedia.org/wiki/Motorsport?vectorclientpreferences=1 is visited
- There should be an intermediate states.
QA
Can be skipped in production. Verification will occur later. QA is restricted to the patch demo.
- When patch demo is visited as a logged in user the new menu icon should not show
- When patch demo is visited as an anonymous user the new menu icon should show
- Make sure codex-search module is not loaded on anonymous page views under any circumstances.
- Make sure codex-search-styles module is loaded on logged in page views
- When JavaScript is disabled the button should not be shown.
- Make sure click tracking is functioning for interactions with the settings - each selection of an option should have an associated click tracking event (testing desktop site is sufficient for now)
- Make sure the client preferences does not show for anonymous users, or users with the beta feature disabled.
Sign off steps
- Create a ticket to make this menu pinnable per the sequencing plan in T345359
- Make sure a task is created for adding the new icon to Codex.