pooliot-client
Version:
50 lines (40 loc) • 1.19 kB
JavaScript
import Configstore from 'configstore';
import deepEqual from 'deep-equal';
import { serverHost } from './argv';
import findNetworkInterface from './utils/networkInterface';
import { name } from '../package.json';
// import availableDisplays from './utils/availableDisplays';
const defaultConfig = () => {
const networkInterface = findNetworkInterface();
return {
display: 'chromium',
url: `${serverHost}/no-config?ip=${networkInterface && networkInterface.ip}`,
// url: `http://localhost${webPort === 80 ? '' : `:${webPort}`}/no-config`,
};
};
const configStore = new Configstore(name, defaultConfig());
let config = configStore.all;
if (!config || !config.display || (config.url && config.url.startsWith('undefined'))) {
config = defaultConfig();
}
function save() {
configStore.all = config;
}
// if (availableDisplays.indexOf(config.display) === -1) {
// config.display = 'chromium';
// save();
// }
export function updateConfig(newConfig: Object) {
if (deepEqual(config, newConfig)) {
return false;
}
config = newConfig;
save();
return true;
}
export function getTime() {
return config.time;
}
export function get() {
return config;
}