From 12c31725fe6ac466ad8350a2d4c109ca81e6f3da Mon Sep 17 00:00:00 2001 From: Araxeus <78568641+Araxeus@users.noreply.github.com> Date: Mon, 25 Oct 2021 22:45:11 +0300 Subject: [PATCH] fixes scrollbar position relative to navbar depending on player-page-open --- plugins/in-app-menu/front.js | 16 ++++++++++++++++ plugins/in-app-menu/style.css | 4 ++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/plugins/in-app-menu/front.js b/plugins/in-app-menu/front.js index 49e56b2b..c731b1a0 100644 --- a/plugins/in-app-menu/front.js +++ b/plugins/in-app-menu/front.js @@ -1,6 +1,7 @@ const { remote, ipcRenderer } = require("electron"); const customTitlebar = require("custom-electron-titlebar"); +function $(selector) { return document.querySelector(selector); } module.exports = () => { const bar = new customTitlebar.Titlebar({ @@ -13,4 +14,19 @@ module.exports = () => { ipcRenderer.on("updateMenu", function (_event, showMenu) { bar.updateMenu(showMenu ? remote.Menu.getApplicationMenu() : null); }); + + // Increases the right margin of Navbar background when the scrollbar is visible to avoid blocking it (z-index doesn't affect it) + document.addEventListener('apiLoaded', () => { + setNavbarMargin() + const playPageObserver = new MutationObserver(() => { + setNavbarMargin(); + }); + playPageObserver.observe($('ytmusic-app-layout'), { attributeFilter: ['player-page-open_', 'playerPageOpen_'] }) + }) }; + +function setNavbarMargin() { + $('ytmusic-app-layout').playerPageOpen_ ? + $('#nav-bar-background').style.right = '0px' : + $('#nav-bar-background').style.right = '12px'; +} diff --git a/plugins/in-app-menu/style.css b/plugins/in-app-menu/style.css index a90c2098..090a94ef 100644 --- a/plugins/in-app-menu/style.css +++ b/plugins/in-app-menu/style.css @@ -4,10 +4,10 @@ font-size: 14px !important; } -/* fixes scrollbar positioning relative to nav bar + its opacity */ +/* fixes nav-bar-background opacity bug and allows clicking scrollbar through it */ #nav-bar-background { - right: 15px !important; opacity: 1 !important; + pointer-events: none; } /* remove window dragging for nav bar (conflict with titlebar drag) */