### Description
Currently vue components are rendered to replace empty divs, so UI jumps around a lot.
### Proposal
consistent way of rendering Vue components from HAML
could be one of:
- show loading spinner / placeholder [as seen in https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/11434]
- duplicate content in HAML, or show stripped-down readonly version
- actually server render
- unserver render - hide the entire UI until JS has loaded then show everything
Choice should be added to https://gitlab.com/gitlab-org/gitlab-ce/issues/31580
### Links / references
Vue has [server renderer](https://ssr.vuejs.org/) but needs node :(