FEATURE: Implement new onboarding popups (#18362)

This commit introduces a new framework for building user tutorials as
popups using the Tippy JS library. Currently, the new framework is used
to replace the old notification spotlight and tips and show a new one
related to the topic timeline.

All popups follow the same structure and have a title, a description and
two buttons for either dismissing just the current tip or all of them
at once.

The state of all seen popups is stored in a user option. Updating
skip_new_user_tips will automatically update the list of seen popups
accordingly.
This commit is contained in:
Bianca Nenciu
2022-10-12 18:38:45 +03:00
committed by GitHub
parent 1eaa1fee2d
commit 7611fec0da
21 changed files with 376 additions and 36 deletions
@@ -29,6 +29,7 @@ acceptance("Composer Actions", function (needs) {
});
needs.site({ can_tag_topics: true });
needs.pretender((server, helper) => {
server.put("/u/kris.json", () => helper.response({ user: {} }));
const cardResponse = cloneJSON(userFixtures["/u/shade/card.json"]);
server.get("/u/shade/card.json", () => helper.response(cardResponse));
});
@@ -61,6 +61,7 @@ acceptance("Composer", function (needs) {
],
});
needs.pretender((server, helper) => {
server.put("/u/kris.json", () => helper.response({ user: {} }));
server.post("/uploads/lookup-urls", () => {
return helper.response([]);
});