diff --git a/web/plugin.head.html b/web/plugin.head.html
index 494d521..0dc25de 100644
--- a/web/plugin.head.html
+++ b/web/plugin.head.html
@@ -348,6 +348,17 @@
fill: currentColor !important;
stroke: currentColor !important;
}
+
+ html:not(.politictalk-direct-access-blocked) .politictalk-chat-recipient-control,
+ html:not(.politictalk-direct-access-blocked) .politictalk-chat-recipient-control *,
+ html:not(.politictalk-direct-access-blocked) #chat-recipient-selector,
+ html:not(.politictalk-direct-access-blocked) #chat-recipient-selector *,
+ html:not(.politictalk-direct-access-blocked) [data-testid*="recipient" i],
+ html:not(.politictalk-direct-access-blocked) [data-testid*="recipient" i] * {
+ color: #ffffff !important;
+ fill: currentColor !important;
+ stroke: currentColor !important;
+ }
}
html.politictalk-direct-access-blocked,
@@ -816,6 +827,57 @@
});
}
+ function isChatRecipientControl(element) {
+ var label = [
+ element.getAttribute('aria-label'),
+ element.getAttribute('title'),
+ element.textContent
+ ].join(' ').replace(/\s+/g, ' ').trim().toLowerCase();
+
+ return label.indexOf('everyone') !== -1
+ || label.indexOf('alle') !== -1
+ || label.indexOf('الجميع') !== -1;
+ }
+
+ function markChatRecipientControls() {
+ if (!document.body) {
+ return;
+ }
+
+ var controls = document.querySelectorAll('button, [role="button"], [aria-haspopup], [data-testid*="recipient" i], #chat-recipient-selector');
+
+ controls.forEach(function(control) {
+ if (!isChatRecipientControl(control)) {
+ return;
+ }
+
+ control.classList.add('politictalk-chat-recipient-control');
+ });
+ }
+
+ function mountChatRecipientStyling() {
+ if (!document.body) {
+ return;
+ }
+
+ markChatRecipientControls();
+
+ if (window.politicTalkChatRecipientObserver) {
+ return;
+ }
+
+ window.politicTalkChatRecipientObserver = new MutationObserver(function() {
+ window.requestAnimationFrame(markChatRecipientControls);
+ });
+ window.politicTalkChatRecipientObserver.observe(document.body, {
+ attributes: true,
+ attributeFilter: [ 'aria-label', 'title', 'class' ],
+ childList: true,
+ characterData: true,
+ subtree: true
+ });
+ }
+
function mountPoliticTalkLogo() {
if (!document.body || document.getElementById('politictalk-room-logo')) {
return;
@@ -892,12 +954,14 @@
mountPoliticTalkLogo();
mountDirectAccessMessage();
mountHostHangupPolicy();
+ mountChatRecipientStyling();
});
} else {
mountPoliticTalkDocumentTitle();
mountPoliticTalkLogo();
mountDirectAccessMessage();
mountHostHangupPolicy();
+ mountChatRecipientStyling();
}
}());