// ==UserScript==
// @name HDrezka Cleanup
// @name:en HDrezka Cleanup
// @namespace http://tampermonkey.net/
// @version 0.26
// @description Cleanup HDrezka: change content width, change player size, remove blocks (telegram, social, support, vk, etc), restyle blocks (cover, status, rating, etc)
// @description:en Cleanup HDrezka: change content width, change player size, remove blocks (telegram, social, support, vk, etc), restyle blocks (cover, status, rating, etc)
// @author rub4ek
// @match https://hdrezka.me/*
// @match https://hdrezka.ag/*
// @match https://rezka.ag/*
// @match https://rezkify.com/*
// @match https://kinopub.me/*
// @match http://hdrezka.co/*
// @icon https://www.google.com/s2/favicons?domain=rezka.ag
// @grant GM_addStyle
// @run-at document-start
// @license MIT
// ==/UserScript==
(function() {
'use strict';
const arrowImageURL = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAABaCAYAAAA4qEECAAAABmJLR0QA/wD/AP+gvaeTAAABa0lEQVR4nO3awUrDQBSF4dMuGhc+uF0puK/v4KL4RPoARbLUxTRQi5nMJDPJvcn/gRsp5NyfWgSVAAAAAAAAAAAAAAAAAACYXSPpKOlL0qekp+v3UNBB0rukn7uvD0kPC+5alb7IxC5oKDKxC0iNTOwJciMTe4SxkYmdoZF0VjzkOfE1/OrXI+Wd3L1bc16LG2PCETvTlGDETlQiFLEHlAxE7B41whD7Ts0gxL6aI8TmY88ZYLOxlzh8c7GXPHgzsS0camFDVZYOtLSlKIuHWdw0ieWDLG/L4uEQDxujPB3gaesfHoe72+xu8A03290MjTB/g/mBGczeYnbYBOZuSv2XAI9/7jd126uVIZWkxH6pPWIv6TsywHvkzlDsi6RdzQF7SW3Pw9cSuROL3Sq0qOrtnwevLXKnL/Zpjoc/KsRuFX6EnrXOyJ1G4TP5onDzSaHBbKp+Rhm00/ZuBgAAAAAAAAAAAAAAAODKL8SQFSF3JeZKAAAAAElFTkSuQmCC"
function addStyle () {
GM_addStyle(`
/* Remove extra right padding for content page */
.b-content__columns {
padding-right: 0;
}
/* Remove extra right padding on main content listing */
.b-content__inline_inner_mainprobar {
padding-right: 0;
}
.b-content__inline_inner_mainprobar .b-content__inline_item {
margin-left: 16px !important;
}
/* Style status */
.b-post__status_wrapper {
width: auto;
margin: 0px 10px 0px 13px;
}
/* Style player */
.b-player {
padding-top: 0;
}
.b-player #cdnplayer-preloader {
height: 100%;
width: 100%;
}
.b-player .b-simple_seasons__list {
padding: 10px;
}
.b-player .b-player__holder_cdn {
height: auto !important;
}
.b-player .b-player__container_cdn {
resize: vertical;
overflow: auto;
width: 100% !important;
}
/* Style and resize rating block */
.b-post__rating_table > tbody > tr > td.label{
display: none !important;
}
.b-post__rating_table > tbody > tr > td div.b-post__rating {
float:right;
margin-right: 10px;
}
/* Hide telegram info block */
.tg__info_block_wrapper {
display: none !important;
}
/* Hide last episode info */
.b-post__lastepisodeout {
display: none !important;
}
/* Hide support block */
.b-post__support_holder {
display: none !important;
}
/* Hide social block */
.b-post__social_holder_wrapper .append {
display: none !important;
}
.b-post__social_holder_wrapper .share-label {
display: none !important;
}
/* Hide mixedtext */
.b-post__mixedtext {
text-indent: -9999px;
padding: 0;
}
/* Hide VK */
#vk_groups {
display: none !important;
}
/* Hide some ads containers */
.b-content__main > .b-post__mixedtext + div[style],
.b-content__main > .b-post__rating_table + div[style],
.b-content__main > div > .b-player > .b-player__network_issues_holder + div[style],
.b-content__main > div > .b-player > a[target='_blank'],
.b-content__main + div,
.b-wrapper .nopadd,
.b-seriesupdate__block_list > .b-seriesupdate__block_list_item[data-url=''] {
display: none !important;
}
/* Style content page */
.b-post .b-sidetitle {
background: #cfcfcf;
//color: #efefef;
font-size: 16px;
font-weight: bold;
line-height: 18px;
overflow: hidden;
padding: 10px 18px;
text-overflow: ellipsis;
white-space: nowrap;
}
.b-post .b-sidetitle a {
//color: #efefef;
}
.b-theme__template__night .b-post .b-sidetitle {
background: #192125;
}
.b-post .b-post__schedule .b-sidetitle {
display: none;
}
.b-post .b-post__partcontent {
margin-top: 0;
}
.b-post .b-post__actions .btn {
border: 0;
border-radius: 0;
}
`);
console.log(`HDrezka Cleanup: styles changed`);
}
function resizePlayer() {
const playerHolderElem = document.querySelector(".b-player__holder_cdn");
const playerContainerElem = document.querySelector(".b-player__container_cdn");
const contentMainElem = document.querySelector(".b-content__main");
if (playerHolderElem !== null && playerContainerElem !== null && contentMainElem !== null) {
const initialWidth = playerHolderElem.offsetWidth;
const initialHeight = playerHolderElem.offsetHeight;
let resizedWidth = contentMainElem.offsetWidth;
let windowHeight = window.innerHeight;
if (initialHeight > 0 && initialWidth !== resizedWidth) {
let ratio = initialWidth / initialHeight;
let resizedHeight = resizedWidth / ratio;
if (resizedHeight > windowHeight) {
resizedHeight = windowHeight;
resizedWidth = windowHeight * ratio;
}
playerHolderElem.style.width = resizedWidth + "px";
playerContainerElem.style.height = resizedHeight + "px";
console.log(
`HDrezka Cleanup: player resized ` +
`from ${initialWidth}x${initialHeight} ` +
`to ${resizedWidth}x${resizedHeight}.`
)
}
}
}
function initContentSizeTumbler() {
GM_addStyle(`
/* Content Size Tumbler */
.hdrezka-cleanup-content-size-tumbler-wrapper {
margin-top: 5px;
margin-left: 10px;
width: 38px;
height: 30px;
background-color: #000;
border: #1d92b2;
border-radius: 30px;
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 6px;
cursor: pointer;
display: flex;
position: relative;
}
.hdrezka-cleanup-content-size-tumbler-wrapper:before {
background-size: 15px 15px;
background-repeat: no-repeat;
left: 6px;
}
.hdrezka-cleanup-content-size-tumbler-wrapper:after {
background-size: 15px 15px;
background-repeat: no-repeat;
right: 6px;
}
.hdrezka-cleanup-content-size-tumbler-wrapper:before,
.hdrezka-cleanup-content-size-tumbler-wrapper:after {
content: "";
display: block;
top: 50%;
margin-top: -7px;
height: 15px;
width: 15px;
position: absolute;
}
.hdrezka-cleanup-content-size-tumbler-wrapper:before {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFsAAABbCAYAAAAcNvmZAAAABmJLR0QA/wD/AP+gvaeTAAAEyElEQVR4nO2czUscZxzHv79nRqPZvOyua4tQwUIpBG0ECe1/0CLVQw89xtwaPLV4agrVXT30BSotlEBy1EMPQhuaUiGn5lhapGY1gb5oQLBNV2dT8CXo7Dw5uIanuhN3dp95npnd53Paednf/PjygZl9nn0GMBgMBoPBcAzS3UBQFhcXXyCiC5zzB/39/f/q7icITHcDQcjn80NE1irAfiKyVvL5/Nu6ewpCrMIGaBrA6fJGgnP2hc5ughKrsDnHK0f2vKqnk9qIVdg4fo+J1T0nbmHHGhO2QkzYCjFhK8SErRATtkJM2AoxYSvEhK0QE7ZCTNgKMWErxD78UHw02e/Z1LWzk7jb3T22q7OpRmB1NduWTNive5a70dGRvQ+UzXY2cte5hd+I8/lE+9afTmFqSG+r8cYpTA2dP8v+4sy7S5wtO5uTNwCANjcne4ljqcJ3Zpjd8kEyea2ouFdf7t1b4kf3XbzYF5lh1sePP0l57v6XAEaOHWTea4w8etnnuyOeu7/sFHLDoXbYIDiF3LDn7i+jUtAAULJ6bMCj54zBd4Ho++LG1JzVao2eO/fRZljNxhXH+fQ8+N7n4Hjv+Wd6VNXTCAd/t7TnLhc3cu/IaLBRcJzcILy9pZODPsA++ZQDOPAiQN8aywWbvepCPiTwc3azWx7UZpGqzRZpRstrtVmkrl+QzWJ5PTaL1GS2SCNbLsNmEWljI41muSybReo2W6QRLC8Ws0nusc9k2SwSyqhfXC13nNwgL7G8TJtFpJotEifLw7RZJPTx7KhbHrbNIqGZLRJFy1XZLKJ0piYqlqu0WUSJ2SI6Lddhs4i2OUjVluuyWUS52SKHljsbU7PMtt8PY1boYPbE/Qoevyy7dlAiMrvOL5fcvTtra9PtMquur2dPl9y9O4D+oIHIhA0Q6NKZ9u1BmTVPnaJBAl2SWbMeIhN2MxCZsAn4ZWs3MS+z5s7O2R85+K8ya9ZDRMKmWbJb3pL956Du7rFdy259E6BZmXVrRevTCAGPAD6ayox/F9Y1yk84I46T+wYe3QTwUljXOgltZhNozmq1e1OZidCCFkmnJ+bBWvtAuKniepVQbrYKm/1Ipz/8D8BVx8nd0mG5UrNV2+yHLsuVmK3TZj90WB662VGx2Q+VlodmdhRt9kOV5aGYHXWb/Qjbcqlmx8lmP8K0XJrZcbXZjzAsl2H2PwQaTWU+viWhVqSQbXldZhNozm61+xoxaBFZltdqdsPa7IcMywOb3Sw2+1GP5UHMbjqb/ajV8qrMbnab/QhquQ0wDhxbXnjI3+D8aqpz/La8FhuLZ5YXcj+A6AaArspnMs44K6341JlhdktvunPCBF0F6c6J28xu6QUwU+k4Z6UVVl5XfV3Yvw5Ow+nM+JUore6NA8nktWI6M34FnIYBrAuHvu7oyN5/ttq0WMz2wLV6tp4kfo7qiwKivpxaZG1tuv1M2/YbsEsPU6nsQyBmr9eMU9iViMjsenNgwlaICVshJmyFmLAVYsJWiAlbISZshZiwFWLCVogJWyEmbIXELeyjA1G+sx5RJG5h//H/TfpdTxu1EauwifgYgO3y5jZAYzr7CUpsxoIPWVhY6LTttguu++TBwMBAQXc/BoPBYDAYDPHhKftNM5gIJizIAAAAAElFTkSuQmCC");
}
.hdrezka-cleanup-content-size-tumbler-wrapper:after {
background-image: url("data:image/png;base64,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");
}
.hdrezka-cleanup-content-size-tumbler-wrapper .hdrezka-cleanup-content-size-tumbler {
position: absolute;
height: 20px;
width: 20px;
border-radius: 50%;
background-color: #fff;
transition: transform .5s,background-color .5s;
will-change: transform;
z-index: 2;
}
.hdrezka-cleanup-content-size-full .hdrezka-cleanup-content-size-tumbler-wrapper .hdrezka-cleanup-content-size-tumbler {
transform: translateX(calc(100% - 2px));
}
/* Content Size Tumbler (size changes) */
.hdrezka-cleanup-content-size-wide .b-wrapper {
width: 1150px;
}
.hdrezka-cleanup-content-size-ultrawide .b-wrapper {
width: 1340px;
}
.hdrezka-cleanup-content-size-full .b-wrapper {
width: auto;
margin: 0 30px;
}
.hdrezka-cleanup-content-size-full .glory {
width: auto;
}
.hdrezka-cleanup-content-size-full .b-newest_slider {
width: auto;
padding: 20px 35px 0;
}
.hdrezka-cleanup-content-size-full .b-newest_slider .b-newest_slider__list {
margin-left: 0 !important;
}
.hdrezka-cleanup-content-size-full .b-newest_slider .cntrl {
display: none;
}
/* Content Size Tumbler (night theme) */
.b-theme__template__night .hdrezka-cleanup-content-size-tumbler-wrapper {
background: #222d33;
}
`);
resolveContentSize();
document.addEventListener("DOMContentLoaded", initContentSize);
function initContentSize() {
const topHeadLeftElem = document.querySelector(".b-tophead-left");
if (topHeadLeftElem !== null) {
const tumblerElem = document.createElement("div");
tumblerElem.classList.add("hdrezka-cleanup-content-size-tumbler");
const tumblerWrapperElem = document.createElement("div");
tumblerWrapperElem.classList.add("hdrezka-cleanup-content-size-tumbler-wrapper");
tumblerWrapperElem.appendChild(tumblerElem);
tumblerWrapperElem.addEventListener("click", switchContentSize);
const tumblerContainerElem = document.createElement("div");
tumblerContainerElem.classList.add("pull-left");
tumblerContainerElem.appendChild(tumblerWrapperElem);
topHeadLeftElem.appendChild(tumblerContainerElem);
resolveContentSize();
}
}
function getContentSize() {
return localStorage.getItem("hdrezka-cleanup-content-size");
}
function setContentSize(value) {
return localStorage.setItem("hdrezka-cleanup-content-size", value);
}
function switchContentSize() {
let size = getContentSize()
switch (size) {
case "full":
size = "normal";
break;
case "normal":
size = "wide";
break;
case "wide":
size = "ultrawide";
break;
default:
size = "full";
break;
}
setContentSize(size);
resolveContentSize();
}
function resolveContentSize() {
const bodyElem = document.querySelector("body");
if (bodyElem) {
bodyElem.classList.remove("hdrezka-cleanup-content-size-wide")
bodyElem.classList.remove("hdrezka-cleanup-content-size-ultrawide")
bodyElem.classList.remove("hdrezka-cleanup-content-size-full")
window.removeEventListener("resize", resizePlayer);
switch(getContentSize()) {
case "wide":
bodyElem.classList.add("hdrezka-cleanup-content-size-wide")
break;
case "ultrawide":
bodyElem.classList.add("hdrezka-cleanup-content-size-ultrawide")
break;
case "full":
bodyElem.classList.add("hdrezka-cleanup-content-size-full")
window.addEventListener("resize", resizePlayer);
break;
}
resizePlayer();
}
}
}
function initHideInfoButton() {
GM_addStyle(`
/* Content hide info (button) */
.hdrezka-cleanup-hide-info-button {
content: "";
width: 25px;
height: 25px;
margin-right: 5px;
background-size: 25px 25px;
background-repeat: no-repeat;
background-image: url(${arrowImageURL});
cursor: pointer;
}
.hdrezka-cleanup-hide-info .hdrezka-cleanup-hide-info-button {
transform: rotate(180deg);
}
/* Content hide info (hidden styles) */
.hdrezka-cleanup-hide-info .b-post__infotable,
.hdrezka-cleanup-hide-info .b-post__description {
display: none !important;
}
/* Content hide info (night theme) */
.b-theme__template__night .hdrezka-cleanup-hide-info-button {
filter: invert(100%) sepia(95%) saturate(21%) hue-rotate(280deg) brightness(106%) contrast(106%);
}
`);
resolveHideInfo();
document.addEventListener("DOMContentLoaded", addHideInfoButton);
document.addEventListener("DOMContentLoaded", addPlayerCover);
function addHideInfoButton() {
const postTitleElem = document.querySelector(".b-post__title");
if (postTitleElem !== null) {
const buttonElem = document.createElement("div");
buttonElem.classList.add("pull-right");
buttonElem.classList.add("hdrezka-cleanup-hide-info-button");
buttonElem.addEventListener("click", switchHideInfo);
postTitleElem.insertBefore(buttonElem, postTitleElem.firstChild);
resolveHideInfo();
}
}
function addPlayerCover() {
const coverElem = document.querySelector(".b-sidecover");
if (coverElem !== null) {
const imgURL = coverElem.querySelector("img").src;
GM_addStyle(`
#oframecdnplayer video[style*="position: absolute"] {
background-image: linear-gradient(to left, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 30%, rgba(0,0,0,.8) 50%, rgba(0,0,0,1) 70%, rgba(0,0,0,1) 100%), url("${imgURL}");
background-size: auto 100%;
background-position: center;
background-repeat: no-repeat;
}
`);
}
}
function resolveHideInfo() {
const bodyElem = document.querySelector("body");
if (bodyElem) {
if (isHideInfoEnabled()) {
document.querySelector("body").classList.add("hdrezka-cleanup-hide-info");
} else {
document.querySelector("body").classList.remove("hdrezka-cleanup-hide-info");
}
}
}
function isHideInfoEnabled() {
return localStorage.getItem("hdrezka-cleanup-hide-info") == "true";
}
function switchHideInfo() {
localStorage.setItem("hdrezka-cleanup-hide-info", !isHideInfoEnabled());
resolveHideInfo();
}
}
function initHideTranslatorsButton() {
GM_addStyle(`
/* Content hide translators */
.b-translator__item.active {
cursor: pointer;
}
.hdrezka-cleanup-toggle-translators-button {
content: "";
float: left;
width: 20px;
height: 20px;
margin-right: 3px;
margin-top: 8px;
margin-left: 5px;
background-size: 20px 20px;
background-repeat: no-repeat;
background-image: url(${arrowImageURL});
filter: invert(100%) sepia(95%) saturate(21%) hue-rotate(280deg) brightness(106%) contrast(106%);
transform: rotate(90deg);
cursor: pointer;
}
.hdrezka-cleanup-show-translators .hdrezka-cleanup-toggle-translators-button {
transform: rotate(-90deg);
}
.b-translator__item:not(.active):not(.hdrezka-cleanup-toggle-translators-button) {
display: none;
}
.b-translators__title {
display: none;
}
.hdrezka-cleanup-show-translators .b-translator__item:not(.active):not(.hdrezka-cleanup-toggle-translators-button) {
display: block;
}
.hdrezka-cleanup-show-translators .b-translators__title {
display: block;
}
`);
document.addEventListener("DOMContentLoaded", addToggleTranslatorsButton);
function addToggleTranslatorsButton() {
const translatorsElem = document.querySelector(".b-translators__block");
if (translatorsElem) {
const translatorsListElem = translatorsElem.querySelector(".b-translators__list");
if (translatorsListElem) {
const buttonElem = document.createElement("li");
buttonElem.classList.add("hdrezka-cleanup-toggle-translators-button");
buttonElem.addEventListener("click", toggleTranslators);
translatorsListElem.appendChild(buttonElem);
const activeButtonElems = translatorsListElem.querySelectorAll(".b-translator__item")
activeButtonElems.forEach(activeButtonElem => {
activeButtonElem.addEventListener("click", function() {
if (this.classList.contains("active")) {
toggleTranslators()
}
});
});
}
}
}
function toggleTranslators() {
document.querySelector(".b-translators__block").classList.toggle("hdrezka-cleanup-show-translators");
}
}
function onDocumentStart() {
addStyle();
initContentSizeTumbler();
initHideInfoButton();
initHideTranslatorsButton();
}
function onDocumentEnd() {}
document.addEventListener("DOMContentLoaded", onDocumentEnd);
onDocumentStart();
})();