Backlog Styling

Styles the ticket status in our backlog.

目前为 2022-07-18 提交的版本。查看 最新版本

  1. // ==UserScript==
  2. // @name Backlog Styling
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.3
  5. // @description Styles the ticket status in our backlog.
  6. // @author You
  7. // @match https://roger-team.atlassian.net/*
  8. // @icon https://www.google.com/s2/favicons?sz=64&domain=atlassian.net
  9. // @grant none
  10. // ==/UserScript==
  11.  
  12. (function() {
  13. 'use strict';
  14. const interval = setInterval(() => {
  15. initInterval();
  16. }, 250)
  17.  
  18. function initInterval()
  19. {
  20. addStyles();
  21. }
  22.  
  23. function addStyles()
  24. {
  25. const existing = document.querySelector('#cg-style');
  26. if(existing) return;
  27. console.log("adding custom styles");
  28. const styleElem = document.createElement('style');
  29. styleElem.setAttribute('id', 'cg-style')
  30. styleElem.innerHTML = `
  31. .ghx-plan-band-2 .ghx-backlog-container .ghx-issue-content {
  32. display: flex;
  33. align-items: center;
  34. gap: 8px;
  35. padding: 5px 8px !important;
  36. }
  37.  
  38. .ghx-plan-band-2 .ghx-backlog-container .ghx-issue-content .ghx-end.ghx-items-container {
  39. display: flex;
  40. align-items: center;
  41. top: initial !important;
  42. }
  43.  
  44. .ghx-plan-band-2 .ghx-backlog-container .ghx-issue-content .ghx-end.ghx-items-container .ghx-priority {
  45. display: flex;
  46. align-items: center;
  47. }
  48.  
  49. .ghx-plan-band-2 .ghx-backlog-container .ghx-issue-content .ghx-backlog-card-expander-spacer {
  50. display: none;
  51. }
  52.  
  53. .ghx-plan-band-2 .ghx-backlog-container .ghx-issue-content .ghx-plan-main-fields {
  54. display: flex;
  55. margin: 0;
  56. align-items: center;
  57. gap: 8px;
  58. }
  59.  
  60. .ghx-plan-band-2 .ghx-backlog-container .ghx-issue-content .ghx-plan-main-fields .ghx-type.items-spacer {
  61. margin: 0;
  62. display: flex;
  63. align-items: center;
  64. }
  65.  
  66. .ghx-plan-band-2 .ghx-backlog-container .ghx-issue-content .ghx-plan-extra-fields {
  67. display: inline-block;
  68. margin: 0;
  69. }
  70.  
  71. .ghx-plan-band-2 .ghx-backlog-container .ghx-issue-content .ghx-plan-extra-fields [data-tooltip^="Status"] {
  72. display: inline-block;
  73. margin: 0;
  74. }
  75.  
  76. .ghx-backlog-container .ghx-issue-content .ghx-plan-extra-fields [data-tooltip^="Status"] {
  77. border: 1px solid #0000;
  78. border-radius: 3px;
  79. padding: 0 6px !important;
  80. font-weight: 500;
  81. min-width: initial;
  82. }
  83.  
  84. .ghx-plan-extra-fields [data-tooltip="Status: Planning"],
  85. .ghx-plan-extra-fields [data-tooltip="Status: To Do"],
  86. .ghx-plan-extra-fields [data-tooltip="Status: New"]
  87. {
  88. color: var(--ds-text,#42526E);
  89. background-color: var(--ds-background-neutral,#DFE1E6);
  90. }
  91.  
  92. .ghx-plan-extra-fields [data-tooltip="Status: Blocked"]
  93. {
  94. color: var(--ds-text,#DE1306);
  95. background-color: var(--ds-background-neutral,#FEEBEA);
  96. }
  97.  
  98. .ghx-plan-extra-fields [data-tooltip="Status: Ready for test"],
  99. .ghx-plan-extra-fields [data-tooltip="Status: Test"],
  100. .ghx-plan-extra-fields [data-tooltip="Status: Acceptance Test"]
  101. {
  102. color: var(--ds-text,#863DFF);
  103. background-color: var(--ds-background-neutral,#F4EEFF);
  104. }
  105.  
  106. .ghx-plan-extra-fields [data-tooltip="Status: Ready for Development"],
  107. .ghx-plan-extra-fields [data-tooltip="Status: In Progress"],
  108. .ghx-plan-extra-fields [data-tooltip="Status: Code Review"]
  109. {
  110. color: var(--ds-text-information,#0088F5);
  111. background-color: var(--ds-background-information,#E7F4FF);
  112. }
  113.  
  114. .ghx-plan-extra-fields [data-tooltip="Status: Done"],
  115. .ghx-plan-extra-fields [data-tooltip="Status: Ready for Deployment"],
  116. .ghx-plan-extra-fields [data-tooltip="Status: Won't Do"]
  117. {
  118. color: var(--ds-text-success,#01A51B);
  119. background-color: var(--ds-background-success,#E5FDE8);
  120. }
  121. `
  122. const head = document.querySelector('head');
  123. head.append(styleElem);
  124. }
  125. })();