import './index.css'; import 'react-checkbox-tree/lib/react-checkbox-tree.css'; import React from 'react'; import ReactDOM from 'react-dom'; import {Provider} from 'react-redux'; import packageJson from '../package.json'; import App from './App.jsx'; import {setProviderState} from './redux/actions/mount_actions'; import {setActiveRelease} from './redux/actions/release_version_actions'; import createAppStore from './redux/store/createAppStore'; import * as serviceWorker from './serviceWorker'; import {getIPCRenderer} from './utils'; const Constants = require('./constants'); const ipcRenderer = getIPCRenderer(); let store; if (ipcRenderer) { ipcRenderer.once(Constants.IPC_Get_Platform_Reply, (_, platformInfo) => { if (platformInfo.Platform === 'linux') { const root = document.documentElement; root.style.setProperty('--default_font_size', '15.3px'); } ipcRenderer.once(Constants.IPC_Get_State_Reply, (_, result) => { if (result.data) { store = createAppStore(platformInfo, packageJson.version, result.data); const providerList = [ ...Constants.PROVIDER_LIST, ...store.getState().mounts.RemoteMounts, ...store.getState().mounts.S3Mounts, ]; for (const provider of providerList) { const state = result.data[provider]; if (state.AutoMount === undefined) { state['AutoMount'] = false; } if (state.AutoRestart === undefined) { state['AutoRestart'] = false; } store.dispatch(setProviderState(provider, state)); } store.dispatch( setActiveRelease(result.data.Release, result.data.Version)); } else { store = createAppStore(platformInfo, packageJson.version, {}); } ReactDOM.render(( ), document.getElementById('root')); serviceWorker.unregister(); }); ipcRenderer.send(Constants.IPC_Get_State); }); ipcRenderer.send(Constants.IPC_Get_Platform); }