From f6a54dc8a14a6407badc434ec0791bd35fd3e005 Mon Sep 17 00:00:00 2001 From: ejunga Date: Wed, 3 Dec 2025 10:52:42 -0500 Subject: [PATCH 1/2] Fix descriptions and editors --- tdx-enhanced.js | 55 ++++++++++++++++++++++++++++++++++++------------- 1 file changed, 41 insertions(+), 14 deletions(-) diff --git a/tdx-enhanced.js b/tdx-enhanced.js index 7c08171..5166443 100644 --- a/tdx-enhanced.js +++ b/tdx-enhanced.js @@ -19,6 +19,8 @@ // @run-at document-end // ==/UserScript== + + (function() { 'use strict'; @@ -707,6 +709,11 @@ } }) + //force contrastive colors in descriptions with inline styles + document.querySelectorAll("div.moreToggle *:not(a), div.lessToggle *:not(a), div.wrap-text *:not(a)").forEach(textBlock=>{ + textBlock.style.color = "var(--txt-1)" + }) + let desktopLayout = settings('get','layout') let desktop = document.querySelector("#divContent") if (desktop && desktopLayout) { @@ -1171,7 +1178,6 @@ let observer = new MutationObserver((mutations) => { mutations.forEach((mutation) => { let t = mutation.target - //console.error("Mutation:",t) if (t.querySelector("div > table")) { //let table = t.firstElementChild.querySelector("table") //console.log("Matched table",t) @@ -1185,6 +1191,11 @@ parseTicket(t.querySelectorAll(".feed-reply")) } + //force contrastive colors in comments/replies with inline styles + document.querySelectorAll("div.feed-item-text *:not(a)").forEach(textBlock=>{ + textBlock.style.color = "var(--txt-1)" + }) + //parse dashboard widgets if (t.id=="tdx-workmgmt-container-collection") { parseOtherElements() @@ -1194,29 +1205,29 @@ if (t.classList.contains("tdx-right-side-panel")) { parseOtherElements() } - + let module = t.querySelector("div > .tdx-dashboard__widget-container") if (module) { updateHeading(t) } //search whole document, frames may reset when reopened - let frames = document.querySelectorAll("iframe:not(.customEmbed)") - if (frames) { - [...frames].forEach(frame=>{ - injectOtherStyles(frame) - }); - } + // let frames = document.querySelectorAll("iframe:not(.customEmbed)") + // if (frames) { + // [...frames].forEach(frame=>{ + // injectOtherStyles(frame) + // }); + // } }); }); if (true) { console.log("Observing...") observer.observe(document.body, { - characterDataOldValue: true, + characterDataOldValue: false, subtree: true, childList: true, - characterData: true + characterData: false }); } @@ -1330,6 +1341,19 @@ } + try { + CKEDITOR.on('instanceReady', function(event) { + var style = event.editor.document.$.createElement('style'); + style.innerHTML = customStyles + editor.document.$.getElementsByTagName('head')[0].appendChild(style); + editor.document.$.querySelectorAll("*:not(a)").forEach((element) => { + element.style.color = "var(--txt-1)" + }) + }) + } catch (error) { + + } + async function injectToolbar() { let iconBar = document.querySelector("#globalSearchBar") @@ -1784,6 +1808,8 @@ --light-txt-hue: 0deg; --light-shadow-1: rgba(50, 50, 50, 0.1); --light-shadow-2: rgba(50, 50, 50, 0.06); + + --body-text-color: var(--txt-0); } @media (prefers-color-scheme: light) { @@ -3794,6 +3820,11 @@ body .tdworkmgmt.table>tbody>tr:not(.tdx-grid__group-header):not(.TDGridHeader): background-color: var(--bg-4); } +html .cke_editable { + background-color: var(--bg-4) important!; + color: var(--txt-1) important!; +} + .cke_wysiwyg_div, .cke_wysiwyg_frame { background: var(--bg-0) !important; } @@ -3989,10 +4020,6 @@ div.profile-image.red-bg, div.profile-image.green-bg, div.profile-image.red-bg, color: var(--col-400) !important; } -.wrap-text *:not(a), .moreToggle *:not(a), .lessToggle *:not(a) { - color: var(--txt-1) !important; -} - .tdx-view-ticket-summary #divSummaryHeading a { color: var(--col-400); } From 7840543c8386687deac70cf07cb9c6ccafc9c99b Mon Sep 17 00:00:00 2001 From: ejunga Date: Wed, 3 Dec 2025 11:39:59 -0500 Subject: [PATCH 2/2] Fix comment editor colors --- tdx-enhanced.js | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/tdx-enhanced.js b/tdx-enhanced.js index 5166443..7b92cc2 100644 --- a/tdx-enhanced.js +++ b/tdx-enhanced.js @@ -1174,6 +1174,21 @@ } } + function ckeinjectCustomCss(event) { + // var editor = event.editor + try { + if (!(event.document.$.getElementById("tdxuserscript-style"))) { + var style = event.document.$.createElement('style'); + style.id = "tdxuserscript-style" + style.innerHTML = customStyles + event.document.$.getElementsByTagName('head')[0].appendChild(style); + event.document.$.querySelectorAll("div, span").forEach((element) => { + element.style.color = "var(--txt-1)" + }) + } + } catch(error) {} + } + //setup observer to watch report/table changes/refreshes let observer = new MutationObserver((mutations) => { mutations.forEach((mutation) => { @@ -1211,6 +1226,10 @@ updateHeading(t) } + for (const instance in CKEDITOR.instances) { + ckeinjectCustomCss(CKEDITOR.instances[instance]); + } + //search whole document, frames may reset when reopened // let frames = document.querySelectorAll("iframe:not(.customEmbed)") // if (frames) { @@ -1299,7 +1318,7 @@ style.setProperty("--filter-invert",filters.invert) style.setProperty("--filter-saturate",filters.saturate) style.setProperty("--filter-sepia",filters.sepia) -} + } /* function toggleColorMode() { @@ -1343,17 +1362,11 @@ try { CKEDITOR.on('instanceReady', function(event) { - var style = event.editor.document.$.createElement('style'); - style.innerHTML = customStyles - editor.document.$.getElementsByTagName('head')[0].appendChild(style); - editor.document.$.querySelectorAll("*:not(a)").forEach((element) => { - element.style.color = "var(--txt-1)" - }) + ckeinjectCustomCss(event) }) } catch (error) { } - async function injectToolbar() { let iconBar = document.querySelector("#globalSearchBar")