/ common / index.tsx
index.tsx
 1  // Application styles must come first in order, to allow for overrides
 2  import 'font-awesome/scss/font-awesome.scss';
 3  import 'sass/styles.scss';
 4  import 'babel-polyfill';
 5  import 'whatwg-fetch';
 6  import React from 'react';
 7  import { render } from 'react-dom';
 8  
 9  import Root from './Root';
10  import consoleAdvertisement from 'utils/consoleAdvertisement';
11  import configuredStore from 'features/store';
12  
13  const appEl = document.getElementById('app');
14  
15  render(<Root store={configuredStore} />, appEl);
16  
17  if (module.hot) {
18    module.hot.accept('features/reducers', () =>
19      configuredStore.replaceReducer(require('features/reducers'))
20    );
21  
22    module.hot.accept('./Root', () => {
23      render(<Root store={configuredStore} />, appEl);
24    });
25  }
26  
27  if (process.env.NODE_ENV === 'production') {
28    consoleAdvertisement();
29  }
30  
31  const noOp = (event: DragEvent) => {
32    event.preventDefault();
33    return false;
34  };
35  
36  // disables drag-and-drop due to potential security issues by Cure53 recommendation
37  document.addEventListener('dragover', noOp, false);
38  document.addEventListener('drop', noOp, false);