This repository has been archived on 2025-09-19. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
repertory-ui/src/index.js
2019-10-23 11:18:18 -05:00

59 lines
2.0 KiB
JavaScript

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