Set transitions as |local to solve populating destroy #2865
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.
Motivation
Svelte transitions are executed by default in components regardless if their parent components destroy those or not. This behavior is known as the
|global
transitions.This leads NNS dapp to various issues in which components are not destroyed and therefore, there context remains active.
Until today we solved this by applying a workaround in which we destroyed the all layout in case of navigation. While it solved the issue, this had for side effect to be a bit unpleasant for the eyes as the all page layout disappeared on navigation.
By setting all the animation to
|local
we can solve the issue and make the navigation more fluid.References
PRs
Previous issues
Changes
|local
to any Svelte transitions|local
to the Svelte animations implemented in NNS dappNotes
In the login page we will continue to observe
$navigating
because this condition was not only used to solve the issue but, also to present a spinner while the application is loading.