diff --git a/web/plugin.head.html b/web/plugin.head.html
index 6ec24c0..ff0da99 100644
--- a/web/plugin.head.html
+++ b/web/plugin.head.html
@@ -346,7 +346,7 @@
html:not(.politictalk-direct-access-blocked) .participants_pane-content,
html:not(.politictalk-direct-access-blocked) [class*="chatPanel"],
html:not(.politictalk-direct-access-blocked) [class*="participantsPane"] {
- background-color: #b3a5e4 !important;
+ background-color: #33243e !important;
}
html:not(.politictalk-direct-access-blocked) #sideToolbarContainer,
@@ -2266,14 +2266,6 @@
.trim();
}
- function normalizePoliticTalkDisplayName(value) {
- return String(value || '')
- .replace(/\(you\)/ig, '')
- .replace(/\bmoderator\b/ig, '')
- .replace(/\s+/g, ' ')
- .trim();
- }
-
function getPoliticTalkRoleMetadataFromElement(element) {
if (!element || !element.classList) {
return null;
@@ -2315,12 +2307,6 @@
return localMetadata;
}
- var rowMetadata = getPoliticTalkRoleMetadataFromElement(row);
-
- if (rowMetadata) {
- return rowMetadata;
- }
-
var matchingTile = null;
if (videospace && endpointId) {
@@ -2422,155 +2408,33 @@
var target = element.querySelector('[data-testid="stage-display-name"], .displayname, [id$="_name"]');
var value = target ? target.textContent : element.textContent;
- return normalizePoliticTalkDisplayName(value);
+ return String(value || '').replace(/\s+/g, ' ').trim();
}
- function getPoliticTalkDominantSpeakerDisplayNames(videospace) {
- var largeVideoContainer = videospace && videospace.querySelector('#largeVideoContainer');
-
- if (!largeVideoContainer) {
- return [];
- }
-
- var selectors = [
- '[data-testid="stage-display-name"]',
- '#remotePresenceMessage',
- '#remoteConnectionMessage',
- '.displayname',
- '[id$="_name"]',
- '[class*="displayName"]',
- '[class*="nameContainer"]',
- '.presence-label-container',
- '[class*="presenceLabel"]',
- '[class*="PresenceLabel"]'
- ].join(',');
- var blockedLabels = [
- 'aud',
- 'meeting participants',
- 'politictalk',
- 'search participants'
- ];
- var names = [];
-
- Array.prototype.slice.call(largeVideoContainer.querySelectorAll(selectors)).forEach(function(candidate) {
- var text = normalizePoliticTalkDisplayName(candidate.textContent);
- var normalized = normalizePoliticTalkText(text);
-
- if (!text
- || text.length > 80
- || blockedLabels.indexOf(normalized) !== -1
- || /^\d/.test(normalized)) {
- return;
- }
-
- if (names.indexOf(text) === -1) {
- names.push(text);
- }
- });
-
- return names;
- }
-
- function getPoliticTalkDominantSpeakerNamesFromParticipantRows(videospace) {
- var largeVideoContainer = videospace && videospace.querySelector('#largeVideoContainer');
-
- if (!largeVideoContainer) {
- return [];
- }
-
- var largeVideoText = normalizePoliticTalkText(largeVideoContainer.textContent);
-
- if (!largeVideoText) {
- return [];
- }
-
- return getPoliticTalkParticipantPaneRows().map(getPoliticTalkParticipantPaneDisplayName).filter(function(name, index, names) {
- var normalizedName = normalizePoliticTalkText(name);
-
- return normalizedName
- && names.indexOf(name) === index
- && largeVideoText.indexOf(normalizedName) !== -1;
- });
- }
-
- function findPoliticTalkRoleMetadataByDisplayNames(names, videospace, tiles, thumbnails) {
- var normalizedNames = (names || []).map(function(name) {
- return normalizePoliticTalkText(normalizePoliticTalkDisplayName(name));
- }).filter(Boolean);
-
- if (!normalizedNames.length) {
- return null;
- }
-
- var matchesName = function(value) {
- return normalizedNames.indexOf(normalizePoliticTalkText(normalizePoliticTalkDisplayName(value))) !== -1;
- };
- var matchingRow = getPoliticTalkParticipantPaneRows().find(function(row) {
- return matchesName(getPoliticTalkParticipantPaneDisplayName(row));
- });
-
- if (matchingRow) {
- return getPoliticTalkRoleMetadataFromElement(matchingRow)
- || getPoliticTalkParticipantPaneRoleMetadata(matchingRow, videospace, tiles, thumbnails)
- || null;
- }
-
- var candidates = (tiles || []).concat(thumbnails || []);
- var matchingTile = candidates.find(function(tile) {
- return matchesName(getPoliticTalkVisibleDisplayName(tile));
- });
-
- if (matchingTile) {
- return getPoliticTalkTileRoleMetadata(matchingTile)
- || getPoliticTalkRoleMetadataFromElement(matchingTile)
- || null;
- }
-
- return null;
- }
-
- function getPoliticTalkDominantSpeakerRoleMetadata(videospace, tiles, thumbnails) {
- var dominantNames = getPoliticTalkDominantSpeakerDisplayNames(videospace).concat(
- getPoliticTalkDominantSpeakerNamesFromParticipantRows(videospace)
- );
- var dominantName = dominantNames[0] || getPoliticTalkVisibleDisplayName(
+ function getPoliticTalkDominantSpeakerRoleMetadata(videospace, tiles) {
+ var dominantName = getPoliticTalkVisibleDisplayName(
videospace.querySelector('[data-testid="stage-display-name"]')
);
- var candidates = (tiles || []).concat(thumbnails || []);
- var matchingMetadata = findPoliticTalkRoleMetadataByDisplayNames(
- dominantNames.concat(dominantName ? [dominantName] : []),
- videospace,
- tiles,
- thumbnails
- );
-
- if (matchingMetadata) {
- return matchingMetadata;
- }
+ var candidates = tiles || [];
if (dominantName) {
- var normalizedDominantName = normalizePoliticTalkText(dominantName);
var matchingTile = candidates.find(function(tile) {
- return normalizePoliticTalkText(getPoliticTalkVisibleDisplayName(tile)) === normalizedDominantName;
+ return getPoliticTalkVisibleDisplayName(tile) === dominantName;
});
if (matchingTile) {
- return getPoliticTalkTileRoleMetadata(matchingTile)
- || getPoliticTalkRoleMetadataFromElement(matchingTile)
- || getPoliticTalkGuestRoleMetadata();
+ return getPoliticTalkTileRoleMetadata(matchingTile) || getPoliticTalkGuestRoleMetadata();
}
}
if (candidates.length === 1) {
- return getPoliticTalkTileRoleMetadata(candidates[0])
- || getPoliticTalkRoleMetadataFromElement(candidates[0])
- || getPoliticTalkGuestRoleMetadata();
+ return getPoliticTalkTileRoleMetadata(candidates[0]) || getPoliticTalkGuestRoleMetadata();
}
return getPoliticTalkLocalRoleMetadata();
}
- function applyPoliticTalkDominantSpeakerTheme(videospace, tiles, thumbnails, metadataOverride) {
+ function applyPoliticTalkDominantSpeakerTheme(videospace, tiles, metadataOverride) {
var avatar = videospace.querySelector('#dominantSpeakerAvatar');
var avatarContainer = videospace.querySelector('#dominantSpeakerAvatarContainer');
@@ -2578,7 +2442,7 @@
return;
}
- var metadata = metadataOverride || getPoliticTalkDominantSpeakerRoleMetadata(videospace, tiles, thumbnails);
+ var metadata = metadataOverride || getPoliticTalkDominantSpeakerRoleMetadata(videospace, tiles);
var roleWasApplied = applyPoliticTalkRoleToElement(avatar, metadata);
addPoliticTalkClass(avatar, 'politictalk-avatar-themed');
@@ -2594,11 +2458,6 @@
avatar.style.setProperty('--politictalk-avatar-background', fallbackColor);
avatar.style.setProperty('--politictalk-tile-border-color', fallbackColor);
}
-
- var avatarColor = getPoliticTalkRoleColor(metadata && metadata.role);
-
- setPoliticTalkImportantStyle(avatar, 'background', avatarColor);
- setPoliticTalkImportantStyle(avatar, 'background-color', avatarColor);
}
function applyPoliticTalkAvatarThemeInContainer(container, metadata) {
@@ -2777,14 +2636,11 @@
var dominantName = getPoliticTalkVisibleDisplayName(
videospace.querySelector('[data-testid="stage-display-name"]')
);
-
- applyPoliticTalkParticipantPaneAvatarTheme(videospace, tiles, thumbnails);
-
- var dominantMetadata = getPoliticTalkDominantSpeakerRoleMetadata(videospace, tiles, thumbnails);
+ var dominantMetadata = getPoliticTalkDominantSpeakerRoleMetadata(videospace, tiles);
applyPoliticTalkLargeVideoLayout(videospace, tiles);
applyPoliticTalkTileLayout(videospace, tiles);
- applyPoliticTalkDominantSpeakerTheme(videospace, tiles, thumbnails, dominantMetadata);
+ applyPoliticTalkDominantSpeakerTheme(videospace, tiles, dominantMetadata);
tiles.forEach(function(tile) {
addPoliticTalkClass(tile, 'politictalk-themed-tile');