Create onboarding Vue app
Proposal
The product analytics area of GitLab is going to need two Vue apps to build out the user experience. The first app will render the onboarding flow for the user for when they are first setting up product analytics. The second renders the dashboards list and individual dashboards (already created).
So we need to create a new folder and Vue app structure in the javascripts/product_analytics with Vue routing.
Note: This app will eventually fetch the current analytics state from a new backend state machine API being added as part of Onboarding - API to retrieve the state of a pro... (#382859 - closed).
The routing will redirect users to specific views based upon what data we can retrieve:
Implementation plan
- Create a new folder and Vue app structure in
javascripts/product_analytics
for the onboarding app - Create a new
index.js
to async load either onboarding or dashboard listing based upon whether we have a jitsu key and cube has any data- Add a loading state whilst the async load takes place
- Add conditional rendering. Right now all we need is to show the dashboard listing if the jitsu key and cube data exists otherwise show the onboarding app, future MRs will add each view
- Add new specs
- Add feature spec to make sure the app isn't loaded without the settings and is then loading the right app based upon whether the dashboard has been implemented or not
Edited by Robert Hunt