decord/source/modules/badges/BadgeDirectoryStore.tsx

304 lines
8.4 KiB
TypeScript
Raw Normal View History

2026-08-06 08:05:19 +00:00
// Module ID: 8713
// Function ID: 8714
2026-07-29 08:29:29 +00:00
// Name: map
2026-08-06 08:05:19 +00:00
// Dependencies: [1903, 687, 8714, 584, 8716, 589, 709, 2]
2026-07-29 08:29:29 +00:00
// Exports: getObtainedAtFromBadge, getSingleRequirementThreshold
2026-07-20 16:05:17 +00:00
2026-08-06 08:05:19 +00:00
// Module 8713 (map)
2026-07-29 08:29:29 +00:00
import mergeGuildAvatar from "mergeGuildAvatar";
import { Store } from "initialize";
import set from "set";
2026-07-23 10:11:24 +00:00
const require = arg1;
2026-07-29 08:29:29 +00:00
const HOUR = require("set").Millis.HOUR;
let map = new Map();
let set = new Set();
let set1 = new Set();
let map1 = new Map();
const map2 = new Map();
const map3 = new Map();
class BadgeDirectoryStore extends Store {
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
const prototype = BadgeDirectoryStore.prototype;
prototype["initialize"] = function initialize() {
this.waitFor(mergeGuildAvatar);
};
prototype["getBadges"] = function getBadges(arg0) {
let tmp = arg0;
if (arg0 == null) {
const currentUser = authStore.getCurrentUser();
let id;
if (currentUser != null) {
id = currentUser.id;
}
tmp = id;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
if (null == tmp) {
return [];
2026-07-20 16:05:17 +00:00
} else {
2026-07-29 08:29:29 +00:00
const value = map.get(tmp);
if (null != value) {
const _Array = Array;
let items = Array.from(value.values());
} else {
items = [];
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
return items;
}
};
prototype["hasCatalogFor"] = function hasCatalogFor(arg0) {
return set.has(arg0);
};
prototype["isCatalogStaleFor"] = function isCatalogStaleFor(arg0) {
const value = map1.get(arg0);
let tmp2 = null == value;
if (!tmp2) {
const _Date = Date;
tmp2 = Date.now() - value >= HOUR;
}
return tmp2;
};
prototype["hasCatalogFetchErrorFor"] = function hasCatalogFetchErrorFor(arg0) {
let tmp = arg0;
if (arg0 == null) {
const currentUser = authStore.getCurrentUser();
let id;
if (currentUser != null) {
id = currentUser.id;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
tmp = id;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
let hasItem = null != tmp;
if (hasItem) {
hasItem = set1.has(tmp);
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
return hasItem;
};
prototype["getBadgeById"] = function getBadgeById(GIFTING, userId) {
let tmp = userId;
if (userId == null) {
const currentUser = authStore.getCurrentUser();
let id;
if (currentUser != null) {
id = currentUser.id;
}
tmp = id;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
let tmp5;
if (null != tmp) {
let value = map.get(tmp);
value = undefined;
if (value != null) {
value = value.get(GIFTING);
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
tmp5 = value;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
return tmp5;
};
prototype["getSingleRequirementProgress"] = function getSingleRequirementProgress(GIFTING, userId) {
const badgeById = this.getBadgeById(GIFTING, userId);
let progress;
if (badgeById != null) {
progress = badgeById.progress;
}
if (null != progress) {
if (0 !== progress.length) {
return progress[0];
}
}
};
prototype["getCurrentTier"] = function getCurrentTier(GIFTING, userId) {
const badgeById = this.getBadgeById(GIFTING, userId);
let current_tier;
if (badgeById != null) {
current_tier = badgeById.current_tier;
2026-07-20 16:05:17 +00:00
}
if (null != current_tier) {
2026-07-29 08:29:29 +00:00
const tiers = badgeById.tiers;
return tiers.find((key) => key.key === badgeById.current_tier);
}
};
prototype["getObtainedAt"] = function getObtainedAt(GIFTING, userId) {
const badgeById = this.getBadgeById(GIFTING, userId);
let tmp2;
if (null != badgeById) {
2026-07-20 16:05:17 +00:00
let obtained_at;
2026-07-29 08:29:29 +00:00
if (null != badgeById.current_tier) {
const tier_obtained_at = badgeById.tier_obtained_at;
let tmp4;
if (tier_obtained_at != null) {
tmp4 = tier_obtained_at[badgeById.current_tier];
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
obtained_at = tmp4;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
if (obtained_at == null) {
obtained_at = badgeById.obtained_at;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
tmp2 = obtained_at;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
return tmp2;
};
prototype["getNextTier"] = function getNextTier(GIFTING, userId) {
const badgeById = this.getBadgeById(GIFTING, userId);
let next_tier;
if (badgeById != null) {
next_tier = badgeById.next_tier;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
if (null != next_tier) {
const tiers = badgeById.tiers;
return tiers.find((key) => key.key === badgeById.next_tier);
}
};
prototype["getRemainingToNextTier"] = function getRemainingToNextTier(GIFTING, userId) {
const singleRequirementProgress = this.getSingleRequirementProgress(GIFTING, userId);
2026-07-30 10:14:41 +00:00
let threshold;
if (singleRequirementProgress != null) {
threshold = singleRequirementProgress.threshold;
}
2026-07-29 08:29:29 +00:00
let num = 0;
2026-07-30 10:14:41 +00:00
if (null != threshold) {
const _Math = Math;
num = Math.max(0, singleRequirementProgress.threshold - singleRequirementProgress.current);
2026-07-29 08:29:29 +00:00
}
return num;
};
BadgeDirectoryStore.displayName = "BadgeDirectoryStore";
const badgeDirectoryStore = new BadgeDirectoryStore(require("dispatcher"), {
2026-07-20 16:05:17 +00:00
BADGE_DIRECTORY_FETCH_START: function handleFetchStart(userId) {
2026-07-23 10:11:24 +00:00
set = new Set(set);
2026-07-20 16:05:17 +00:00
set.delete(userId.userId);
},
BADGE_DIRECTORY_FETCH_SUCCESS: function handleFetchSuccess(arg0) {
let badges;
let userId;
({ userId, badges } = arg0);
2026-07-23 10:11:24 +00:00
map = new Map(map);
2026-07-20 16:05:17 +00:00
const result = map.set(userId, new Map(badges.map((badge_id) => {
const items = [badge_id.badge_id, badge_id];
return items;
})));
const map1 = new Map(badges.map((badge_id) => {
const items = [badge_id.badge_id, badge_id];
return items;
}));
2026-07-29 08:29:29 +00:00
closure_6 = new Set(closure_6).add(userId);
2026-07-23 10:11:24 +00:00
set1 = new Set(set1);
2026-07-20 16:05:17 +00:00
set1.delete(userId);
2026-07-29 08:29:29 +00:00
const set = new Set(closure_6);
closure_8 = new Map(closure_8).set(userId, Date.now());
2026-07-20 16:05:17 +00:00
},
BADGE_DIRECTORY_FETCH_FAILURE: function handleFetchFailure(userId) {
2026-07-29 08:29:29 +00:00
closure_7 = new Set(closure_7).add(userId.userId);
2026-07-20 16:05:17 +00:00
},
BADGE_FETCH_SUCCESS: function handleBadgeFetchSuccess(arg0) {
let badge;
let userId;
({ userId, badge } = arg0);
2026-07-23 10:11:24 +00:00
map = new Map(map);
2026-07-20 16:05:17 +00:00
map = map.get(userId);
2026-07-29 08:29:29 +00:00
if (map == null) {
2026-07-20 16:05:17 +00:00
const _Map = Map;
map = new Map();
}
const map1 = new Map(map);
const result = map1.set(badge.badge_id, badge);
const result1 = map.set(userId, map1);
},
USER_PROFILE_FETCH_SUCCESS: function handleUserProfileFetchSuccess(userProfile) {
userProfile = userProfile.userProfile;
const id = userProfile.user.id;
if (set.has(id)) {
let badges = userProfile.badges;
2026-07-29 08:29:29 +00:00
if (badges == null) {
2026-07-20 16:05:17 +00:00
badges = [];
}
2026-07-29 08:29:29 +00:00
let num = 0;
2026-07-20 16:05:17 +00:00
let value = map.get(id);
let items;
2026-07-29 08:29:29 +00:00
if (value != null) {
2026-07-20 16:05:17 +00:00
items = value.values();
}
2026-07-29 08:29:29 +00:00
if (items == null) {
2026-07-20 16:05:17 +00:00
items = [];
}
2026-07-29 08:29:29 +00:00
for (const item10025 of items) {
if (item10025.owned) {
let tmp5 = num;
num = num + 1;
}
continue;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
if (badges.filter((id) => null != callback(table[2]).resolveProfileBadgeId(id.id)).length !== num) {
let num2 = map3.get(id);
if (num2 == null) {
num2 = 0;
2026-07-20 16:05:17 +00:00
}
const _Date = Date;
2026-07-29 08:29:29 +00:00
if (Date.now() >= num2) {
value = map2.get(id);
if (value == null) {
value = new importDefault(584)(importDefault(687).Millis.MINUTE, HOUR, true);
const tmp13 = importDefault(584);
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
const result = map2.set(id, value);
2026-07-20 16:05:17 +00:00
const _Date2 = Date;
const timestamp = Date.now();
2026-07-29 08:29:29 +00:00
const result1 = obj3.set(id, timestamp + value.fail());
2026-08-06 08:05:19 +00:00
const badgeDirectory = require(8716) /* urlUserId */.fetchBadgeDirectory(id);
const obj5 = require(8716) /* urlUserId */;
2026-07-29 08:29:29 +00:00
const obj6 = map2;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
obj3 = map3;
2026-07-20 16:05:17 +00:00
} else {
2026-07-29 08:29:29 +00:00
const value1 = map2.get(id);
if (value1 != null) {
value1.succeed();
2026-07-20 16:05:17 +00:00
}
map3.delete(id);
}
}
return false;
},
LOGOUT: function handleReset() {
const map = new Map();
const set = new Set();
const set1 = new Set();
const map1 = new Map();
map2.clear();
map3.clear();
}
});
2026-07-23 10:11:24 +00:00
let result = set.fileFinishedImporting("modules/badges/BadgeDirectoryStore.tsx");
2026-07-20 16:05:17 +00:00
2026-07-29 08:29:29 +00:00
export default badgeDirectoryStore;
export const getSingleRequirementThreshold = function getSingleRequirementThreshold(arg0) {
let num;
if (arg0 != null) {
const first = arg0.requirements[0];
if (first != null) {
num = first.threshold;
}
}
if (num == null) {
num = 0;
}
return num;
};
export const getObtainedAtFromBadge = function getObtainedAtFromBadge(current_tier) {
if (null != current_tier) {
let obtained_at;
if (null != current_tier.current_tier) {
const tier_obtained_at = current_tier.tier_obtained_at;
let tmp2;
if (tier_obtained_at != null) {
tmp2 = tier_obtained_at[current_tier.current_tier];
}
obtained_at = tmp2;
}
if (obtained_at == null) {
obtained_at = current_tier.obtained_at;
}
return obtained_at;
}
};