PixelBoii

Untitled

Nov 9th, 2019
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.97 KB | None | 0 0
  1. // Cookie Settings
  2. document.cookie = 'same-site-cookie=foo; SameSite=Lax';
  3. document.cookie = 'cross-site-cookie=bar; SameSite=None; Secure';
  4.  
  5. chrome.storage.sync.get(
  6. function(options) {
  7. let boxNumber;
  8. let chatOpen;
  9. let designLoaded = false;
  10. var time = 1;
  11. let amountOfTrades;
  12. let totalValue = [];
  13. let totalPendingTradesValue = 0.00;
  14. let totalPendingTradesSteamValue = 0.00;
  15. var pendingTradesValueIcon;
  16. var pendingTradesValueSpan;
  17.  
  18. let tradingBar = document.getElementsByClassName('trades-sidebar');
  19. let tradingBox = document.getElementsByClassName('trade');
  20. let pageLayout = document.getElementsByClassName('page-layout');
  21.  
  22. var interval = setInterval(function() {
  23. if (time <= 5) {
  24. if (document.getElementsByClassName('trades-sidebar__head')[0].textContent.trim().replace(/[^0-9]/g, '') !== 0) {
  25. if (designLoaded == false) {
  26. amountOfTrades = document.getElementsByClassName('trades-sidebar__head')[0].textContent.trim().replace(/[^0-9]/g, '');
  27.  
  28. if (options.hideChat == true) {
  29. chatOpen = document.getElementsByClassName('chat--open')[0];
  30. chatLayoutOpen = document.getElementsByClassName('site-layout--chat-open')[0];
  31.  
  32. chatOpen.classList.remove('chat--open');
  33. chatLayoutOpen.classList.remove('site-layout--chat-open');
  34.  
  35. designLoaded = true;
  36. }
  37.  
  38. if (options.wideTrades > 10) {
  39. amountOfTrades = document.getElementsByClassName('trades-sidebar__head')[0].textContent.trim().replace(/[^0-9]/g, '');
  40.  
  41. tradingBar[0].style.cssText = 'width: ' + options.wideTrades + '%;';
  42. pageLayout[0].style.cssText = 'padding-right: ' + options.wideTrades + '%;';
  43.  
  44. boxNumber = 0;
  45. while (boxNumber < amountOfTrades) {
  46. if (options.wideTrades > 25) {
  47. tradingBox[boxNumber].style.cssText = 'width: 50%; float: left;';
  48. } else {
  49. tradingBox[boxNumber].style.cssText = 'width: 100%; float: left;';
  50. }
  51.  
  52. boxNumber += 1;
  53. }
  54.  
  55. designLoaded = true;
  56. }
  57.  
  58. if (options.enableFullscreen == true) {
  59. if (options.wideTrades == 10) {
  60. tradingBar[0].style.cssText = 'width: 15%;';
  61. pageLayout[0].style.cssText = 'padding-right: 15%;';
  62. }
  63.  
  64. // Skapa knappen
  65. var btnFullscreen = document.createElement("BUTTON");
  66. btnFullscreen.textContent = "Fullscreen";
  67. btnFullscreen.onclick = function(){fullscreen()};
  68. btnFullscreen.style.cssText = 'background-color: #24252f; color: #e9b10b; padding: 1em; margin-left: 1.875rem; border-radius: 3px; font-size: .8125rem; font-weight: 700; border: 1px solid #e9b10b; width: 12.5rem; height: 2.9rem;';
  69. document.getElementsByClassName('trades-sidebar__head')[0].appendChild(btnFullscreen);
  70.  
  71. function fullscreen() {
  72. amountOfTrades = document.getElementsByClassName('trades-sidebar__head')[0].textContent.trim().replace(/[^0-9]/g, '');
  73. boxNumber = 0;
  74. while (boxNumber < amountOfTrades) {
  75. tradingBox[boxNumber].style.cssText = 'width: 12.5%; float: left;';
  76. tradingBox[boxNumber].getElementsByClassName('item')[0].style.cssText = 'height: 8.5rem;';
  77. console.log(amountOfTrades);
  78.  
  79. totalValue.push(tradingBox[boxNumber].getElementsByClassName('item')[0].getElementsByClassName('items-center')[0].getElementsByClassName('flex-1')[0].getElementsByClassName('text-light-grey-1')[0].textContent.trim().replace(',', '.'));
  80.  
  81. for (i = 0; i < 5; i++) {
  82. secondaryButton = document.getElementsByClassName('button-secondary')[i];
  83.  
  84. if (secondaryButton.classList.contains('button-secondary--gold')) {
  85. if (i === 0 || i === 1) {
  86. foundPriceSource = options.priceSource + 'csgo';
  87. }
  88.  
  89. if (i === 2) {
  90. foundPriceSource = options.priceSource + 'dota2';
  91. }
  92.  
  93. if (i === 3) {
  94. foundPriceSource = options.priceSource + 'rust';
  95. }
  96.  
  97. if (i === 4) {
  98. foundPriceSource = options.priceSource + 'h1z1';
  99. }
  100. }
  101. }
  102.  
  103. chrome.runtime.sendMessage(
  104. {priceSource: 'getPendingMarketNames', id: boxNumber},
  105. marketName => {
  106. chrome.runtime.sendMessage(
  107. {priceSource: foundPriceSource, itemURL: marketName},
  108. price => {
  109. totalPendingTradesSteamValue += price.value;
  110. });
  111. });
  112.  
  113. boxNumber = boxNumber + 1;
  114. }
  115.  
  116. // Create Div
  117. var totalPendingTradesSteamValueIcon = document.createElement('div');
  118. totalPendingTradesSteamValueIcon.innerHTML = '<div style="background: url(https://upload.wikimedia.org/wikipedia/commons/thumb/8/83/Steam_icon_logo.svg/512px-Steam_icon_logo.png) 50%/100% auto no-repeat; height: 1rem; width: 1rem; margin-left: 0.7rem; margin-right: 0.35rem;"></div>'
  119. document.getElementsByClassName('trades-sidebar__head')[0].getElementsByClassName('h-40')[0].appendChild(totalPendingTradesSteamValueIcon);
  120.  
  121. // Create Span
  122. var totalPendingTradesSteamValueSpan = document.createElement('span');
  123. totalPendingTradesSteamValueSpan.style.cssText = 'margin-left: 3rem; margin-right: 0.5rem;';
  124. totalPendingTradesSteamValueSpan.textContent = totalPendingTradesSteamValue;
  125. totalPendingTradesSteamValueSpan.style.cssText = 'font-size: .8125rem; color: silver; font-weight: 700;';
  126. document.getElementsByClassName('trades-sidebar__head')[0].getElementsByClassName('h-40')[0].appendChild(totalPendingTradesSteamValueSpan);
  127.  
  128. btnFullscreen.textContent = "Close Fullscreen";
  129. btnFullscreen.onclick = function(){closeFullscreen()};
  130. tradingBar[0].style.cssText = 'width: 100%;';
  131.  
  132. boxNumber = 0;
  133. totalPendingTradesValue = 0.00;
  134. for (elt in totalValue) {
  135. totalPendingTradesValue += parseFloat(totalValue[boxNumber]);
  136. boxNumber += 1;
  137. }
  138.  
  139. totalPendingTradesValue = parseFloat((totalPendingTradesValue).toFixed(2));
  140.  
  141. // Skapa Ikon
  142. pendingTradesValueIcon = document.createElement("DIV");
  143. pendingTradesValueIcon.classList = 'coinstack w-16 h-16 mr-2';
  144. pendingTradesValueIcon.style.cssText = 'margin-left: 3rem; margin-right: 0.5rem;';
  145. pendingTradesValueIcon.id = 'pendingTradesValueIconId';
  146. document.getElementsByClassName('trades-sidebar__head')[0].getElementsByClassName('h-40')[0].appendChild(pendingTradesValueIcon);
  147.  
  148. // Skapa Span
  149. pendingTradesValueSpan = document.createElement("SPAN");
  150. pendingTradesValueSpan.textContent = 'Total Pending Trades Value: ' + totalPendingTradesValue;
  151. pendingTradesValueSpan.id = 'pendingTradesValueSpanId';
  152. document.getElementsByClassName('trades-sidebar__head')[0].getElementsByClassName('h-40')[0].appendChild(pendingTradesValueSpan);
  153. }
  154.  
  155. function closeFullscreen() {
  156. btnFullscreen.onclick = function(){fullscreen()};
  157.  
  158. boxNumber = 0;
  159. totalPendingTradesValue = 0.00;
  160. while (boxNumber < amountOfTrades) {
  161. tradingBox[boxNumber].getElementsByClassName('item')[0].style.cssText = '';
  162. boxNumber = boxNumber + 1;
  163. }
  164.  
  165. document.getElementById('pendingTradesValueIconId').remove();
  166. document.getElementById('pendingTradesValueSpanId').remove();
  167. btnFullscreen.textContent = "Fullscreen";
  168. if (options.wideTrades == 10) {
  169. tradingBar[0].style.cssText = 'width: 15%;';
  170. pageLayout[0].style.cssText = 'padding-right: 15%;';
  171. } else {
  172. tradingBar[0].style.cssText = 'width: ' + options.wideTrades + '%;';
  173. pageLayout[0].style.cssText = 'padding-right: ' + options.wideTrades + '%;';
  174. }
  175.  
  176.  
  177. boxNumber = 0;
  178. while (boxNumber < amountOfTrades) {
  179. if (options.wideTrades > 25) {
  180. tradingBox[boxNumber].style.cssText = 'width: 50%; float: left;';
  181. } else {
  182. tradingBox[boxNumber].style.cssText = 'width: 100%; float: left;';
  183. }
  184.  
  185. boxNumber += 1;
  186. }
  187. }
  188. designLoaded = true;
  189. }
  190. }
  191. }
  192.  
  193. time++;
  194. }
  195. else {
  196. clearInterval(interval);
  197. }
  198. }, 2500);
  199. });
Advertisement
Add Comment
Please, Sign In to add comment