YouTube Player Layout Modifier

Move the top of the progress bar to the bottom of the YouTube player and keep buttons at the top

Dovrai installare un'estensione come Tampermonkey, Greasemonkey o Violentmonkey per installare questo script.

You will need to install an extension such as Tampermonkey to install this script.

Dovrai installare un'estensione come Tampermonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Userscripts per installare questo script.

Dovrai installare un'estensione come ad esempio Tampermonkey per installare questo script.

Dovrai installare un gestore di script utente per installare questo script.

(Ho già un gestore di script utente, lasciamelo installare!)

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

(Ho già un gestore di stile utente, lasciamelo installare!)

// ==UserScript==
// @name         YouTube Player Layout Modifier
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Move the top of the progress bar to the bottom of the YouTube player and keep buttons at the top
// @author       Your Name
// @match        https://www.youtube.com/*
// @grant        GM_addStyle
// ==/UserScript==

(function() {
    'use strict';

    // Function to rearrange player elements
    function rearrangePlayerElements() {
        const player = document.querySelector('.html5-video-player');
        const progressBar = document.querySelector('.ytp-progress-bar-container');
        const controls = document.querySelector('.ytp-chrome-bottom');

        if (player && progressBar && controls) {
            // Move controls (buttons) to the top of the player
            player.insertBefore(controls, player.firstChild);
            // Move progress bar to the bottom of the player
            player.appendChild(progressBar);
        }
    }

    // Mutation observer to rearrange elements when player is loaded or changed
    const observer = new MutationObserver(rearrangePlayerElements);
    
    // Observe changes in the body, specifically to the video player
    observer.observe(document.body, {
        childList: true,
        subtree: true
    });

    // Call the function initially to rearrange elements if the player is already present
    rearrangePlayerElements();
})();