Max Max

Quality of life changes to Max.com

  1. // ==UserScript==
  2. // @name Max Max
  3. // @namespace ccn0
  4. // @version 4
  5. // @description Quality of life changes to Max.com
  6. // @author CCN0
  7. // @license MIT
  8. // @match *://*.max.com/*
  9. // @icon https://external-content.duckduckgo.com/ip3/www.max.com.ico
  10. // @grant none
  11. // ==/UserScript==
  12.  
  13. (function() {
  14. function maxMaxMax() {
  15. var skipbutton = document.querySelector('[data-testid="player-ux-skip-button"]');
  16. if (skipbutton) {skipbutton.click()};
  17.  
  18. function removeElements(selector) {
  19. const elements = document.querySelectorAll(selector);
  20. elements.forEach(element => {
  21. element.remove();
  22. });
  23. }
  24.  
  25. const playertextelems = document.querySelectorAll('[class^="Title-Beam-Web-Ent"],[class^="SeasonEpisode-Beam-Web-Ent"],[class^="Subtitle-Beam-Web-Ent"],[data-testid^="player-ux-scrubber-timestamp"],[data-testid^="player-ux-scrubber-position"]');
  26. playertextelems.forEach(element => {
  27. element.style.opacity = "0.5";
  28. });
  29. const backtrackbehindthewhitepart = document.querySelectorAll('[data-testid^="player-ux-scrubber-track"]');
  30. backtrackbehindthewhitepart.forEach(element => {
  31. element.style.opacity = "0.2";
  32. });
  33.  
  34. const controlsmarginelem = document.querySelectorAll('[class^="ControlsFooterBottom-Beam-Web-Ent"]');
  35. controlsmarginelem.forEach(element => {
  36. element.style.marginBottom = "-20px";
  37. element.style.marginTop = "-10px";
  38. });
  39.  
  40. if (location.href.includes('/video/watch')) {
  41. const svgbuttons = document.querySelectorAll('svg');
  42. svgbuttons.forEach(element => {
  43. element.style.opacity = "0.5";
  44. });}
  45.  
  46. const playergradients = document.querySelectorAll('[class^="TopGradient-Beam-Web-Ent"],[class^="BottomGradient-Beam-Web-Ent"],[class^="RatingsAdvisoriesContainer-Beam-Web-Ent"]');
  47. playergradients.forEach(element => {
  48. element.style.opacity = "0";
  49. });
  50.  
  51. const episodedetailselem = document.querySelectorAll('[class^="SeasonEpisodeSubtitleContainer-Beam-Web-Ent"]');
  52. episodedetailselem.forEach(element => {
  53. element.style.height = "10px";
  54. });
  55.  
  56. removeElements('[class^="ControlsFooterBottomLeft-Beam-Web-Ent"]');
  57. };
  58.  
  59. setInterval(maxMaxMax,500);
  60. })();