Greasy Fork is available in English.

Alternative video page layout for Rehike

Makes Rehike use an alternate universe watch9 layout

// ==UserScript==
// @name         Alternative video page layout for Rehike
// @namespace    http://tampermonkey.net/
// @version      1.0.4
// @description  Makes Rehike use an alternate universe watch9 layout
// @author       lightbeam24
// @match        *.youtube.com/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=youtube.com
// @grant        none
// @license      MIT
// ==/UserScript==
(function() {
    'use strict';
    /* settings (can be configured by user) */
    const expStickyWatchColumns = false; // default: false
    /* end of settings */

    var canGo = false;

    function timeout(durationMs) {
        return new Promise((resolve, reject) => {
            setTimeout(function() {
                resolve();
            }, durationMs);
        });
    }
    async function waitForElement(elm) {
        while (null == document.querySelector(elm)) {
            await new Promise(r => requestAnimationFrame(r));
        }
        await timeout(50).then(function() {
            canGo = true;
            return document.querySelector(elm);
        });
    }
    everyLoadPrep();
    document.addEventListener("spfdone", everyLoadPrep);

    function everyLoadPrep() {
        if (document.querySelector("#page.watch") != null) {
            var elm = "#watch-header";
            waitForElement(elm).then(function(elm) {
                if (canGo != false) {
                    if (document.querySelector('#alt-watch9-container') == null) {
                        everyLoad();
                    }
                }
            });
        }
    }

    function everyLoad() {
        // grab "experiments"
        if (expStickyWatchColumns == true) {
            document.body.classList.add("exp-sticky-watch-columns");
        }
        // create the watch layout itself
        let container = document.querySelector('#watch-header');
        var altWatch9 = document.createElement("div");
        altWatch9.id = "alt-watch9-container";
        altWatch9.innerHTML = `
<style>
@media screen and (min-width: 1294px) and (min-height: 630px) {
.watch #watch9-slider {
  width: calc(1024px - 614px);
}
.scroller-inner {
  max-width: 214px !important;
}
}
@media screen and (min-width: 1720px) and (min-height: 980px) {
.watch #watch9-slider {
  width: calc(1280px);
}
.scroller-inner {
  max-width: 238px !important;
}
}

.watch9-expand {
  width: 100%;
  margin-top: 10px;
  border-top: 1px solid #ccc;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
}
.expand-inner {
  border: 1px solid transparent;
  background: #fff;
  width: fit-content;
  margin: 0 auto;
  margin-top: -10px;
  padding: 3px 12px;
  border-radius: 2px;
}
.expand-inner:hover {
  border: 1px solid #c6c6c6;
  border-left-color: rgb(198, 198, 198);
  background: #f0f0f0;
  box-shadow: 0 1px 0 rgba(0,0,0,0.10);
}
.expand-inner:active {
  border: 1px solid #c6c6c6;
  border-left-color: rgb(198, 198, 198);
  background: #e9e9e9;
  box-shadow: inset 0 1px 0 #ddd;
}
.expand-button {
  width: 100%;
  border-top: 1px solid var(--section-border);
  text-transform: uppercase;
  font-size: 11px;
  color: #767676;
  font-weight: 600;
  letter-spacing: -0.5px;
  cursor: pointer;
  margin-bottom: -15px;
  margin-top: 15px;
}
.expand-button:hover {
  color: #333;
}
.expand-button span {
  margin: 5px 0;
  display: block;
}
#watch9-title {
  font-size: 20px;
  margin-bottom: 15px;
}
#watch9-sidebar {
  max-width: 143px;
  min-width: 143px;
}
.exp-sticky-watch-columns .watch9-sidebar-inner {
  position: sticky;
  top: 53px;
}
.sidebar-item {
  font-size: 12px;
  padding: 7px 8px;
  color: #333;
  width: 83%;
  border-radius: 2px;
  cursor: pointer;
  border: 1px solid transparent;
  margin: 4px 0;
  height: 13px;
  display: block;
}
button.sidebar-item {
  width: 95.5%;
  display: flex;
  text-align: unset;
  height: 28px;
}
.sidebar-item:hover,
.sidebar-item:focus {
  background: #fafafa;
  border: 1px solid #ccc;
}
.sidebar-item.active {
  background: linear-gradient(to top,#b6d7f591,#e3f2ffa3);
  border: 1px solid #90ccf8;
  background: linear-gradient(to top,#f0f0f0 0,#f8f8f8 100%);
  border: 1px solid #c6c6c6;
  font-weight: 600;
  background: #f8f8f8;
  background: linear-gradient(to top,#f0f0f0 0,#f8f8f8 100%);
}
.sidebar-item:hover::before {
  margin-top: 2px;
  border-color: transparent #ccc;
  content: '';
  border-width: 8px 0 8px 8px;
  border-style: solid;
  position: absolute;
  margin-right: -132px;
  margin-left: 126px;
  margin-top: 0px;
}
.sidebar-item:hover::after {
  content: '';
  border-width: 7px 0px 7px 7px;
  border-style: solid;
  border-color: transparent #fafafa;
  position: absolute;
  margin-right: -137.5px;
  margin-left: 126px;
  margin-top: 1px;
}
.sidebar-item.active::before {
  margin-top: 2px;
  border-color: transparent #90ccf8;
  border-color: transparent #c6c6c6;
}
.sidebar-item.active::before {
  content: '';
  border-width: 8px 0 8px 8px;
  border-style: solid;
  position: absolute;
  margin-right: -132px;
  margin-left: 126px;
  margin-top: 0px;
}
.sidebar-item.active::after {
  margin-top: 2px;
}
.sidebar-item.active::after {
  content: '';
  border-width: 7px 0px 7px 7px;
  border-style: solid;
  border-color: transparent #e1effc;
  border-color: transparent #f4f4f4;
  border-color: transparent #f8f8f8;
  border-color: transparent #f4f4f4;
  position: absolute;
  margin-right: -137.5px;
  margin-left: 126px;
  margin-top: 1px;
}
.sidebar-item-inner {
  display: inline;
  position: absolute;
}
#watch9-slider {
  width: calc(854px - 440px);
  border-left: 1px solid #e8e8e8;
  border-right: 1px solid #e8e8e8;
  margin-right: 15px;
  padding: 0 15px;
  overflow: clip;
}
[show-owner="false"] #watch9-slider {
  width: calc(854px - 420px);
}
.slider-container {
  overflow: clip;
}
.slider-container-inner {
  display: flex;
  transition-duration: 0.3s;
  transform: translateX(0);
}
.slider {
  min-width: 100%;
  margin-right: 0px;
  padding-right: 0px;
}
.slider-inner {
  min-width: 100%;
  margin-right: 0px;
  padding-right: 0px;
}
.toggle-button {
  color: rgb(96,96,96);
  font-size: 11px;
  font-weight: 600;
  padding: 6px 4px;
  padding: 3px 4px;
  cursor: pointer;
}
.toggle-button-inner {
  align-items: center;
}
.toggle-button-icon {
  opacity: 0.6;
  display: block;
  width: 21px;
  height: 21px;
  margin-right: 4px;
}
.watch9:not([scroller-visible="true"]) #watch9-slider:not([state="description"]) #watch9-description {
  max-height: 156px;
}
.watch9:not([scroller-visible="false"]) #watch9-slider:not([state="description"]) #watch9-description {
  max-height: 336px;
}
#watch9-description,
#watch9-description-snippet {
  font-size: 13px;
  line-height: 14px;
  color: #222;
}
#watch9-description-snippet {
  margin-top: 70px;
  margin-top: 44px;
  margin-top: 15px;
}
#watch9-description-snippet .desc-snippet {
  max-height: 58px;
  overflow: hidden;
}
.watch9-category {
  font-size: 11px;
  color: #333;
  margin-top: 14px;
}
.watch9-category .cat-inner {
  font-weight: 600;
  margin-right: 24px;
}
.watch9-header-text {
  font-size: 13px;
  line-height: 14px;
  color: #333;
  font-weight: 600;
}
.author-link {
  color: #333;
}
.slider:hover .author-link {
  color: #167ac6;
  cursor: pointer;
}
.watch9-upload-date .author-link:hover {
  text-decoration: underline;
}
.owner-pfp,
.owner-pfp img {
  width: 48px;
  height: 48px;
  background-size: 48px 48px !important;
  margin-right: 6px;
  cursor: pointer;
}
#watch9-owner {
  width: 250px;
}
.exp-sticky-watch-columns #watch9-owner .owner-inner {
  position: sticky;
  top: 49px;
}
#watch9-sentiment-actions {
  /*position: absolute;*/
  right: 0;
  left: 0;
  margin: 5px 0;
  flex-direction: row-reverse;
  border-bottom: 1px solid #e8e8e8;
}
#watch9-views-info {
  min-width: 160px;
  margin-left: auto;
}
.watch-view-count {
  line-height: 24px;
  max-height: 24px;
  text-align: right;
  font-size: 19px;
  color: #666;
  white-space: nowrap;
  margin-bottom: 2px;
  width: fit-content;
  margin-left: auto;
}
.video-extras-sparkbars {
  height: 2px;
  overflow: hidden;
  min-width: 160px;
  width: fit-content;
}
.video-extras-sparkbar-likes {
  float: left;
  height: 2px;
  background: #167ac6;
}
.video-extras-sparkbar-dislikes {
  float: left;
  height: 2px;
  background: #ccc;
}
.owner-videos-scroller {
  margin-top: 6px;
}
.owner-videos-scroller button {
  margin-right: 8px;
}
[scroller-visible="false"] .scroller-inner {
  display: none;
}
.scroller-inner {
  margin-top: 6px;
  overflow-y: scroll;
  border: 1px solid #ccc;
  padding: 5px;
  max-height: 250px;
}
.super-compact-video {
  cursor: pointer;
  display: block;
}
.super-compact-video:not(:last-of-type) {
  margin-bottom: 6px;
}
.super-compact-video .thumbnail {
  height: 45px;
  width: 80px;
}
.super-compact-video .thumbnail img {
  height: 45px;
  width: 80px;
}
.super-compact-video .meta {
  margin-left: 4px;
  color: #333;
  font-size: 10px;
  color: #767676;
}
.super-compact-video .view-count {
  display: none;
}
.super-compact-video .title {
  color: #126acc;
  font-weight: 600;
  font-size: 11px;
}
.super-compact-video .title:hover {
  text-decoration: underline;
}

[show-owner="false"] #watch9-owner {
  display: none;
}
[show-owner="true"] #creator.sidebar-item {
  display: none;
}
[show-owner="true"] #watch9-owner-slider {
  display: none;
}
[state="video-info"] .slider-container-inner {
  transform: translateX(0%);
}
[state="description"] .slider-container-inner {
  transform: translateX(-100%);
}
[state="add-to"] .slider-container-inner {
  transform: translateX(-200%);
}
[state="share"] .slider-container-inner {
  transform: translateX(-300%);
}
[state="more-actions"] .slider-container-inner {
  transform: translateX(-400%);
}
[show-owner="false"] [state="creator"] .slider-container-inner {
  transform: translateX(0%);
}
[show-owner="false"] [state="video-info"] .slider-container-inner {
  transform: translateX(-100%);
}
[show-owner="false"] [state="description"] .slider-container-inner {
  transform: translateX(-200%);
}
[show-owner="false"] [state="add-to"] .slider-container-inner {
  transform: translateX(-300%);
}
[show-owner="false"] [state="share"] .slider-container-inner {
  transform: translateX(-400%);
}
[show-owner="false"] [state="more-actions"] .slider-container-inner {
  transform: translateX(-500%);
}
.flex {
  display: flex;
}
.none {
  display: none;
}



#watch7-headline, .owner-pfp, .owner-name-and-sub, #watch8-action-buttons, #action-panel-details, #watch-action-panels {
  display: none;
}
#alt-watch9-container {
  padding-bottom: 12px;
}
#watch-header .yt-user-info a {
  white-space: nowrap;
  max-width: 159px;
  overflow: clip;
  text-overflow: ellipsis;
}
#action-panel-share {
  margin-left: 2px;
  max-width: 330px;
  position: absolute;
}
</style>
<div class="section">
	<div class="section-inner">
		<div id="watch9-title">
			<span>Me at the zoo</span>
		</div>
		<div class="section-items watch9" scroller-visible="false" show-owner="true">
			<div class="section-items-inner flex">
				<div id="watch9-sidebar">
					<div class="watch9-sidebar-inner">
                        <div class="sidebar-item" id="creator">
							<div class="sidebar-item-inner">
								<span>Creator</span>
							</div>
						</div>
						<div class="sidebar-item active" id="video-info">
							<div class="sidebar-item-inner">
								<span>Video info</span>
							</div>
						</div>
						<div class="sidebar-item" id="description">
							<div class="sidebar-item-inner">
								<span>Description</span>
							</div>
						</div>
						<div class="sidebar-item" id="add-to">
							<div class="sidebar-item-inner">
								<span>Add to playlist</span>
							</div>
						</div>
						<div class="sidebar-item" id="share">
							<div class="sidebar-item-inner">
								<span>Share this video</span>
							</div>
						</div>
						<div class="sidebar-item" id="more-actions">
							<div class="sidebar-item-inner">
								<span>More actions</span>
							</div>
						</div>
					</div>
				</div>
				<div id="watch9-slider" state="video-info">
					<div class="slider-container">
						<div class="slider-container-inner">
                            <div id="watch9-owner-slider" class="slider">
								<div class="slider-inner">
								</div>
							</div>
							<div id="watch9-stats" class="slider">
								<div class="slider-inner">
									<div id="watch9-sentiment-actions" class="flex">
										<div id="watch9-views-info">
											<div class="watch-view-count">
												???,??? views
											</div>
											<div class="video-extras-sparkbars yt-uix-tooltip">
												<div class="video-extras-sparkbar-likes" style="width: 98.0012039305%">
												</div>
												<div class="video-extras-sparkbar-dislikes" style="width: 1.99879606949%">
												</div>
											</div>
										</div>
										<div id="ltod">
										</div>
									</div>
									<div id="watch9-description-snippet">
										<div class="desc-snippet">
											<div class="watch9-upload-date watch9-header-text">
                                                <span id="first-part">
												    <span>Uploaded by </span>
												    <a class="author-link spf-link">????</a>
												    <span>on </span>
                                                </span>
                                                <span id="second-part">
                                                    <span class="upload-date">??? ??, ????</span>
                                                </span>
                                                <span id="third-part">
                                                    <span>by </span>
												    <a class="author-link spf-link">????</a>
                                                </span>
											</div>
											<div class="description-inner">
											</div>
										</div>
									</div>
									<div class="watch9-expand">
										<div class="expand-inner">
											<span>Show more</span>
										</div>
									</div>
									<div class="watch9-category">
									</div>
								</div>
							</div>
							<div id="watch9-description" class="slider">
								<div class="slider-inner">
									<div class="watch9-header-text">
										<span>Description</span>
									</div>
									<div class="description-inner">
									</div>
									<div class="watch9-expand">
										<div class="expand-inner">
											<span>Show less</span>
										</div>
									</div>
								</div>
							</div>
							<div id="watch9-addto" class="slider">
								<div class="slider-inner">
									<div class="watch9-header-text">
										<span>Add to playlist</span>
									</div>
								</div>
							</div>
							<div id="watch9-share" class="slider">
								<div class="slider-inner">
									<!--div class="watch9-header-text">
										<span>Share this video</span>
									</div-->
								</div>
							</div>
							<div id="watch9-more-actions" class="slider">
								<div class="slider-inner">
									<div class="watch9-header-text">
                                        <span>This feature is unavailable.</span>
                                    </div>
								</div>
							</div>
						</div>
					</div>
				</div>
				<div id="watch9-owner">
					<div class="owner-inner">
						<div class="owner-videos-scroller">
							<button class="yt-uix-button yt-uix-button-size-default yt-uix-button-default yt-uix-tooltip">
								<span>Videos</span>
								<span class="yt-uix-button-arrow yt-sprite"></span>
							</button>
                            <a class="yt-uix-tooltip spf-link" data-tooltip-text="See user's videos">
								<span>See all</span>
							</a>
							<div class="scroller-inner">
							</div>
						</div>
					</div>
				</div>
			</div>
		</div>
	</div>
</div>
`;
        container.insertBefore(altWatch9, container.children[0]);
        var elm = ".watch-time-text";
        waitForElement(elm).then(function(elm) {
            if (canGo != false) {
                applyMetadata();
            }
        });

        function applyMetadata() {
            if (document.querySelector("#eow-title") != null) {
                var videoTitle = document.querySelector("#eow-title").textContent;
                document.querySelector("#watch9-title span").textContent = videoTitle;
            }
            if (document.querySelector(".watch-time-text") != null) {
                var uploadDateRaw = document.querySelector(".watch-time-text").textContent;
                let notNeedNewString = uploadDateRaw.includes("Published");
                if (notNeedNewString == true) {
                    var cutString = uploadDateRaw.split('on ');
                    var uploadDate = cutString[1];
                    document.querySelector("#first-part").style.display = "inline";
                    document.querySelector("#third-part").style.display = "none";
                } else {
                    var uploadDate = uploadDateRaw;
                    document.querySelector("#first-part").style.display = "none";
                    document.querySelector("#third-part").style.display = "inline";
                }
                document.querySelector(".watch9-upload-date .upload-date").textContent = uploadDate;
            }
            if (document.querySelector("#eow-description") != null) {
                var descHTML = document.querySelector("#eow-description").innerHTML;
                document.querySelector(".desc-snippet .description-inner").innerHTML = descHTML;
                document.querySelector("#watch9-description .description-inner").innerHTML = descHTML;
            }
            if (document.querySelector(".yt-user-info") != null) {
                var authorElem = document.querySelector(".yt-user-info a");
                var authorName = authorElem.textContent;
                var authorLink = document.querySelector(".yt-user-photo").getAttribute("href");
                var authorPfp = document.querySelector(".yt-user-photo img").getAttribute("data-thumb");
                document.querySelector(".author-link").textContent = authorName;
                document.querySelector(".author-link").setAttribute("href", authorLink);
                document.querySelector("#third-part .author-link").textContent = authorName;
                document.querySelector("#third-part .author-link").setAttribute("href", authorLink);
                document.querySelector(".owner-videos-scroller a").setAttribute("href", authorLink + "/videos");
                document.querySelector(".owner-videos-scroller a").setAttribute("data-tooltip-text", "View " + authorName + "'s videos");
                authorElem.classList.add("yt-uix-tooltip");
                authorElem.setAttribute("data-tooltip-text", "View " + authorName + "'s channel");
            }
            if (document.querySelector("#watch8-action-buttons") != null) {
                var viewCount = document.querySelector("#watch8-action-buttons .watch-view-count").textContent;
                document.querySelector("#watch9-views-info .watch-view-count").textContent = viewCount;
                var videoLikes = document.querySelector("#watch8-action-buttons .video-extras-sparkbar-likes").getAttribute("style");
                var videoDislikes = document.querySelector("#watch8-action-buttons .video-extras-sparkbar-dislikes").getAttribute("style");
                document.querySelector("#watch9-stats .video-extras-sparkbar-likes").setAttribute("style", videoLikes);
                document.querySelector("#watch9-stats .video-extras-sparkbar-dislikes").setAttribute("style", videoDislikes);
                var ltodBar = document.querySelector("#watch9-stats .video-extras-sparkbars");
                var likesPercent = ltodBar.querySelector("#watch9-stats .video-extras-sparkbar-likes").style.width;
                ltodBar.setAttribute("data-tooltip-text", likesPercent + " of viewers like this video");
                ltodBar.style.display = "block";
                ltodBar.style.padding = "5px 0";
                ltodBar.style.marginBottom = "-5px";
                document.querySelector(".watch-view-count").style.marginBottom = "-3px";
            }
            var theAddToBtn = document.querySelector("[data-menu-content-id='yt-uix-videoactionmenu-menu']");
            var newHome = document.querySelector('#watch9-addto');
            newHome.appendChild(theAddToBtn);
            var theOwner = document.querySelector("#watch7-user-header");
            var newHome2 = document.querySelector('#watch9-owner .owner-inner');
            newHome2.insertBefore(theOwner, newHome2.children[0]);
            var theExtras = document.querySelector("#watch-description-extras");
            var newHome3 = document.querySelector('.watch9-category');
            newHome3.insertBefore(theExtras, newHome3.children[0]);
            var theLtod = document.querySelector(".like-button-renderer");
            var newHome4 = document.querySelector('#ltod');
            newHome4.insertBefore(theLtod, newHome4.children[0]);
            var theSharePanel = document.querySelector("#action-panel-share");
            var newHome5 = document.querySelector('#watch9-share .slider-inner');
            newHome5.insertBefore(theSharePanel, newHome5.children[1]);
            if (document.querySelector("#watch9-owner .owner-inner") != null) {
                var ownerHTML = document.querySelector("#watch9-owner .owner-inner").innerHTML;
                document.querySelector("#watch9-owner-slider .slider-inner").innerHTML = ownerHTML;
            }
            var creator = document.querySelector("#creator.sidebar-item");
            var videoInfo = document.querySelector("#video-info.sidebar-item");
            var description = document.querySelector("#description.sidebar-item");
            var addTo = document.querySelector("#add-to.sidebar-item");
            var share = document.querySelector("#share.sidebar-item");
            var moreActions = document.querySelector("#more-actions.sidebar-item");
            var showMore = document.querySelector("#watch9-stats .watch9-expand");
            var showLess = document.querySelector("#watch9-description .watch9-expand");
            var addToBtn = document.querySelector(".addto-button");
            var showScroller = document.querySelector(".owner-videos-scroller button");
            var showScroller2 = document.querySelector("#watch9-owner .owner-videos-scroller button");
            creator.addEventListener("click", function() {
                creatorClicked();
            });
            videoInfo.addEventListener("click", function() {
                vidInfoClicked();
            });
            description.addEventListener("click", function() {
                descClicked();
            });
            showMore.addEventListener("click", function() {
                descClicked();
            });
            showLess.addEventListener("click", function() {
                vidInfoClicked();
            });

            function creatorClicked() {
                document.querySelector("#watch9-slider").setAttribute("state", "creator");
                document.querySelector(".sidebar-item.active").classList.remove("active");
                document.querySelector("#creator.sidebar-item").classList.add("active");
                setTimeout(checkIfShowOwner, 10);
            }

            function vidInfoClicked() {
                document.querySelector("#watch9-slider").setAttribute("state", "video-info");
                document.querySelector(".sidebar-item.active").classList.remove("active");
                document.querySelector("#video-info.sidebar-item").classList.add("active");
                setTimeout(checkIfShowOwner, 10);
            }

            function descClicked() {
                document.querySelector("#watch9-slider").setAttribute("state", "description");
                document.querySelector(".sidebar-item.active").classList.remove("active");
                document.querySelector("#description.sidebar-item").classList.add("active");
                setTimeout(checkIfShowOwner, 10);
            }
            addTo.addEventListener("click", function() {
                document.querySelector("#watch9-slider").setAttribute("state", "add-to");
                document.querySelector(".sidebar-item.active").classList.remove("active");
                document.querySelector("#add-to.sidebar-item").classList.add("active");
                setTimeout(checkIfShowOwner, 10);
            });
            share.addEventListener("click", function() {
                document.querySelector("#watch9-slider").setAttribute("state", "share");
                document.querySelector(".sidebar-item.active").classList.remove("active");
                document.querySelector("#share.sidebar-item").classList.add("active");
                if (document.querySelector("#watch9-share #action-panel-share.hid") != null) {
                    document.querySelector("#watch8-secondary-actions .action-panel-trigger-share").click();
                }
                setTimeout(checkIfShowOwner, 10);
            });
            moreActions.addEventListener("click", function() {
                document.querySelector("#watch9-slider").setAttribute("state", "more-actions");
                document.querySelector(".sidebar-item.active").classList.remove("active");
                document.querySelector("#more-actions.sidebar-item").classList.add("active");
                setTimeout(checkIfShowOwner, 10);
            });
            showScroller.addEventListener("click", function() {
                if (document.querySelector(".watch9[scroller-visible='false']") != null) {
                    document.querySelector(".watch9").setAttribute("scroller-visible", "true");
                } else {
                    document.querySelector(".watch9").setAttribute("scroller-visible", "false");
                }
            });
            showScroller2.addEventListener("click", function() {
                if (document.querySelector(".watch9[scroller-visible='false']") != null) {
                    document.querySelector(".watch9").setAttribute("scroller-visible", "true");
                } else {
                    document.querySelector(".watch9").setAttribute("scroller-visible", "false");
                }
            });
            setTimeout(checkIfShowOwner, 200);
            window.addEventListener("resize", checkIfShowOwner);

            function checkIfShowOwner() {
                setTimeout(check, 200);

                function check() {
                    var playerHeight = document.querySelector("video").style.height;
                    //console.log(playerHeight);
                    if (playerHeight == "360px") {
                        document.querySelector(".section-items.watch9").setAttribute("show-owner", "false");
                    } else {
                        document.querySelector(".section-items.watch9").setAttribute("show-owner", "true");
                        if (document.querySelector("#creator.sidebar-item.active") != null) {
                            vidInfoClicked();
                        }
                    }
                }
            }
            requestData();

            function requestData() {
                const location = window.location;
                var vidLink = location.href;
                var cutString1 = vidLink.split('v=');
                var vidLink2 = cutString1[1];
                if (vidLink2.includes('&')) {
                    var cutString2 = vidLink2.split('&');
                    var vidId = cutString2[0];
                } else {
                    var vidId = vidLink2;
                }
                //console.log(vidId);
                setTimeout(doData, 1);

                function doData() {
                    fetch("https://www.youtube.com/youtubei/v1/next?key=AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8", {
                        "headers": {
                            "accept": "application/json, text/plain, /",
                            "accept-language": "en-US,en;q=0.9",
                            "Content-type": "application/json",
                            "sec-ch-ua-mobile": "?0",
                            "sec-fetch-dest": "empty",
                            "sec-fetch-mode": "cors",
                            "sec-fetch-site": "same-origin",
                            "x-goog-authuser": "0",
                            "x-origin": "https://www.youtube.com/"
                        },
                        "referrer": "https://www.youtube.com/",
                        "referrerPolicy": "strict-origin-when-cross-origin",
                        "body": JSON.stringify({
                            "context": {
                                "client": {
                                    "clientName": "WEB",
                                    "clientVersion": "2.20230301.00.00",
                                    "hl": "en",
                                    "gl": "US"
                                }
                            },
                            "videoId": vidId
                        }),
                        "method": "POST",
                        "mode": "cors",
                        "credentials": "include"
                    }).then(response => response.json()).then(data => {
                        var dataFromAPI = data;
                        //console.log(dataFromAPI);
                        doChannelDataPrep();

                        function doChannelDataPrep() {
                            if (dataFromAPI.contents.twoColumnWatchNextResults.results.results.contents[0].videoPrimaryInfoRenderer != null) {
                                var channelUrl = dataFromAPI.contents.twoColumnWatchNextResults.results.results.contents[1].videoSecondaryInfoRenderer.owner.videoOwnerRenderer.navigationEndpoint.browseEndpoint.browseId;
                            } else if (dataFromAPI.contents.twoColumnWatchNextResults.results.results.contents[1].videoPrimaryInfoRenderer != null) {
                                var channelUrl = dataFromAPI.contents.twoColumnWatchNextResults.results.results.contents[2].videoSecondaryInfoRenderer.owner.videoOwnerRenderer.navigationEndpoint.browseEndpoint.browseId;
                            }
                            setTimeout(doChannelData, 1);

                            function doChannelData() {
                                fetch("https://www.youtube.com/youtubei/v1/browse?key=AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8", {
                                    "headers": {
                                        "accept": "application/json, text/plain, /",
                                        "accept-language": "en-US,en;q=0.9",
                                        "Content-type": "application/json",
                                        "sec-ch-ua-mobile": "?0",
                                        "sec-fetch-dest": "empty",
                                        "sec-fetch-mode": "cors",
                                        "sec-fetch-site": "same-origin",
                                        "x-goog-authuser": "0",
                                        "x-origin": "https://www.youtube.com/"
                                    },
                                    "referrer": "https://www.youtube.com/",
                                    "referrerPolicy": "strict-origin-when-cross-origin",
                                    "body": JSON.stringify({
                                        "context": {
                                            "client": {
                                                "clientName": "WEB",
                                                "clientVersion": "2.20230301.00.00",
                                                "hl": "en",
                                                "gl": "US"
                                            }
                                        },
                                        "browseId": channelUrl,
                                        "params": "EgZ2aWRlb3PyBgQKAjoA"
                                    }),
                                    "method": "POST",
                                    "mode": "cors",
                                    "credentials": "include"
                                }).then(response => response.json()).then(data => {
                                    var dataFromAPI2 = data;
                                    //console.log(dataFromAPI2);
                                    if (dataFromAPI2.header != null) {
                                        if (dataFromAPI2.header.c4TabbedHeaderRenderer.videosCountText != null) {
                                            var videoCount = dataFromAPI2.header.c4TabbedHeaderRenderer.videosCountText.runs[0].text;
                                            //console.log(videoCount);
                                            if (dataFromAPI2.header.c4TabbedHeaderRenderer.videosCountText.runs[1] != null) {
                                                var videoCountString = dataFromAPI2.header.c4TabbedHeaderRenderer.videosCountText.runs[1].text;
                                                document.querySelector(".owner-videos-scroller button span").textContent = videoCount + videoCountString;
                                                document.querySelector("#watch9-owner .owner-videos-scroller button span").textContent = videoCount + videoCountString;
                                            } else {
                                                document.querySelector(".owner-videos-scroller button span").textContent = videoCount;
                                                document.querySelector("#watch9-owner .owner-videos-scroller button span").textContent = videoCount;
                                            }
                                            if (document.querySelector(".owner-videos-scroller button[disabled]") != null) {
                                                document.querySelector(".owner-videos-scroller button").removeAttribute("disabled");
                                                document.querySelector("#watch9-owner .owner-videos-scroller button").removeAttribute("disabled");
                                            }
                                        } else {
                                            document.querySelector(".owner-videos-scroller button span").textContent = "No videos";
                                            document.querySelector(".owner-videos-scroller button").setAttribute("disabled", "");
                                            document.querySelector("#watch9-owner .owner-videos-scroller button span").textContent = "No videos";
                                            document.querySelector("#watch9-owner .owner-videos-scroller button").setAttribute("disabled", "");
                                        }
                                        var newChannelLink = dataFromAPI2.header.c4TabbedHeaderRenderer.channelId;
                                        if (dataFromAPI2.contents.twoColumnBrowseResultsRenderer.tabs[1] != null) {
                                            if (dataFromAPI2.contents.twoColumnBrowseResultsRenderer.tabs[1].tabRenderer.content != null) {
                                                var richGrid = dataFromAPI2.contents.twoColumnBrowseResultsRenderer.tabs[1].tabRenderer.content.richGridRenderer;
                                                var richItemNo = 0;
                                                richGridGet();

                                                function richGridGet() {
                                                    if (richGrid.contents[richItemNo].richItemRenderer != null) {
                                                        var richItem = richGrid.contents[richItemNo].richItemRenderer.content.videoRenderer;
                                                        var itemTitle = richItem.title.runs[0].text;
                                                        var itemThumbnail = richItem.thumbnail.thumbnails[0].url;
                                                        var itemLink = richItem.videoId;
                                                        let container = document.querySelector('.scroller-inner');
                                                        var newElem = document.createElement("a");
                                                        newElem.classList.add("super-compact-video");
                                                        newElem.classList.add("spf-link");
                                                        newElem.innerHTML = `
														<div class="super-compact-video-inner flex">
															<div class="thumbnail">
																<img src=""></img>
															</div>
															<div class="meta">
																<div class="title">
																	<span></span>
																</div>
																<div class="view-count">
																	<span>???,??? views</span>
																</div>
															</div>
														</div>
														`;
                                                        container.insertBefore(newElem, container.children[richItemNo]);
                                                        let container2 = document.querySelector('#watch9-owner .scroller-inner');
                                                        var newElem2 = document.createElement("a");
                                                        newElem2.classList.add("super-compact-video");
                                                        newElem2.classList.add("spf-link");
                                                        newElem2.innerHTML = `
														<div class="super-compact-video-inner flex">
															<div class="thumbnail">
																<img src=""></img>
															</div>
															<div class="meta">
																<div class="title">
																	<span></span>
																</div>
																<div class="view-count">
																	<span>???,??? views</span>
																</div>
															</div>
														</div>
														`;
                                                        container2.insertBefore(newElem2, container2.children[richItemNo]);
                                                        var w9o = document.querySelector("#watch9-owner");
                                                        var w9os = document.querySelector("#watch9-owner-slider");
                                                        var theSCVid = w9o.querySelectorAll(".super-compact-video")[richItemNo];
                                                        theSCVid.querySelector(".title span").textContent = itemTitle;
                                                        theSCVid.querySelector("img").src = itemThumbnail;
                                                        theSCVid.setAttribute("href", "/watch?v=" + itemLink);
                                                        theSCVid = w9os.querySelectorAll(".super-compact-video")[richItemNo];
                                                        theSCVid.querySelector(".title span").textContent = itemTitle;
                                                        theSCVid.querySelector("img").src = itemThumbnail;
                                                        theSCVid.setAttribute("href", "/watch?v=" + itemLink);
                                                        richItemNo++;
                                                        richGridGet();
                                                    } else {
                                                        console.log("All available rich items gotten.");
                                                    }
                                                }
                                            } else {
                                                document.querySelector(".owner-videos-scroller button span").textContent = "No videos";
                                                document.querySelector(".owner-videos-scroller button").setAttribute("disabled", "");
                                                document.querySelector("#watch9-owner .owner-videos-scroller button span").textContent = "No videos";
                                                document.querySelector("#watch9-owner .owner-videos-scroller button").setAttribute("disabled", "");
                                            }
                                        } else {
                                            document.querySelector(".owner-videos-scroller button span").textContent = "No videos";
                                            document.querySelector(".owner-videos-scroller button").setAttribute("disabled", "");
                                            document.querySelector("#watch9-owner .owner-videos-scroller button span").textContent = "No videos";
                                            document.querySelector("#watch9-owner .owner-videos-scroller button").setAttribute("disabled", "");
                                        }
                                    } else {
                                        document.querySelector(".owner-videos-scroller button span").textContent = "No videos";
                                        document.querySelector(".owner-videos-scroller button").setAttribute("disabled", "");
                                        document.querySelector("#watch9-owner .owner-videos-scroller button span").textContent = "No videos";
                                        document.querySelector("#watch9-owner .owner-videos-scroller button").setAttribute("disabled", "");
                                    }
                                });
                            }
                        }
                    });
                }
            }
        }
    }
})();