Bricklink Toolbar

Restore toolbar as far as possible

  1. // ==UserScript==
  2. // @name Bricklink Toolbar
  3. // @namespace http://tampermonkey.net/
  4. // @version 2.0
  5. // @description Restore toolbar as far as possible
  6. // @author Me
  7. // @license MIT
  8. // @match https://*.bricklink.com/*
  9. // @require https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js
  10. // ==/UserScript==
  11. /* global $ */
  12. 'use strict';
  13.  
  14. function handleChameleon() {
  15. $('#bl-header').css({"position": "relative", "width": $('#id-main-legacy-table').css("width"), "margin-left": $('#id-main-legacy-table').css("margin-left")});
  16. $('#js-blp-header').children().first().css({"height": "70px", "margin-top": "-15px", "margin-bottom": "-10px"});
  17. $('.blp-header__logo').css({"overflow":"hidden","width":"30px"});
  18. $('#js-blp-nav').css({"position":"absolute","left":"75px"});
  19. $('.blp .blp-nav').css("display","inline");
  20. $('#js-blp-search').insertBefore($('#js-trigger-marketplace').parent());
  21. $('#js-blp-search').css("width", "400px");
  22. var search = window.location.href.match(/(\?|&)q=([^#&]+)?/);
  23. if(search) {
  24. $('input.blp-adv-search__input').val(decodeURIComponent(search[2])); }
  25. $('#js-trigger-marketplace').html('<button class="blp-btn" id="js-trigger-marketplace" aria-current="false" data-state="closed" aria-expanded="false" aria-controls="content-marketplace" style="font-size:12px; margin-left:-30px"><img loading="lazy" src="https://static.bricklink.com/renovate/img/nav-shop-new.svg" style="margin-left:21.9865px;margin-right:22.002px;background-clip:border-box;background-color:rgba(0, 0, 0, 0);border-radius:18px;display:block;height:28px;width:28px;">Market</button>');
  26. $('#js-trigger-studio').html('<button class="blp-btn" id="js-trigger-studio" aria-current="false" data-state="closed" aria-expanded="false" aria-controls="content-studio" style="font-size:12px; margin-left:-50px"><img loading="lazy" src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj48c3ZnIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAyOCAyOCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEuNDE0MjE7Ij48ZyBpZD0iYnVpbGQiPjxjaXJjbGUgaWQ9ImNpcmNsZSIgY3g9IjE0IiBjeT0iMTQiIHI9IjE0IiBzdHlsZT0iZmlsbDojZDcwMDAwOyIvPjxwYXRoIGlkPSJicmljayIgZD0iTTIxLDEwYzAuNTUzLDAuMDAxIDEsMC40NDkgMSwxbDAsN2MwLDAuNTUyIC0wLjQ0OCwxIC0xLDFsLTE0LDBjLTAuNTUyLDAgLTEsLTAuNDQ4IC0xLC0xbDAsLTdjMCwtMC41NTEgMC40NDcsLTAuOTk5IDEsLTFsMTQsMFpNMTIsN2MwLjU1MywwLjAwMSAxLDAuNDQ5IDEsMWwwLDFsLTUsMGwwLC0xYzAsLTAuNTUxIDAuNDQ3LC0wLjk5OSAxLC0xbDMsMFpNMTksN2MwLjU1MywwLjAwMSAxLDAuNDQ5IDEsMWwwLDFsLTUsMGwwLC0xYzAsLTAuNTUxIDAuNDQ3LC0wLjk5OSAxLC0xbDMsMFoiIHN0eWxlPSJmaWxsOiNmZmY7Ii8+PC9nPjwvc3ZnPg==" style="margin-left:21.9865px;margin-right:22.002px;background-clip:border-box;background-color:rgba(0, 0, 0, 0);border-radius:18px;display:block;height:28px;width:28px;" title="">Studio</button>');
  27. $('#js-trigger-bricklink-designer-program').hide();
  28. $('#js-trigger-community').html('<button class="blp-btn" id="js-trigger-community" aria-current="false" data-state="closed" aria-expanded="false" aria-controls="content-community" style="font-size:12px; margin-left:-70px"><img loading="lazy" src="https://static.bricklink.com/renovate/img/nav-community.svg" style="margin-left:21.9865px;margin-right:22.002px;background-clip:border-box;background-color:rgba(0, 0, 0, 0);border-radius:18px;display:block;height:28px;width:28px;">Community</button>');
  29. $('.blp-nav-dropdown').css({"width": $('#id-main-legacy-table').css("width"),"margin-top": "-25px", "margin-right": "auto", "margin-left": $('#id-main-legacy-table').css("margin-left")});
  30. $('.blp-nav-dropdown__wrapper').css("margin-left","-150px");
  31. $('#js-blp-icon-nav').prepend('<a href="https://www.bricklink.com/v2/wanted/list.page"><button style="cursor:pointer; font-size:12px; margin-left:-30px"><img loading="lazy" src="https://static.bricklink.com/renovate/img/nav-heart-empty.svg" style="height:28px;width:28px;"></button></a>');
  32. $('#js-blp-icon-nav').css({"position":"absolute","left":"700px"});
  33. $('#bannerCarousel').hide();
  34. $('#chmln-dom').hide();
  35. $('#js-blp-footer').hide();
  36. }
  37.  
  38. function handlestorePopup() {
  39. $("h2.blp-nav-dropdown__column-label:contains('My Store')").wrap('<a href="https://store.bricklink.com/' + unsafeWindow._var_username + '" />');
  40. $('#js-notification-sell').text(($("span[data-store='ordersIncomplete']")).text());
  41. }
  42.  
  43. const observer = new MutationObserver(function (mutations, mutationInstance) {
  44. const chameleon = document.getElementById('chmln-dom');
  45. if (chameleon) {
  46. handleChameleon();
  47. mutationInstance.disconnect();
  48. }
  49. });
  50.  
  51. observer.observe(document, {
  52. childList: true,
  53. subtree: true
  54. });
  55.  
  56. const observer2 = new MutationObserver(function (mutations, mutationInstance) {
  57. const storePopup = ($( "span[data-store='ordersIncomplete']"))[0];
  58. if (storePopup) {
  59. handlestorePopup();
  60. mutationInstance.disconnect();
  61. }
  62. });
  63.  
  64. observer2.observe(document, {
  65. childList: true,
  66. subtree: true
  67. });
  68.  
  69.  
  70.