|
@@ -133,10 +133,14 @@ async function onDomLoad() {
|
|
|
|
|
|
try {
|
|
|
if(domain === "ytm") {
|
|
|
+ //#region (ytm) misc
|
|
|
+
|
|
|
disableDarkReader();
|
|
|
|
|
|
ftInit.push(initSiteEvents());
|
|
|
|
|
|
+ //#region (ytm) welcome dlg
|
|
|
+
|
|
|
if(typeof await GM.getValue("bytm-installed") !== "string") {
|
|
|
// open welcome menu with language selector
|
|
|
const dlg = await getWelcomeDialog();
|
|
@@ -146,48 +150,62 @@ async function onDomLoad() {
|
|
|
await dlg.open();
|
|
|
}
|
|
|
|
|
|
- addSelectorListener("body", "tp-yt-iron-dropdown #contentWrapper ytd-multi-page-menu-renderer #container.menu-container", {
|
|
|
- listener: addConfigMenuOptionYTM,
|
|
|
- });
|
|
|
+ //#region (ytm) layout
|
|
|
|
|
|
- if(features.arrowKeySupport)
|
|
|
- ftInit.push(initArrowKeySkip());
|
|
|
+ if(features.watermarkEnabled)
|
|
|
+ ftInit.push(addWatermark());
|
|
|
+
|
|
|
+ if(features.fixSpacing)
|
|
|
+ ftInit.push(fixSpacing());
|
|
|
+
|
|
|
+ if(features.scrollToActiveSongBtn)
|
|
|
+ ftInit.push(addScrollToActiveBtn());
|
|
|
|
|
|
if(features.removeUpgradeTab)
|
|
|
ftInit.push(removeUpgradeTab());
|
|
|
|
|
|
- if(features.watermarkEnabled)
|
|
|
- ftInit.push(addWatermark());
|
|
|
+ ftInit.push(initThumbnailOverlay());
|
|
|
|
|
|
- if(features.geniusLyrics)
|
|
|
- ftInit.push(addMediaCtrlLyricsBtn());
|
|
|
+ if(features.hideCursorOnIdle)
|
|
|
+ ftInit.push(initHideCursorOnIdle());
|
|
|
|
|
|
- if(features.deleteFromQueueButton || features.lyricsQueueButton)
|
|
|
+ //#region (ytm) volume
|
|
|
+
|
|
|
+ ftInit.push(initVolumeFeatures());
|
|
|
+
|
|
|
+ //#region (ytm) song lists
|
|
|
+
|
|
|
+ if(features.lyricsQueueButton || features.deleteFromQueueButton)
|
|
|
ftInit.push(initQueueButtons());
|
|
|
|
|
|
- if(features.anchorImprovements)
|
|
|
- ftInit.push(addAnchorImprovements());
|
|
|
+ //#region (ytm) behavior
|
|
|
|
|
|
if(features.closeToastsTimeout > 0)
|
|
|
ftInit.push(initAutoCloseToasts());
|
|
|
|
|
|
- if(features.numKeysSkipToTime)
|
|
|
- ftInit.push(initNumKeysSkip());
|
|
|
+ //#region (ytm) input
|
|
|
|
|
|
- if(features.fixSpacing)
|
|
|
- ftInit.push(fixSpacing());
|
|
|
+ if(features.arrowKeySupport)
|
|
|
+ ftInit.push(initArrowKeySkip());
|
|
|
|
|
|
- if(features.scrollToActiveSongBtn)
|
|
|
- ftInit.push(addScrollToActiveBtn());
|
|
|
+ if(features.anchorImprovements)
|
|
|
+ ftInit.push(addAnchorImprovements());
|
|
|
|
|
|
- ftInit.push(initThumbnailOverlay());
|
|
|
+ if(features.numKeysSkipToTime)
|
|
|
+ ftInit.push(initNumKeysSkip());
|
|
|
|
|
|
- if(features.hideCursorOnIdle)
|
|
|
- ftInit.push(initHideCursorOnIdle());
|
|
|
+ //#region (ytm) lyrics
|
|
|
|
|
|
- ftInit.push(initVolumeFeatures());
|
|
|
+ if(features.geniusLyrics)
|
|
|
+ ftInit.push(addMediaCtrlLyricsBtn());
|
|
|
}
|
|
|
|
|
|
+ //#region (ytm+yt) cfg menu option
|
|
|
+ if(domain === "ytm") {
|
|
|
+ addSelectorListener("body", "tp-yt-iron-dropdown #contentWrapper ytd-multi-page-menu-renderer #container.menu-container", {
|
|
|
+ listener: addConfigMenuOptionYTM,
|
|
|
+ });
|
|
|
+ }
|
|
|
if(domain === "yt") {
|
|
|
addSelectorListener<0, "yt">("ytGuide", "#sections ytd-guide-section-renderer:nth-child(5) #items ytd-guide-entry-renderer:nth-child(1)", {
|
|
|
listener: (el) => el.parentElement && addConfigMenuOptionYT(el.parentElement),
|
|
@@ -195,12 +213,16 @@ async function onDomLoad() {
|
|
|
}
|
|
|
|
|
|
if(["ytm", "yt"].includes(domain)) {
|
|
|
- if(features.switchBetweenSites)
|
|
|
- ftInit.push(initSiteSwitch(domain));
|
|
|
+ //#region (ytm+yt) layout
|
|
|
|
|
|
if(features.removeShareTrackingParamSites && (features.removeShareTrackingParamSites === domain || features.removeShareTrackingParamSites === "all"))
|
|
|
ftInit.push(initRemShareTrackParam());
|
|
|
|
|
|
+ //#region (ytm+yt) input
|
|
|
+
|
|
|
+ if(features.switchBetweenSites)
|
|
|
+ ftInit.push(initSiteSwitch(domain));
|
|
|
+
|
|
|
// TODO: for hot reloading features
|
|
|
// ftInit.push(new Promise((resolve) => {
|
|
|
// for(const [k, v] of Object.entries(featInfo)) {
|