HelloBank enhancements

Miglioramenti a banking.hellobank.it

  1. // ==UserScript==
  2. // @name HelloBank enhancements
  3. // @namespace camelsoft
  4. // @description Miglioramenti a banking.hellobank.it
  5. // @include https://banking.hellobank.it/it/home*
  6. // @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAwFBMVEUAlbgAgqsRg6gAiKsAi64CjrEAk7UQkbUAmLsAnbkpk7ErlLIAorcEob0emrcenrUSpMAAqsUAr8okqMIAtMgAtc8Av9IXuc4Aw9dMsMkhvdFEtcwNxtoAzN87vdMAzuBPu9BKwNAwyddPxNRFyNiEusU6z91Lzdx+v9FsxtpyxdOavcZ2yteCy9py0NyA0+F51uF13OWE3OJ/3emm5em37fPf5ObH8fLQ8fTm7O7X8PXm8/Th9vXq9/j0+fz+//zmPYTTAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfhBBMJFDZIJUV1AAABXUlEQVQ4y4WT61LCMBBG1yqXQlvbUmgpDLdy844gIijs+7+V324AnVHj+ZEvuzmzk8lMiIgWefIr+YKULOv/QZbJ+ahvYUS07FtZ0bRrZUrdf8AV7VBLSDwv1U0r9bxE0vM80zDCM/PM1DPmJSI/8PtRyFMgQqqIIAlB65w0FmdhzLz6LqSUNgGEcVOBsEQkB/5IpE5IXx1CYd6/gCCJCU1tUBKDRwix0mN+ksQE06D4KAyulQGEKI4jTIiMEAkQtq/KVgSwh6CchS9UOPCucRRCcM/8tlY2EKQDIVQo9AGEganlktKBIOGH5J8E3fgd5geEu968mAa5ggi6cUWQFEkhNwC3zJ1AEUFycjfR2qWgCm4gVBURJPe80zqgoAwwoV1W2hAkIZgG6dooCt/UblE0JIfD3kkoWalQzS6UKLiyEtD80sqcqOZYqMnnrPx9XjHfe153Ln7iOHXMp0/QJVvdEQQalwAAAABJRU5ErkJggg==
  7. // @version 1.1.6
  8. // @grant none
  9. // @license GPLv3
  10. // ==/UserScript==
  11.  
  12. // NB: queste due direttive non servono perche' c'e' gia' jQuery e sembra funzionare senza problemi
  13. // require http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js
  14. //jQuery.noConflict();
  15.  
  16. (function ($) { $(function () {
  17. // -----------------------------------------------------------------------------
  18. window.ads = $('.ls-row.footer').hide();
  19.  
  20. // sposta in basso il top banner
  21. $('.ls-area.hellobank-content .ls-cmp-wrap.ls-1st').prependTo(window.ads);
  22.  
  23. // ridimensiona bilancio
  24. $('iframe[src*=Financial]').on('load', function () {
  25. $(this).contents().
  26. find('.financial-state .title-wrapper').hide().
  27. next('.scroller-wrapper').css('margin', 'auto').css('float', 'none').
  28. find('.block-container').css('width', '100%');
  29. $(this).contents().find('div.financial-block.bilancio').css('width', '10em').css('visibility', 'hidden');
  30. $(this).contents().find('div.cf > div.scroller-wrapper, #financialscroller').css('width', '100%');
  31. });
  32.  
  33. (function hide_footer () {
  34. if ($('#footer-container').length != 0)
  35. $('#footer-container').hide(); // nascondi footer
  36. else
  37. setTimeout(hide_footer, 500);
  38. })();//hide_footer
  39.  
  40. $('.hellobank-header-row').hide(); // nascondi header
  41.  
  42. // crea menu piu' semplice
  43. $('<style>#fixed-menu a:hover { background-color: #ccc; border-radius: 0.25rem; } #fixed-menu li.selected { background-color: #ccc; } </style>').appendTo('html > head');
  44. var menu_top = parseInt($('iframe[src*=Financial]').height()),
  45. stili = 'position: fixed; top: '+menu_top+'px; left: 0; border: 1px solid black; padding: 0.2rem; font-size: x-small; text-transform: capitalize; line-height: 1.5rem;',
  46. menu = $('<div id="fixed-menu" style="'+stili+'"><ul></ul></div>').appendTo('body'),
  47. lista = $('<ul></ul>').appendTo(menu);
  48. // cicla tra i riquadri
  49. $('.tile.level0').hide().children('a').each(function () {
  50. var link = $(this);
  51. var label = link.text().trim().replace(/Le mie|I miei/, '');
  52. if (label.match(/trading|investimenti|Saving|PAY|Store|Bilancio/)) return;
  53. if (label.match(/profilo/)) label = 'Profilo/Docs';
  54. if (label.match(/Mutui/ )) label = 'Mutui/Prestiti';
  55. $('<a href="#" class="linked">'+label+'</a>').data('link', link).appendTo(lista).wrap('<li></li>');
  56. });
  57.  
  58. // click onclick sulle voci di menu reali
  59. $('#fixed-menu').on('click', 'a.linked', function (ev) {
  60. ev.preventDefault();
  61. $('#fixed-menu li').removeClass('selected');
  62. $(this).parent().addClass('selected');
  63. $(this).data('link').click();
  64. });
  65.  
  66. // links per: num messagi non letti, logout, toggle ADS
  67. $('iframe[src*=WelcomeBox]').on('load', function () {
  68. var frame_wb = $(this).contents();
  69. // aggiunta link msg non letti
  70. var msg_unread = frame_wb.find('.notify-box.mail span').text().trim();
  71. lista.append('<li><hr style="margin: 0.2rem 0; border: 0; background-color: black;"></li>')
  72. $('<a href="#" class="linked"><b>'+msg_unread+'</b> unread msg</a>').
  73. data('link', menu.find('a:contains(messaggi)').parent().hide().end()).
  74. appendTo(lista).wrap('<li></li>');
  75. // link toggle ADS
  76. $('<li><a href="#" onclick="window.ads.toggle(); return false;">Toggle ADS</a></li>').appendTo(lista);
  77. // link per il logout
  78. $('<li><a href="'+this.contentWindow.logoutUrl+'">Logout</a></li>').appendTo(lista);
  79. });
  80. // -----------------------------------------------------------------------------
  81. });})(jQuery);