Restructured Layouts and Integrated AuthState #10
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.
This PR introduces the following changes:
Layout.jsxrenamed toRootLayout.jsx, which simply gets auth state to fetch the session and mounts theToaster. It is the absolute parent of the entire routing structure.DefaultLayout.jsxwhich wraps aNavbarandOutletcontent withdefaultLayoutCSS styling.ProtectedLayout.jsxwhich ensures that a valid session is active beforeOutletcontent is rendered. If not, the user is re-directed to the login (/auth/login) page. This layout already makes use of animations, do not doubleProtectedLayoutandAnimateIn.AnimateIn.jsxwhich wrapsOutletcontent with a quick, smooth animation.SampleProtectedpage now has a working log out button.CentredSpinnercomponent. Used byProtectedLayoutwhile session retrieval is ongoing.Navbaravatar is responsive to current usernameactionForTypesparameter inToastWizard.promiseBased.There should be no breaking changes, but I recommend readers to review
main.jsxto understand the layout rendering structure well, so as to avoid unexpected behaviour.