PC color #33243e
This commit is contained in:
@@ -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');
|
||||
|
||||
Reference in New Issue
Block a user