mirror of
https://codeberg.org/vlw/stadia-avatar.git
synced 2025-09-13 23:23:40 +02:00
Concat of friends and messages array
Concatinating friends and messages for bulk processing. Added empty catch() and response.status check on getStadiaAvatar() to ignore all missing avatars. (Default to Stadia avatar) Changing HTTP Response code from 404 to 200 for missing avatars (but a userID was supplied). CORS headers are not set for error pages in NGINX. This oculd be adressed by recompiling NGINX with more_headers.
This commit is contained in:
parent
a51f5ac8b5
commit
d3ab9fae75
2 changed files with 22 additions and 8 deletions
|
@ -9,7 +9,7 @@
|
|||
$avatar = $db->get_avatar($user_id);
|
||||
|
||||
if(!$avatar) {
|
||||
error("404","No avatar was found for the supplied userID");
|
||||
error("200","No avatar was found for the supplied userID");
|
||||
}
|
||||
|
||||
echo "{\"status\":\"OK\",\"avatar\":\"${avatar}\"}";
|
|
@ -43,14 +43,21 @@
|
|||
// Serialized group of selectors based on context
|
||||
selectors(group,id = false) {
|
||||
switch(group) {
|
||||
case "me": return ".ksZYgc, .rybUIf";
|
||||
case "friends": return `.Y1rZWd[data-playerid="${id}"] .Fnd1Pd, .w2Sl7c[data-playerid="${id}"] .drvCDc`;
|
||||
case "me": return `
|
||||
.ksZYgc,
|
||||
.rybUIf
|
||||
`;
|
||||
case "friends": return `
|
||||
c-wiz[data-p='%.@.null,"${id}"]'] .drvCDc,
|
||||
.Y1rZWd[data-player-id="${id}"] .Fnd1Pd,
|
||||
.Y1rZWd[data-playerid="${id}"] .Fnd1Pd,
|
||||
.w2Sl7c[data-playerid="${id}"] .drvCDc
|
||||
`;
|
||||
}
|
||||
}
|
||||
|
||||
add(selectors,avatar) {
|
||||
this.sheet.insertRule(`${selectors} { background-image: url(${avatar}) !important; }`);
|
||||
console.log(`${selectors} { background-image: url(${avatar}) !important; }`);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -75,9 +82,15 @@
|
|||
// Fetch avatar and append to stylesheet
|
||||
function replaceWithGravatar(group,playerID) {
|
||||
getStadiaAvatar(playerID).then(response => {
|
||||
if(response.status !== "OK") {
|
||||
return false;
|
||||
}
|
||||
|
||||
gravatar.pathname = "/avatar/" + response.avatar; // Append Gravatar hash
|
||||
avatars.add(avatars.selectors(group,playerID),gravatar); // Add style override by group
|
||||
});
|
||||
}).catch(
|
||||
// Ignore missing avatars
|
||||
);
|
||||
}
|
||||
|
||||
// ----
|
||||
|
@ -101,10 +114,11 @@
|
|||
clearTimeout(timeout);
|
||||
|
||||
timeout = setTimeout(() => {
|
||||
const friends = document.querySelector("[jsname='FhFdCc']").children;
|
||||
const messages = document.querySelector("[jsname='FhFdCc']").children;
|
||||
let elements = [];
|
||||
elements = Array.prototype.concat.apply(elements,document.querySelector("[jsaction='JIbuQc:mbLu7b']").children);
|
||||
elements = Array.prototype.concat.apply(elements,document.querySelector("[jsname='FhFdCc']").children);
|
||||
|
||||
updateFamily("friends",messages);
|
||||
updateFamily("friends",elements);
|
||||
},700);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue