PC color set
This commit is contained in:
@@ -2411,19 +2411,60 @@
|
|||||||
return String(value || '').replace(/\s+/g, ' ').trim();
|
return String(value || '').replace(/\s+/g, ' ').trim();
|
||||||
}
|
}
|
||||||
|
|
||||||
function getPoliticTalkDominantSpeakerRoleMetadata(videospace, tiles) {
|
function normalizePoliticTalkDisplayName(value) {
|
||||||
|
return String(value || '')
|
||||||
|
.replace(/\(you\)/ig, '')
|
||||||
|
.replace(/\bmoderator\b/ig, '')
|
||||||
|
.replace(/\s+/g, ' ')
|
||||||
|
.trim()
|
||||||
|
.toLowerCase();
|
||||||
|
}
|
||||||
|
|
||||||
|
function getPoliticTalkRoleMetadataForDisplayName(displayName, videospace, tiles, thumbnails) {
|
||||||
|
var normalizedName = normalizePoliticTalkDisplayName(displayName);
|
||||||
|
|
||||||
|
if (!normalizedName) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
var matchingRow = getPoliticTalkParticipantPaneRows().find(function(row) {
|
||||||
|
return normalizePoliticTalkDisplayName(getPoliticTalkParticipantPaneDisplayName(row)) === normalizedName;
|
||||||
|
});
|
||||||
|
|
||||||
|
if (matchingRow) {
|
||||||
|
return getPoliticTalkParticipantPaneRoleMetadata(matchingRow, videospace, tiles, thumbnails)
|
||||||
|
|| getPoliticTalkRoleMetadataFromElement(matchingRow);
|
||||||
|
}
|
||||||
|
|
||||||
|
var candidates = (thumbnails || []).concat(tiles || []);
|
||||||
|
var matchingCandidate = candidates.find(function(candidate) {
|
||||||
|
return normalizePoliticTalkDisplayName(getPoliticTalkVisibleDisplayName(candidate)) === normalizedName;
|
||||||
|
});
|
||||||
|
|
||||||
|
if (matchingCandidate) {
|
||||||
|
return getPoliticTalkTileRoleMetadata(matchingCandidate)
|
||||||
|
|| getPoliticTalkRoleMetadataFromElement(matchingCandidate);
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getPoliticTalkDominantSpeakerRoleMetadata(videospace, tiles, thumbnails) {
|
||||||
var dominantName = getPoliticTalkVisibleDisplayName(
|
var dominantName = getPoliticTalkVisibleDisplayName(
|
||||||
videospace.querySelector('[data-testid="stage-display-name"]')
|
videospace.querySelector('[data-testid="stage-display-name"]')
|
||||||
);
|
);
|
||||||
var candidates = tiles || [];
|
var candidates = (thumbnails || []).concat(tiles || []);
|
||||||
|
|
||||||
if (dominantName) {
|
if (dominantName) {
|
||||||
var matchingTile = candidates.find(function(tile) {
|
var matchingMetadata = getPoliticTalkRoleMetadataForDisplayName(
|
||||||
return getPoliticTalkVisibleDisplayName(tile) === dominantName;
|
dominantName,
|
||||||
});
|
videospace,
|
||||||
|
tiles,
|
||||||
|
thumbnails
|
||||||
|
);
|
||||||
|
|
||||||
if (matchingTile) {
|
if (matchingMetadata) {
|
||||||
return getPoliticTalkTileRoleMetadata(matchingTile) || getPoliticTalkGuestRoleMetadata();
|
return matchingMetadata;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2434,7 +2475,7 @@
|
|||||||
return getPoliticTalkLocalRoleMetadata();
|
return getPoliticTalkLocalRoleMetadata();
|
||||||
}
|
}
|
||||||
|
|
||||||
function applyPoliticTalkDominantSpeakerTheme(videospace, tiles, metadataOverride) {
|
function applyPoliticTalkDominantSpeakerTheme(videospace, tiles, thumbnails, metadataOverride) {
|
||||||
var avatar = videospace.querySelector('#dominantSpeakerAvatar');
|
var avatar = videospace.querySelector('#dominantSpeakerAvatar');
|
||||||
var avatarContainer = videospace.querySelector('#dominantSpeakerAvatarContainer');
|
var avatarContainer = videospace.querySelector('#dominantSpeakerAvatarContainer');
|
||||||
|
|
||||||
@@ -2442,7 +2483,7 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var metadata = metadataOverride || getPoliticTalkDominantSpeakerRoleMetadata(videospace, tiles);
|
var metadata = metadataOverride || getPoliticTalkDominantSpeakerRoleMetadata(videospace, tiles, thumbnails);
|
||||||
var roleWasApplied = applyPoliticTalkRoleToElement(avatar, metadata);
|
var roleWasApplied = applyPoliticTalkRoleToElement(avatar, metadata);
|
||||||
|
|
||||||
addPoliticTalkClass(avatar, 'politictalk-avatar-themed');
|
addPoliticTalkClass(avatar, 'politictalk-avatar-themed');
|
||||||
@@ -2633,14 +2674,16 @@
|
|||||||
|
|
||||||
var tiles = getPoliticTalkTileCandidates(videospace);
|
var tiles = getPoliticTalkTileCandidates(videospace);
|
||||||
var thumbnails = getPoliticTalkThumbnailCandidates(videospace);
|
var thumbnails = getPoliticTalkThumbnailCandidates(videospace);
|
||||||
|
applyPoliticTalkParticipantPaneAvatarTheme(videospace, tiles, thumbnails);
|
||||||
|
|
||||||
var dominantName = getPoliticTalkVisibleDisplayName(
|
var dominantName = getPoliticTalkVisibleDisplayName(
|
||||||
videospace.querySelector('[data-testid="stage-display-name"]')
|
videospace.querySelector('[data-testid="stage-display-name"]')
|
||||||
);
|
);
|
||||||
var dominantMetadata = getPoliticTalkDominantSpeakerRoleMetadata(videospace, tiles);
|
var dominantMetadata = getPoliticTalkDominantSpeakerRoleMetadata(videospace, tiles, thumbnails);
|
||||||
|
|
||||||
applyPoliticTalkLargeVideoLayout(videospace, tiles);
|
applyPoliticTalkLargeVideoLayout(videospace, tiles);
|
||||||
applyPoliticTalkTileLayout(videospace, tiles);
|
applyPoliticTalkTileLayout(videospace, tiles);
|
||||||
applyPoliticTalkDominantSpeakerTheme(videospace, tiles, dominantMetadata);
|
applyPoliticTalkDominantSpeakerTheme(videospace, tiles, thumbnails, dominantMetadata);
|
||||||
|
|
||||||
tiles.forEach(function(tile) {
|
tiles.forEach(function(tile) {
|
||||||
addPoliticTalkClass(tile, 'politictalk-themed-tile');
|
addPoliticTalkClass(tile, 'politictalk-themed-tile');
|
||||||
|
|||||||
Reference in New Issue
Block a user