// ==UserScript==
// @name Jira snazzy columns
// @namespace urn://https://www.georgegillams.co.uk/api/greasemonkey/jira_snazzy_columns
// @include *gojira.*
// @exclude none
// @version 2
// @description:en Makes your jira board headings more snazzy, so that you stop getting them confused.
// @grant none
// @description Makes your jira board headings more snazzy, so that you stop getting them confused.
// ==/UserScript==
function insertStyleSheetRule(ruleText) {
const sheets = document.styleSheets;
if (sheets.length === 0) {
const style = document.createElement('style');
style.appendChild(document.createTextNode(''));
document.head.appendChild(style);
}
const sheet = sheets[sheets.length - 1];
sheet.insertRule(
ruleText,
sheet.rules ? sheet.rules.length : sheet.cssRules.length,
);
}
function snazzTitles() {
const titleContainerElements = document.getElementsByClassName(
'ghx-column-header-content',
);
for (let i = 0; i < titleContainerElements.length; i += 1) {
const tCE = titleContainerElements[i];
tCE.style.overflow = 'initial';
}
const titleElements = document.getElementsByClassName('ghx-column-title');
for (let i = 0; i < titleElements.length; i += 1) {
const tE = titleElements[i];
tE.style.color = 'white';
tE.style.background = 'red';
tE.style.padding = '0.1rem 0.4rem';
tE.style.animation = `spinIt${i % 2} 1s infinite`;
tE.style.borderRadius = '2rem';
tE.style.fontWeight = 'bold';
}
}
function snazzTitlesIfNecessary() {
snazzTitles();
}
function worker() {
try {
snazzTitlesIfNecessary();
} catch (e) {
// eslint-disable-next-line no-console
console.log(e);
}
}
insertStyleSheetRule(
'@keyframes spinIt0 { 0% { transform: rotate(-20deg); } 50% { transform: rotate(20deg); } 100% { transform: rotate(-20deg); } }',
);
insertStyleSheetRule(
'@keyframes spinIt1 { 0% { transform: rotate(20deg); } 50% { transform: rotate(-20deg); } 100% { transform: rotate(20deg); } }',
);
// insertStyleSheetRule("@keyframes rubberBand { 0% { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } 30% { -webkit-transform: scale3d(1.25, 0.75, 1); transform: scale3d(1.25, 0.75, 1); } 40% { -webkit-transform: scale3d(0.75, 1.25, 1); transform: scale3d(0.75, 1.25, 1); } 50% { -webkit-transform: scale3d(1.15, 0.85, 1); transform: scale3d(1.15, 0.85, 1); } 65% { -webkit-transform: scale3d(.95, 1.05, 1); transform: scale3d(.95, 1.05, 1); } 75% { -webkit-transform: scale3d(1.05, .95, 1); transform: scale3d(1.05, .95, 1); } 100% { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } } @keyframes rubberBand { 0% { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } 30% { -webkit-transform: scale3d(1.25, 0.75, 1); transform: scale3d(1.25, 0.75, 1); } 40% { -webkit-transform: scale3d(0.75, 1.25, 1); transform: scale3d(0.75, 1.25, 1); } 50% { -webkit-transform: scale3d(1.15, 0.85, 1); transform: scale3d(1.15, 0.85, 1); } 65% { -webkit-transform: scale3d(.95, 1.05, 1); transform: scale3d(.95, 1.05, 1); } 75% { -webkit-transform: scale3d(1.05, .95, 1); transform: scale3d(1.05, .95, 1); } 100% { -webkit-transform: scale3d(1, 1, 1); transform: scale3d(1, 1, 1); } } ");
setInterval(worker, 1500);