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
2021-02-12 15:21:46 -06:00

64 lines
2.0 KiB
JavaScript

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((
<Provider store={store}>
<App/>
</Provider>
), document.getElementById('root'));
serviceWorker.unregister();
});
ipcRenderer.send(Constants.IPC_Get_State);
});
ipcRenderer.send(Constants.IPC_Get_Platform);
}