rue-mist-interface
Version:
Mist interface application
93 lines (78 loc) • 2.53 kB
JavaScript
const { getLanguage } = require('./actions.js');
/**
The init function of Mist
@method mistInit
*/
mistInit = function () {
console.info('Initialise Mist Interface');
EthBlocks.init();
const ethBlocksInterval = setInterval(() => {
if (_.isEmpty(EthBlocks.latest)) {
EthBlocks.init();
} else {
clearInterval(ethBlocksInterval);
}
}, 500);
Tabs.onceSynced.then(function () {
if (location.search.indexOf('reset-tabs') >= 0) {
console.info('Resetting UI tabs');
Tabs.remove({});
}
if (!Tabs.findOne('browser')) {
console.debug('Insert tabs');
Tabs.insert({
_id: 'browser',
url: 'http://localhost:3050',
redirect: 'http://localhost:3050',
position: 0
});
} else {
Tabs.upsert(
{ _id: 'browser' },
{
$set: { position: 0 }
}
);
}
// overwrite wallet on start again, but use $set to dont remove titles
Tabs.upsert(
{ _id: 'wallet' },
{
$set: {
url: 'https://wallet.ethereum.org',
redirect: 'https://wallet.ethereum.org',
position: 1,
permissions: {
admin: true
}
}
});
// Sets browser as default tab if:
// 1) there's no record of selected tab
// 2) data is corrupted (no saved tab matches localstore)
if (!LocalStore.get('selectedTab') || !Tabs.findOne(LocalStore.get('selectedTab'))) {
LocalStore.set('selectedTab', 'wallet');
}
});
};
Meteor.startup(function () {
console.info('Meteor starting up...');
if (!location.hash) { // Main window
EthAccounts.init();
mistInit();
}
store.dispatch(getLanguage());
// change moment and numeral language, when language changes
Tracker.autorun(function () {
if (_.isString(TAPi18n.getLanguage())) {
const lang = TAPi18n.getLanguage().substr(0, 2);
moment.locale(lang);
try {
numeral.language(lang);
} catch (err) {
console.warn(`numeral.js couldn't set number formating: ${err.message}`);
}
EthTools.setLocale(lang);
}
});
});