diff --git a/js&css/web-accessible/init.js b/js&css/web-accessible/init.js index f94dd692e..66450a7cb 100644 --- a/js&css/web-accessible/init.js +++ b/js&css/web-accessible/init.js @@ -96,6 +96,8 @@ ImprovedTube.init = function () { this.YouTubeExperiments(); this.channelCompactTheme(); + ImprovedTube.initAprilFoolsWarning(); //initialization + if (ImprovedTube.elements.player && ImprovedTube.elements.player.setPlaybackRate) { ImprovedTube.videoPageUpdate(); ImprovedTube.initPlayer(); diff --git a/js&css/web-accessible/www.youtube.com/appearance.js b/js&css/web-accessible/www.youtube.com/appearance.js index f1de8ba93..030f9f866 100644 --- a/js&css/web-accessible/www.youtube.com/appearance.js +++ b/js&css/web-accessible/www.youtube.com/appearance.js @@ -569,6 +569,44 @@ ImprovedTube.dayOfWeek = function () { }, 4321); } }; +/*------------------------------------------------------------------------------ + APRIL FOOLS WARNING MESSAGE + -------------------------------------------------------------------------------*/ + ImprovedTube.aprilFoolsWarning = function () { + let dateElement = document.querySelector("#info-strings yt-formatted-string"); + + if (dateElement) { + let uploadDate = dateElement.innerText.trim(); + + if (uploadDate.includes("April 1")) { + let titleElement = document.querySelector("#title"); + + if (titleElement && !document.querySelector("#april-fools-warning")) { + let warningMessage = document.createElement("div"); + warningMessage.id = "april-fools-warning"; + warningMessage.innerText = "⚠️ Warning: This video was uploaded on April Fools' Day!"; + warningMessage.style.color = "red"; + warningMessage.style.fontWeight = "bold"; + warningMessage.style.marginTop = "10px"; + + titleElement.appendChild(warningMessage); + } + } + } +}; + +ImprovedTube.initAprilFoolsWarning = function () { + ImprovedTube.observer = new MutationObserver(() => { + ImprovedTube.aprilFoolsWarning(); + }); + + ImprovedTube.observer.observe(document.body, { childList: true, subtree: true }); + + // Run once on page load + ImprovedTube.aprilFoolsWarning(); +}; + + /*------------------------------------------------------------------------------ HOW LONG AGO THE VIDEO WAS UPLOADED ------------------------------------------------------------------------------*/