decord/source/modules/badges/BadgeUtils.tsx

96 lines
2.9 KiB
TypeScript
Raw Normal View History

2026-09-02 09:53:35 +00:00
// Module ID: 9019
// Function ID: 9020
2026-08-28 06:19:39 +00:00
// Name: isPinnedBadge
2026-09-02 09:53:35 +00:00
// Dependencies: [8569, 8570, 8574, 2]
2026-08-26 06:04:24 +00:00
// Exports: getLegacyIconUrlByBadgeId, getUnhideableBadgeIds, groupCustomizableBadges
2026-08-25 06:04:03 +00:00
2026-09-02 09:53:35 +00:00
// Module 9019 (isPinnedBadge)
2026-08-25 06:04:03 +00:00
import set from "set" /* 2 */;
2026-09-02 09:53:35 +00:00
import USER_PROFILE_TOOLTIP_DELAY from "USER_PROFILE_TOOLTIP_DELAY" /* 8569 */;
import BadgeId from "BadgeId" /* 8570 */;
import items2 from "items" /* 8574 */;
2026-08-25 06:04:03 +00:00
2026-08-28 06:19:39 +00:00
function isPinnedBadge(badge_id) {
return badge_id === BadgeId.BadgeId.STAFF;
}
2026-08-25 06:04:03 +00:00
function getProfileBadgeIconUrl(iconSrc) {
iconSrc = iconSrc.iconSrc;
if (iconSrc == null) {
iconSrc = getBadgeAssetFromCDN(iconSrc.icon);
}
return iconSrc;
}
const getBadgeAssetFromCDN = USER_PROFILE_TOOLTIP_DELAY.getBadgeAssetFromCDN;
let result = set.fileFinishedImporting("modules/badges/BadgeUtils.tsx");
export const MAX_DISPLAYED_PROFILE_BADGES = 6;
2026-08-28 06:19:39 +00:00
export { isPinnedBadge };
2026-08-25 06:04:03 +00:00
export const getUnhideableBadgeIds = function getUnhideableBadgeIds(tenureBadgeHideable) {
2026-08-28 06:19:39 +00:00
let _Set = Set;
const STAFF = BadgeId.BadgeId.STAFF;
if (tenureBadgeHideable.tenureBadgeHideable) {
const items = [STAFF];
_Set = new _Set(items);
} else {
const items1 = [STAFF, BadgeId.BadgeId.PREMIUM_TENURE];
_Set = new _Set(items1);
2026-08-25 06:04:03 +00:00
}
2026-08-28 06:19:39 +00:00
return _Set;
2026-08-25 06:04:03 +00:00
};
2026-08-26 06:04:24 +00:00
export const groupCustomizableBadges = function groupCustomizableBadges(memo) {
const fixedBadges = [];
const reorderableBadges = [];
const hiddenBadges = [];
const iter = memo[Symbol.iterator]();
const nextResult = iter.next();
while (iter !== undefined) {
let tmp2 = nextResult;
if (nextResult.owned) {
2026-08-28 06:19:39 +00:00
let tmp3 = isPinnedBadge;
2026-08-26 06:04:24 +00:00
let tmp4 = nextResult;
2026-08-28 06:19:39 +00:00
if (isPinnedBadge(tmp2.badge_id)) {
2026-08-26 06:04:24 +00:00
let tmp10 = nextResult;
let arr = fixedBadges.push(tmp2);
} else {
let tmp5 = nextResult;
if (tmp2.hidden) {
let tmp8 = nextResult;
arr = hiddenBadges.push(tmp2);
} else {
let tmp6 = nextResult;
let arr1 = reorderableBadges.push(tmp2);
}
}
2026-08-25 06:04:03 +00:00
}
2026-08-26 06:04:24 +00:00
continue;
}
return { fixedBadges, reorderableBadges, hiddenBadges };
2026-08-25 06:04:03 +00:00
};
export { getProfileBadgeIconUrl };
export const getLegacyIconUrlByBadgeId = function getLegacyIconUrlByBadgeId(badges) {
const map = new Map();
const iter = badges[Symbol.iterator]();
const nextResult = iter.next();
while (iter !== undefined) {
let tmp3 = require;
let tmp4 = dependencyMap;
let tmp2 = nextResult;
2026-09-02 09:53:35 +00:00
let obj2 = items2;
2026-08-25 06:04:03 +00:00
let profileBadgeId = obj2.resolveProfileBadgeId(nextResult.id);
let tmp6 = profileBadgeId;
let hasItem = null == profileBadgeId;
if (!hasItem) {
let tmp8 = profileBadgeId;
hasItem = map.has(tmp6);
}
if (!hasItem) {
let tmp9 = profileBadgeId;
let tmp10 = getProfileBadgeIconUrl;
let tmp11 = nextResult;
let result = map.set(tmp6, getProfileBadgeIconUrl(tmp2));
}
continue;
}
return map;
};