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);