ECCB

Editeur de Commentaires de Conteneurs en Banque

  1. // ==UserScript==
  2. // @name ECCB
  3. // @namespace InGame
  4. // @match https://www.dreadcast.net/Main
  5. // @grant GM_addStyle
  6. // @version 1.2
  7. // @author Isilin/Pelagia
  8. // @date 26/02/2024
  9. // @description Editeur de Commentaires de Conteneurs en Banque
  10. // @license http://creativecommons.org/licenses/by-nc-nd/4.0/
  11. // ==/UserScript==
  12.  
  13. GM_addStyle(`
  14. #liste_stocks .nom_item {
  15. top: 28px !important;
  16. }
  17.  
  18. .nm_description_item_named_bank {
  19. position: absolute;
  20. top: 45px;
  21. right: 30px;
  22. display: flex;
  23. flex-direction: column;
  24. align-items: center;
  25. gap: 0.5rem;
  26. width: 160px;
  27. max-height: 50px;
  28. }
  29.  
  30. .nm_description_item_named_bank span {
  31. max-height: 30px;
  32. }
  33.  
  34. .nm_description_item_named_bank .btnTxt {
  35. min-width: 50px;
  36. max-width: 50px;
  37. left: unset !important;
  38. top: unset !important;
  39. margin-left: 0 !important;
  40. margin-top: 0 !important;
  41. }
  42.  
  43. .nm_description_box {
  44. left: 97px;
  45. top: 20px;
  46. inline-size: 350px;
  47. max-height: 15px;
  48. overflow: hidden;
  49. }
  50. `)
  51.  
  52. // ===== Core =====
  53.  
  54. function getDescription(index) {
  55. let jsonData = {}
  56. const data = localStorage.getItem('descriptionBankBags');
  57. if (data != null) {
  58. jsonData = JSON.parse(data);
  59. }
  60. return jsonData[index] || '';
  61. }
  62.  
  63. function setDescription(index, description) {
  64. console.log(index);
  65. if (description != null && description.length > 0) {
  66. let jsonData = {}
  67. const data = localStorage.getItem('descriptionBankBags');
  68. if (data != null) {
  69. jsonData = JSON.parse(data);
  70. }
  71. jsonData[index] = description;
  72. console.log(JSON.stringify(jsonData));
  73. localStorage.setItem("descriptionBankBags",JSON.stringify(jsonData));
  74. }
  75. }
  76.  
  77. // ===== Logic =====
  78.  
  79. function customDescription(index) {
  80. var input = prompt('Saisissez la description de votre coffre :', getDescription(index));
  81. if (input != null) {
  82. setDescription(index, input);
  83. $(`#nm_description_text_${index}`).text(input);
  84. }
  85. }
  86.  
  87. // ===== UI =====
  88. $(document).ready(function () {
  89. $(document).ajaxSuccess(function (e, xhr, opt) {
  90. if (opt.url.includes("Company/Account/View")) {
  91. for (var i = 1 ; i <= 10 ; ++i) {
  92. $(`.stock${i}`).append(`<div class="nm_description_item_named_bank" id="nm_edit_description_block_${i}"></div>`);
  93. $(`.stock${i}`).append(`<div class="nm_description_box" id="nm_description_text_${i}">${getDescription(i)}</div>`);
  94. $(`#nm_edit_description_block_${i}`).append(`<div class="btnTxt" style="top:19px;left:50%;margin-left:-48px;margin-top:-20px;" id="nm_edit_description_${i}">Editer</div>`);
  95. $(`#nm_edit_description_${i}`).click({index: i}, (event) => customDescription(event.data.index))
  96. }
  97. }
  98. });
  99. });

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址