diff options
author | Tristan Cacqueray <tdecacqu@redhat.com> | 2018-10-03 07:05:06 +0000 |
---|---|---|
committer | Monty Taylor <mordred@inaugust.com> | 2018-10-06 10:42:31 -0500 |
commit | 68d11898715970f47c4d86c261dc64232a841c85 (patch) | |
tree | 974b0e60a21d8262b67c0310777d14ee48c056f5 /web/src/index.js | |
parent | 6f0f36aab00104321d548554f74e969064b1fe34 (diff) | |
download | zuul-68d11898715970f47c4d86c261dc64232a841c85.tar.gz |
Revert "Revert "web: rewrite interface in react""
This reverts commit 3dba813c643ec8f4b3323c2a09c6aecf8ad4d338.
Change-Id: I233797a9b4e3485491c49675da2c2efbdba59449
Diffstat (limited to 'web/src/index.js')
-rw-r--r-- | web/src/index.js | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/web/src/index.js b/web/src/index.js new file mode 100644 index 000000000..fb42857b4 --- /dev/null +++ b/web/src/index.js @@ -0,0 +1,40 @@ +// Copyright 2018 Red Hat, Inc +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +// The index is the main of the project. The App is wrapped with +// a Provider to share the redux store and a Router to manage the location. + +import React from 'react' +import ReactDOM from 'react-dom' +import { BrowserRouter as Router } from 'react-router-dom' +import { Provider } from 'react-redux' +import 'patternfly/dist/css/patternfly.min.css' +import 'patternfly/dist/css/patternfly-additions.min.css' +import './index.css' + +import { getHomepageUrl } from './api' +import registerServiceWorker from './registerServiceWorker' +import { createZuulStore, fetchInfoAction } from './reducers' +import App from './App' + +// This calls the /api/info endpoint asynchronously, the App is connected +// with redux and it will update the info prop when fetch succeed. +const store = createZuulStore() +store.dispatch(fetchInfoAction()) + +ReactDOM.render( + <Provider store={store}> + <Router basename={new URL(getHomepageUrl()).pathname}><App /></Router> + </Provider>, document.getElementById('root')) +registerServiceWorker() |