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 is a more or less "prototype" version to pitch the idea.
Most of the work I've done started at Meridian 2021's Docsprint.
You can find a demo of the current state here.
The idea 馃挕
Most developers starting their journey into the Stellar Network will sooner or later meet Laboratory.
While Laboratory is an awsome tool, it can be hard to wrap your head around at first.
So a more or less interactive Tutorial/Tour should give people a headstart on where they need to look out for specific features.
I could go deep into Labs features but for now it's a very basic overview over the different pages. We could expand it later as far as needed.
The implementation 鈿欙笍
I've seen (non open source) tour components build in react, but all of them have/had trouble with steps across js-chunks and blow up the js bundle size even when they're not used by the user.
For this prototype I'm using Sheperd, a well known library for Tour overlays.
The js is dynamically import()-ed when the tour is started, the only overhead loaded every time is shepherds css as I did't get around to lookup how I could dynamically import it without breaking jest.
Open TODOs / Things to discuss 馃敡
Most of this could be replaced by using the redux store, as this code is fairly ugly and easy to break.
But manipulating the store could lead to different behavior of the tour and the real UI elements.
data-tour-anchor
to make it more obvious that this element is part of the tour.I'll happily continue work on this, but it may take time as I'm fairly busy.
But I'd love to hear thought and feedback on the idea, my points from above and anything else implementation related.