You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Merge #427: Introduce Signal Based Navigation Model to have Self-Contained Pages
3f94240 qml: rename backClicked signal to back (jarolrod)
7b5f9c1 qml: Use signal based navigation in NodeSettings, don't alias nav elems (jarolrod)
a77c7f1 qml: use signal based navigation in CreateWallet pages, introduce wizard (jarolrod)
02a3b25 qml: use signal based navigation in settings with subpages (jarolrod)
fad9bd7 qml: signal based navigation in onboarding (jarolrod)
Pull request description:
Here we introduce a Signal Based navigation model, so that we can have self-contained pages. Self-contained pages include everything they need where they are declared, and do not have more than one definition. This makes pages modular, easier to reason about, but also easier to maintain by eliminating dependencies on hard-coded IDs, direct calls to parent views, and interlinked properties between pages.
When we want to reason about `PageA.qml`, we only have to look in there and the child components it uses, and not have to use a search function to ensure we have the entire scope of `PageA.qml`.
To Achieve this, this PR implements the following main ideas:
1. Ensure that pages are not hardcoding and reaching into an outside view.
2. Ensure we don't alias down any components into pages, and instead have pages define all their components, but react to state events
3. Ensure we don't have interlinked properties between pages
4. Move navigation and page linking logic from the pages themselves and into the declaration of the view itself.
Additionally, while here we structure the CreateWallet flow into a Wizard.
**Follow-Ups:**
Consider moving onboarding and walletName into more appropriate backend objects.
[]()
ACKs for top commit:
johnny9:
ACK 3f94240
MarnixCroes:
ACK 3f94240
Tree-SHA512: 134ba2ee3a1b4aec77601ca065cfc690098e6b3695a9bcf8c65498a80e41857fa6f2cf218e9269e9b31c51babb3faa70fd1db35e148dd3dbd261c9359c3212b4
0 commit comments