Refactor context-main.js (#671)
This commit is contained in:
parent
c6c0126394
commit
e696dc84a8
@ -19,11 +19,10 @@
|
||||
* api
|
||||
*/
|
||||
|
||||
function showExtensionInfo() {
|
||||
function showExtensionInfo(manifest) {
|
||||
const node = document.getElementById('extension-info');
|
||||
if (node === null) { return; }
|
||||
|
||||
const manifest = chrome.runtime.getManifest();
|
||||
node.textContent = `${manifest.name} v${manifest.version}`;
|
||||
}
|
||||
|
||||
@ -49,30 +48,19 @@ function setupButtonEvents(selector, command, url) {
|
||||
}
|
||||
}
|
||||
|
||||
async function mainInner() {
|
||||
api.forwardLogsToBackend();
|
||||
await yomichan.ready();
|
||||
|
||||
await api.logIndicatorClear();
|
||||
|
||||
showExtensionInfo();
|
||||
|
||||
api.getEnvironmentInfo().then(({browser}) => {
|
||||
async function setupEnvironment() {
|
||||
// Firefox mobile opens this page as a full webpage.
|
||||
const {browser} = await api.getEnvironmentInfo();
|
||||
document.documentElement.dataset.mode = (browser === 'firefox-mobile' ? 'full' : 'mini');
|
||||
});
|
||||
|
||||
const manifest = chrome.runtime.getManifest();
|
||||
|
||||
setupButtonEvents('.action-open-search', 'search', chrome.runtime.getURL('/bg/search.html'));
|
||||
setupButtonEvents('.action-open-options', 'options', chrome.runtime.getURL(manifest.options_ui.page));
|
||||
setupButtonEvents('.action-open-help', 'help', 'https://foosoft.net/projects/yomichan/');
|
||||
}
|
||||
|
||||
async function setupOptions() {
|
||||
const optionsContext = {
|
||||
depth: 0,
|
||||
url: window.location.href
|
||||
};
|
||||
api.optionsGet(optionsContext).then((options) => {
|
||||
const options = await api.optionsGet(optionsContext);
|
||||
|
||||
const toggle = document.querySelector('#enable-search');
|
||||
toggle.checked = options.general.enable;
|
||||
toggle.addEventListener('change', () => api.commandExec('toggle'), false);
|
||||
@ -84,9 +72,19 @@ async function mainInner() {
|
||||
setTimeout(() => {
|
||||
document.body.dataset.loaded = 'true';
|
||||
}, 10);
|
||||
});
|
||||
}
|
||||
|
||||
(async () => {
|
||||
window.addEventListener('DOMContentLoaded', mainInner, false);
|
||||
api.forwardLogsToBackend();
|
||||
await yomichan.ready();
|
||||
|
||||
const manifest = chrome.runtime.getManifest();
|
||||
|
||||
api.logIndicatorClear();
|
||||
showExtensionInfo(manifest);
|
||||
setupEnvironment();
|
||||
setupOptions();
|
||||
setupButtonEvents('.action-open-search', 'search', chrome.runtime.getURL('/bg/search.html'));
|
||||
setupButtonEvents('.action-open-options', 'options', chrome.runtime.getURL(manifest.options_ui.page));
|
||||
setupButtonEvents('.action-open-help', 'help', 'https://foosoft.net/projects/yomichan/');
|
||||
})();
|
||||
|
Loading…
Reference in New Issue
Block a user