Sleazy Fork is available in English.

Anix.to windowed fullscreen and theater mode

Add buttons for windowed fullscreen and theater mode

// ==UserScript==
// @name        Anix.to windowed fullscreen and theater mode
// @namespace   https://github.com/irasnalida
// @match       https://anix.to/anime/*
// @match       https://anixtv.to/anime/*
// @icon        https://www.google.com/s2/favicons?domain=anix.to&sz=128
// @grant       none
// @version     2.4
// @author      irasnalida
// @description Add buttons for windowed fullscreen and theater mode
// @run-at      document-end
// @license     MIT
// ==/UserScript==

document.querySelector(".skiptime.dropdown").style.order = "1";
let isMode = 0; //0: default, 1: expand, 2: theater
const expandStyle=`
body{overflow: hidden;}
#player > iframe {position: fixed;top: 0px;left: 0px;bottom: 0px;right: 0px;overflow: hidden;backdrop-filter: brightness(0);}
.sidebar,.wrapper > header,.btn-schedule-floating.schedule-toggler,.light.ani-player-control,.ani-season, #ani-episode, .alert-dismissible.alert-primary.alert{display: none !important;}
#ani-player-controls{width: 100%;height: fit-content;position: fixed;padding-block: 5px;top: 0px;left: 0px;opacity: 0;backdrop-filter: blur(22px) brightness(20%) contrast(80%) saturate(250%);transition: opacity 0.22s;}
#ani-player-controls:hover{opacity: 1;}
`;
const theaterStyle=`
.sidebar{display: none !important;}
#ani-player-section{scroll-margin-top: 15px;}
`;
const styleElement = document.createElement('style');
document.head.appendChild(styleElement);

//event listener for key press
//key event does not work properly due to the iframe player
document.addEventListener("keyup", function(event) {
  if(event.target === document.querySelector('input')){
     return;
  }
  if (event.key === "`" || event.key === "Alt") {
    switchMode(2);
  }
  else if (event.key.toLowerCase() === "t"){
    switchMode(3);
  }
  else{}
});
//add new expand button in control list
let playerControlLeft = document.querySelector('.ani-player-control-left');
const expandBtn = document.createElement('div');
expandBtn.className = 'ani-player-control';
expandBtn.innerHTML = "<i class=\"mdi mdi-arrow-expand-all\"></i> <span>Expand</span>";
playerControlLeft.appendChild(expandBtn);
expandBtn.addEventListener('click', function(){
  switchMode(2);
});

//add new theater button in control list
const theaterBtn = document.createElement('div');
theaterBtn.className = 'ani-player-control';
theaterBtn.innerHTML = "<i class=\"mdi mdi-arrow-expand-horizontal\"></i> <span>Theater</span>";
playerControlLeft.appendChild(theaterBtn);
theaterBtn.addEventListener('click', function(){
  switchMode(3);
});
let player = document.getElementById('ani-player-section');

function switchMode(toMode){
  if(isMode === toMode){
    styleElement.innerHTML = ``;
    isMode = 0;
  }
  else{
    if(toMode === 2){
      styleElement.innerHTML = expandStyle;
      isMode = 2;
    }
    else if(toMode === 3){
      styleElement.innerHTML = theaterStyle;
      player.scrollIntoView({behavior:'auto'});
      isMode = 3;
    }
  }
}