diff options
| author | Erik Larkö <erik@mullvad.net> | 2017-07-03 14:28:19 +0200 |
|---|---|---|
| committer | Erik Larkö <erik@mullvad.net> | 2017-07-04 16:52:03 +0200 |
| commit | 7c99bf5ab5e56f0ccd8addffb8b68354e8977fea (patch) | |
| tree | 0a356af017e1ae7b60277c18387824d5d857373f /app/app.js | |
| parent | b0d7ea1ae5b4555ad0aa90451480bf7ae83b3be4 (diff) | |
| download | mullvadvpn-7c99bf5ab5e56f0ccd8addffb8b68354e8977fea.tar.xz mullvadvpn-7c99bf5ab5e56f0ccd8addffb8b68354e8977fea.zip | |
Flow app.js
Diffstat (limited to 'app/app.js')
| -rw-r--r-- | app/app.js | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/app/app.js b/app/app.js index bff4c7f6fc..07c3126fa1 100644 --- a/app/app.js +++ b/app/app.js @@ -1,3 +1,5 @@ +// @flow + import path from 'path'; import React from 'react'; import ReactDOM from 'react-dom'; @@ -90,21 +92,31 @@ if(navigator.serviceWorker) { ipcRenderer.send('on-browser-window-ready'); -const containerId = document.currentScript.getAttribute('data-container'); -if(!containerId) { - throw new Error('Missing data-container attribute.'); -} +function getRootElement() { + const currentScript = document.currentScript; + if (!currentScript) { + throw new Error('Missing document.currentScript'); + } + + const containerId = currentScript.getAttribute('data-container'); + if(!containerId) { + throw new Error('Missing data-container attribute.'); + } + + const rootElement = document.querySelector(containerId); + if(!rootElement) { + throw new Error('Missing root element.'); + } -const rootElement = document.querySelector(containerId); -if(!rootElement) { - throw new Error('Missing root element.'); + return rootElement; } + ReactDOM.render( <Provider store={ store }> <ConnectedRouter history={ memoryHistory }> { makeRoutes(store.getState, { backend }) } </ConnectedRouter> </Provider>, - rootElement + getRootElement() ); |
