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

View File

@@ -68,6 +68,7 @@ class CurrentUserSerializer < BasicUserSerializer
:timezone,
:featured_topic,
:skip_new_user_tips,
:seen_popups,
:do_not_disturb_until,
:has_topic_draft,
:can_review,
@@ -282,6 +283,14 @@ class CurrentUserSerializer < BasicUserSerializer
object.user_option.skip_new_user_tips
end
def seen_popups
object.user_option.seen_popups
end
def include_seen_popups?
SiteSetting.enable_onboarding_popups
end
def include_primary_group_id?
object.primary_group_id.present?
end