// ==UserScript== // @name Bandcamp: Stick Track List & Description to Player // @namespace myfonj // @version 0.0.1 // @description Moves album variations and merchandise down so playlist or track description appears right below player. // @license CC0 - Public Domain // @grant GM_addStyle // @run-at document-start // @match *://*.bandcamp.com/* // @include /^(?:https?://(?!([^.]+\.)*?bandcamp.com/)[^/]+/.*)$/ // @downloadURL https://update.greasyfork.icu/scripts/407595/Bandcamp%3A%20Stick%20Track%20List%20%20Description%20to%20Player.user.js // @updateURL https://update.greasyfork.icu/scripts/407595/Bandcamp%3A%20Stick%20Track%20List%20%20Description%20to%20Player.meta.js // ==/UserScript== (function() { let css = ` /* Bandcamp: Stick Track List to Player Originally at https://userstyles.org/styles/123397/ Document rules means - "anything on bandcamp.com domain and subdomains" (first) - "anything on other domains and subdomains served via http or https" (second). Second is necessary for custom bandcamp domains. Is unnecessarily complicated, will be removed in next version. It is for good categorisation. */ /* move merchandising down, so playlist or track description moves up below player */ #centerWrapper #pgBd #trackInfoInner { display: flex; flex-direction: column; } #centerWrapper #pgBd #trackInfoInner > .tralbumCommands { order: 1; } /* move upcoming shows down, so discography moves up below band info */ #centerWrapper #pgBd #rightColumn { display: flex; flex-direction: column; } #centerWrapper #pgBd #rightColumn > #showography { order: 1; } /* make modals less modal */ /* * OFF for now / .ui-widget-overlay { display: none; } .ui-dialog.ui-widget.ui-widget-content.ui-corner-all.nu-dialog.no-title { position: fixed !important; top: 0 !important; right: 0 !important; bottom: auto !important; left: auto !important; } /* */ `; if (typeof GM_addStyle !== "undefined") { GM_addStyle(css); } else { const styleNode = document.createElement("style"); styleNode.appendChild(document.createTextNode(css)); (document.querySelector("head") || document.documentElement).appendChild(styleNode); } })();