|
@@ -14,17 +14,13 @@ import {
|
|
|
initMenu, addMenu,
|
|
|
} from "./features/index";
|
|
|
|
|
|
-(async () => {
|
|
|
- //#MARKER init
|
|
|
-
|
|
|
- const features = await getFeatures();
|
|
|
-
|
|
|
+async function init() {
|
|
|
await preInitLayout();
|
|
|
|
|
|
try {
|
|
|
// TODO: add some style
|
|
|
- console.log(`${info.name} v${info.version} - ${info.namespace}`);
|
|
|
- console.log(`Powered by lots of ambition and my song metadata API called geniURL: ${geniUrlBase}`);
|
|
|
+ console.log(`${info.name} v${info.version} (${info.lastCommit}) - ${info.namespace}`);
|
|
|
+ console.log(`Powered by lots of ambition and my song metadata API: ${geniUrlBase}`);
|
|
|
|
|
|
document.addEventListener("DOMContentLoaded", onDomLoad);
|
|
|
}
|
|
@@ -32,58 +28,61 @@ import {
|
|
|
console.error("BetterYTM - General Error:", err);
|
|
|
}
|
|
|
|
|
|
- /** Called when the DOM has finished loading (after `DOMContentLoaded` is emitted) */
|
|
|
- async function onDomLoad() {
|
|
|
- const domain = getDomain();
|
|
|
+ try {
|
|
|
+ initMenu();
|
|
|
+ }
|
|
|
+ catch(err) {
|
|
|
+ console.error("BetterYTM: Couldn't initialize menu:", err);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+/** Called when the DOM has finished loading and can be queried and altered by the userscript */
|
|
|
+async function onDomLoad() {
|
|
|
+ const features = await getFeatures();
|
|
|
+ const domain = getDomain();
|
|
|
|
|
|
- dbg && console.log(`BetterYTM: Initializing features for domain '${domain}'`);
|
|
|
+ dbg && console.log(`BetterYTM: Initializing features for domain '${domain}'`);
|
|
|
|
|
|
- initSiteEvents();
|
|
|
+ initSiteEvents();
|
|
|
|
|
|
- try {
|
|
|
- if(domain === "ytm") {
|
|
|
- if(features.arrowKeySupport)
|
|
|
- initArrowKeySkip();
|
|
|
+ try {
|
|
|
+ if(domain === "ytm") {
|
|
|
+ if(features.arrowKeySupport)
|
|
|
+ initArrowKeySkip();
|
|
|
|
|
|
- if(features.removeUpgradeTab)
|
|
|
- removeUpgradeTab();
|
|
|
+ if(features.removeUpgradeTab)
|
|
|
+ removeUpgradeTab();
|
|
|
|
|
|
- if(features.watermarkEnabled)
|
|
|
- addWatermark();
|
|
|
+ if(features.watermarkEnabled)
|
|
|
+ addWatermark();
|
|
|
|
|
|
- if(features.geniusLyrics)
|
|
|
- addMediaCtrlGeniusBtn();
|
|
|
+ if(features.geniusLyrics)
|
|
|
+ addMediaCtrlGeniusBtn();
|
|
|
|
|
|
- if(features.queueButtons)
|
|
|
- initQueueButtons();
|
|
|
+ if(features.queueButtons)
|
|
|
+ initQueueButtons();
|
|
|
|
|
|
- if(typeof features.volumeSliderSize === "number")
|
|
|
- setVolSliderSize();
|
|
|
+ if(typeof features.volumeSliderSize === "number")
|
|
|
+ setVolSliderSize();
|
|
|
|
|
|
- setVolSliderStep();
|
|
|
- }
|
|
|
+ setVolSliderStep();
|
|
|
+ }
|
|
|
|
|
|
- if(["ytm", "yt"].includes(domain)) {
|
|
|
- if(features.switchBetweenSites)
|
|
|
- initSiteSwitch(domain);
|
|
|
+ if(["ytm", "yt"].includes(domain)) {
|
|
|
+ if(features.switchBetweenSites)
|
|
|
+ initSiteSwitch(domain);
|
|
|
|
|
|
- try {
|
|
|
- addMenu(); // TODO: remove
|
|
|
- }
|
|
|
- catch(err) {
|
|
|
- console.error("BetterYTM: Couldn't add menu:", err);
|
|
|
- }
|
|
|
+ try {
|
|
|
+ addMenu(); // TODO: remove
|
|
|
+ }
|
|
|
+ catch(err) {
|
|
|
+ console.error("BetterYTM: Couldn't add menu:", err);
|
|
|
}
|
|
|
- }
|
|
|
- catch(err) {
|
|
|
- console.error("BetterYTM: General error while executing feature:", err);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- try {
|
|
|
- initMenu();
|
|
|
- }
|
|
|
catch(err) {
|
|
|
- console.error("BetterYTM: Couldn't initialize menu:", err);
|
|
|
+ console.error("BetterYTM: General error while executing feature:", err);
|
|
|
}
|
|
|
-})();
|
|
|
+}
|
|
|
+
|
|
|
+init();
|