move discord badges before other badges
All checks were successful
Code quality checks / biome (push) Successful in 16s

This commit is contained in:
creations 2025-04-25 23:19:36 -04:00
parent 3b6c68c25d
commit 7d0c65ff8c
Signed by: creations
GPG key ID: 8F553AA4320FC711

View file

@ -295,6 +295,7 @@ if (badgeURL && badgeURL !== "null" && userId) {
seperated = false, seperated = false,
cache = true, cache = true,
targetId = "badges", targetId = "badges",
serviceOrder = [],
} = options; } = options;
const params = new URLSearchParams(); const params = new URLSearchParams();
@ -317,17 +318,12 @@ if (badgeURL && badgeURL !== "null" && userId) {
return; return;
} }
const badges = Array.isArray(json.badges)
? json.badges
: Object.values(json.badges).flat();
if (badges.length === 0) {
target.innerHTML = ""; target.innerHTML = "";
target.classList.add("hidden");
return;
}
target.innerHTML = ""; const badgesByService = json.badges;
const renderedServices = new Set();
const renderBadges = (badges) => {
for (const badge of badges) { for (const badge of badges) {
const img = document.createElement("img"); const img = document.createElement("img");
img.src = badge.badge; img.src = badge.badge;
@ -336,6 +332,22 @@ if (badgeURL && badgeURL !== "null" && userId) {
img.className = "badge"; img.className = "badge";
target.appendChild(img); target.appendChild(img);
} }
};
for (const serviceName of serviceOrder) {
const badges = badgesByService[serviceName];
if (Array.isArray(badges) && badges.length) {
renderBadges(badges);
renderedServices.add(serviceName);
}
}
for (const [serviceName, badges] of Object.entries(badgesByService)) {
if (renderedServices.has(serviceName)) continue;
if (Array.isArray(badges) && badges.length) {
renderBadges(badges);
}
}
target.classList.remove("hidden"); target.classList.remove("hidden");
} catch (err) { } catch (err) {
@ -347,9 +359,10 @@ if (badgeURL && badgeURL !== "null" && userId) {
loadBadges(userId, { loadBadges(userId, {
services: [], services: [],
seperated: false, seperated: true,
cache: true, cache: true,
targetId: "badges", targetId: "badges",
serviceOrder: ["discord", "equicord", "reviewdb", "vencord"],
}); });
} }
@ -428,6 +441,9 @@ async function updatePresence(data) {
updatedStatusIndicator.className = `status-indicator ${status}`; updatedStatusIndicator.className = `status-indicator ${status}`;
} }
const custom = data.activities?.find((a) => a.type === 4);
updateCustomStatus(custom);
const readmeSection = document.querySelector(".readme"); const readmeSection = document.querySelector(".readme");
if (readmeSection && data.kv?.readme) { if (readmeSection && data.kv?.readme) {
@ -448,9 +464,6 @@ async function updatePresence(data) {
readmeSection.classList.add("hidden"); readmeSection.classList.add("hidden");
} }
const custom = data.activities?.find((a) => a.type === 4);
updateCustomStatus(custom);
const filtered = data.activities const filtered = data.activities
?.filter((a) => a.type !== 4) ?.filter((a) => a.type !== 4)
?.sort((a, b) => { ?.sort((a, b) => {