2019-07-14 09:41:51 +02:00
|
|
|
/* global chrome, Popup */
|
2019-07-07 15:40:51 +02:00
|
|
|
|
2019-08-14 13:45:15 -04:00
|
|
|
// Fill i18n in HTML
|
|
|
|
|
window.onload = () => {
|
|
|
|
|
Popup.fill(document.body, (m) => {
|
|
|
|
|
return chrome.i18n.getMessage(m);
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
2019-05-29 21:27:05 -04:00
|
|
|
const port = chrome.runtime.connect({
|
2019-07-02 09:56:47 -04:00
|
|
|
name: "popup"
|
2019-05-29 21:27:05 -04:00
|
|
|
});
|
|
|
|
|
|
|
|
|
|
port.onMessage.addListener((m) => {
|
2019-07-05 07:22:20 +02:00
|
|
|
const { active, enabled, total, missingFeature } = m;
|
|
|
|
|
const popup = new Popup();
|
|
|
|
|
|
|
|
|
|
if (missingFeature) {
|
2019-07-23 10:13:46 -06:00
|
|
|
popup.setEnabled(false);
|
|
|
|
|
popup.setActive(false);
|
2019-08-14 13:45:15 -04:00
|
|
|
popup.setStatusText(chrome.i18n.getMessage('popupStatusOff'));
|
2019-09-25 21:33:57 -04:00
|
|
|
popup.setStatusDesc(chrome.i18n.getMessage(missingFeature), true);
|
2019-07-05 07:22:20 +02:00
|
|
|
popup.hideButton();
|
2019-07-03 15:35:01 +02:00
|
|
|
return;
|
|
|
|
|
}
|
2019-07-05 07:22:20 +02:00
|
|
|
|
2019-07-02 09:56:47 -04:00
|
|
|
const clients = active ? 1 : 0;
|
2019-07-05 07:22:20 +02:00
|
|
|
|
2019-07-02 09:56:47 -04:00
|
|
|
if (enabled) {
|
2019-07-05 07:22:20 +02:00
|
|
|
popup.setChecked(true);
|
2019-08-14 13:45:15 -04:00
|
|
|
if (clients > 0) {
|
|
|
|
|
popup.setStatusText(chrome.i18n.getMessage('popupStatusOn', String(clients)));
|
|
|
|
|
} else {
|
|
|
|
|
popup.setStatusText(chrome.i18n.getMessage('popupStatusReady'));
|
|
|
|
|
}
|
|
|
|
|
popup.setStatusDesc((total > 0) ? chrome.i18n.getMessage('popupDescOn', String(total)) : '');
|
2019-07-02 09:56:47 -04:00
|
|
|
} else {
|
2019-07-05 07:22:20 +02:00
|
|
|
popup.setChecked(false);
|
2019-08-14 13:45:15 -04:00
|
|
|
popup.setStatusText(chrome.i18n.getMessage('popupStatusOff'));
|
2019-07-05 07:22:20 +02:00
|
|
|
popup.setStatusDesc("");
|
2019-07-02 09:56:47 -04:00
|
|
|
}
|
2019-07-23 10:13:46 -06:00
|
|
|
popup.setEnabled(enabled);
|
|
|
|
|
popup.setActive(active);
|
2019-05-29 21:27:05 -04:00
|
|
|
});
|
2019-06-26 20:21:44 -04:00
|
|
|
|
|
|
|
|
document.addEventListener('change', (event) => {
|
2019-07-05 07:22:20 +02:00
|
|
|
port.postMessage({ enabled: event.target.checked });
|
2019-06-26 20:21:44 -04:00
|
|
|
})
|