Let tours be skipped on view enter and started later imperatively #233
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #231
The
StudyView
component conditionally launches on modal on data fetch. If it (or any components that it renders) starts a tour on view enter and the modal is opened soon after when the data fetch settles, the result is a tour highlighting an element that is hidden under the modal.These changes address this by:
useAppTour
hook that allows a client to turn off initiating the tour on view enteruseAppTour
that includes a function which can imperatively start the tour (or at least attempt to, depending on whether the tour has already been presented)StudyView
to control whether it is safe to present tours.StudyView
and its children can observe this state to imperatively start a tour when it's safe to do so.