diff options
Diffstat (limited to 'server/web/src/index.tsx')
-rw-r--r-- | server/web/src/index.tsx | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/server/web/src/index.tsx b/server/web/src/index.tsx new file mode 100644 index 0000000..810a349 --- /dev/null +++ b/server/web/src/index.tsx @@ -0,0 +1,56 @@ +import { transitions, positions, Provider as AlertProvider } from 'react-alert'; +import { GlobalStyle } from './design/GlobalStyle'; +import { AlertTemplate } from './components/Alert'; +import { Provider } from 'react-redux'; +import { store } from './redux/store'; +import ReactDOM from 'react-dom'; +import React from 'react'; +import App from './App'; + +const alertOptions = { + // CONSTANT : alert parameters + position: positions.TOP_LEFT, + transition: transitions.FADE, + timeout: 3000 +}; + +declare global { + interface Window { + showAlert: any; + eel: any; + } +} + +window.eel.set_host(`ws://${window.location.host}`); +window.oncontextmenu = () => false; + +window.addEventListener('load', () => { + window.addEventListener('error', (event: any) => + console.log(`Window Error: ${event.message}`)); + + window.eel._websocket.addEventListener('open', () => + console.log('Host Websocket Connected!')); + + window.eel._websocket.addEventListener('error', (event: any) => { + console.log(`Websocket Error: ${event.message}`); + window.alert('Host Connection Error. Closing!'); + window.close(); + }); + + window.eel._websocket.addEventListener('close', () => { + window.alert('Host Disconnected. Closing!'); + window.close(); + }); +}); + +ReactDOM.render( + <React.StrictMode> + <Provider store={store}> + <GlobalStyle /> + <AlertProvider template={AlertTemplate} {...alertOptions}> + <App /> + </AlertProvider> + </Provider> + </React.StrictMode>, + document.getElementById('root') +); |