* use @xarc/xrun to streamline tasks in an imperative manner * add lint-staged/husky for git hook tasks * run prettier across all files * fixing tests * add ci test workflow * add a ci workflow * remove precommit in favor of husky * add .prettierrc.js * reformat with prettier
43 lines
1.2 KiB
JavaScript
43 lines
1.2 KiB
JavaScript
var config = require('../config');
|
|
|
|
// Helpers
|
|
var changeExtensionIcon = require('./changeExtensionIcon');
|
|
var changeExtensionTooltip = require('./changeExtensionTooltip');
|
|
var in_array = require('./in_array');
|
|
|
|
/**
|
|
* Sets the current state of the extension.
|
|
*
|
|
* @param state
|
|
*/
|
|
function changeExtensionState(state) {
|
|
if (!in_array(state, config.states)) {
|
|
throw new Error('Not a valid state!');
|
|
}
|
|
|
|
switch (state) {
|
|
case 'allGood':
|
|
changeExtensionIcon(config.colors.allGood);
|
|
changeExtensionTooltip(config.tooltips.allGood);
|
|
break;
|
|
case 'notLogging':
|
|
changeExtensionIcon(config.colors.notLogging);
|
|
changeExtensionTooltip(config.tooltips.notLogging);
|
|
break;
|
|
case 'notSignedIn':
|
|
changeExtensionIcon(config.colors.notSignedIn);
|
|
changeExtensionTooltip(config.tooltips.notSignedIn);
|
|
break;
|
|
case 'blacklisted':
|
|
changeExtensionIcon(config.colors.notLogging);
|
|
changeExtensionTooltip(config.tooltips.blacklisted);
|
|
break;
|
|
case 'whitelisted':
|
|
changeExtensionIcon(config.colors.notLogging);
|
|
changeExtensionTooltip(config.tooltips.whitelisted);
|
|
break;
|
|
}
|
|
}
|
|
|
|
module.exports = changeExtensionState;
|