decord/alpha/source/modules/badges/PendingBadgeSettings.tsx
2026-10-13 12:43:34 +00:00

371 lines
13 KiB
TypeScript

// Module ID: 13724
// Function ID: 13725
// Name: PendingBadgeSettings
// Dependencies: [32, 1390, 8317, 10579, 584, 8318, 2]
// Exports: applyPendingBadgeSettings, getPendingProfileBadges, hasPendingBadgeSettings, moveBadgeInDisplayOrder, resetPendingBadgeSettings, setPendingBadgeDisplayOrder, setPendingBadgeHiddenBadges, setPendingBadgeVisibility
// Module 13724 (PendingBadgeSettings)
import DispatcherDefault from "Dispatcher" /* 584 */;
import BadgeIdResolution from "BadgeIdResolution" /* 8318 */;
import BadgeUtils from "BadgeUtils" /* 10579 */;
import _slicedToArray from "_slicedToArray" /* 32 */;
import UserStore from "UserStore" /* 1390 */;
import BadgeDirectoryStore from "BadgeDirectoryStore" /* 8317 */;
import size from "module_2" /* 2 */;
let map, owned, set;
function getSavedBadgeSettings() {
const currentUser = UserStore.getCurrentUser();
let id;
if (currentUser != null) {
id = currentUser.id;
}
if (null != id) {
const obj4 = BadgeDirectoryStore;
if (BadgeDirectoryStore.hasCatalogFor(id)) {
const items = [];
const _Set = Set;
const self = this;
const self2 = this;
set = new Set();
const badges = obj4.getBadges(id);
for (const item10020 of badges) {
let tmp8 = item10020;
let obj2 = BadgeUtils;
if (!obj2.isPinnedBadge(item10020.badge_id)) {
if (tmp8.owned) {
if (tmp8.hidden) {
let addResult = set.add(tmp8.badge_id);
} else {
let arr = items.push(tmp8.badge_id);
}
}
}
continue;
}
return { displayOrder: items, hiddenBadges: set };
}
}
return null;
}
function applyPendingBadgeSettingsToProfileBadges(items, arg1) {
let found;
let pendingBadgeDisplayOrder;
let pendingBadgeHiddenBadges;
({ pendingBadgeDisplayOrder, pendingBadgeHiddenBadges } = arg1);
set = undefined;
if (null == pendingBadgeDisplayOrder) {
if (null == pendingBadgeHiddenBadges) {
items = [];
HermesBuiltin.arraySpread(items, items, 0);
return items;
}
}
set = null;
if (null != pendingBadgeHiddenBadges) {
const _Set = Set;
const self2 = this;
const self = this;
set = new Set(pendingBadgeHiddenBadges);
}
if (null == set) {
const items1 = [];
HermesBuiltin.arraySpread(items1, items, 0);
found = items1;
} else {
found = items.filter((id) => {
const obj = BadgeIdResolution;
const profileBadgeId = obj.resolveProfileBadgeId(id.id);
let isPinnedBadgeResult = null == profileBadgeId;
if (!isPinnedBadgeResult) {
const tmpResult = BadgeUtils;
isPinnedBadgeResult = tmpResult.isPinnedBadge(profileBadgeId);
}
if (!isPinnedBadgeResult) {
isPinnedBadgeResult = !set.has(profileBadgeId);
}
return isPinnedBadgeResult;
});
}
if (null == pendingBadgeDisplayOrder) {
return found;
} else {
const items2 = [];
const _Map = Map;
const self3 = this;
const self4 = this;
map = new Map();
for (const item10027 of found) {
let tmp10 = item10027;
let tmp11 = set;
let obj = set(8318);
let profileBadgeId = obj.resolveProfileBadgeId(item10027.id);
let tmp14 = profileBadgeId;
if (null != profileBadgeId) {
let tmp11Result = tmp11(10579);
if (!tmp11Result.isPinnedBadge(tmp14)) {
if (!map.has(tmp14)) {
let result = map.set(tmp14, tmp10);
}
continue;
}
}
let arr = items2.push(tmp10);
}
const items3 = [];
for (const item10058 of pendingBadgeDisplayOrder) {
let tmp24 = item10058;
let value = map.get(item10058);
if (null != value) {
let arr2 = items3.push(tmp26);
let deleteResult = map.delete(tmp24);
}
continue;
}
const items4 = [];
const arraySpreadResult5 = HermesBuiltin.arraySpread(items4, items3, HermesBuiltin.arraySpread(items4, items2, 0));
HermesBuiltin.arraySpread(items4, map.values(), arraySpreadResult5);
return items4;
}
}
function moveBadgeInDisplayOrder(value, index, clampResult) {
if (index !== clampResult) {
if (index >= 0) {
if (index < value.length) {
const items = [];
HermesBuiltin.arraySpread(items, value, 0);
const _Math = Math;
const _Math2 = Math;
items.splice(Math.min(Math.max(clampResult, 0), items.length), 0, _slicedToArray(items.splice(index, 1), 1)[0]);
return items;
}
}
}
return value;
}
moveBadgeInDisplayOrder.__closure = {};
moveBadgeInDisplayOrder.__workletHash = 15133920248237;
moveBadgeInDisplayOrder.__initData = { code: "function moveBadgeInDisplayOrder_PendingBadgeSettingsTsx1(badgeIds,fromIndex,toIndex){if(fromIndex===toIndex||fromIndex<0||fromIndex>=badgeIds.length){return badgeIds;}const next=[...badgeIds];const[moved]=next.splice(fromIndex,1);next.splice(Math.min(Math.max(toIndex,0),next.length),0,moved);return next;}" };
let result = size.fileFinishedImporting("modules/badges/PendingBadgeSettings.tsx");
export const setPendingBadgeDisplayOrder = function setPendingBadgeDisplayOrder(arr) {
const tmp2 = getSavedBadgeSettings();
let tmp3 = null != tmp2;
if (tmp3) {
const displayOrder = tmp2.displayOrder;
tmp3 = arr.length === displayOrder.length && arr.every((item, index) => item === displayOrder[index]);
arr.length === displayOrder.length && arr.every((item, index) => item === displayOrder[index]);
}
let tmp6;
const dispatch = DispatcherDefault.dispatch;
DispatcherDefault;
if (!tmp3) {
const items = [];
HermesBuiltin.arraySpread(items, arr, 0);
tmp6 = items;
}
dispatch({ type: "USER_PROFILE_SETTINGS_SET_PENDING_CHANGES", pendingBadgeDisplayOrder: tmp6 });
};
export const setPendingBadgeHiddenBadges = function setPendingBadgeHiddenBadges(arr) {
const tmp2 = getSavedBadgeSettings();
let tmp3 = null != tmp2;
if (tmp3) {
const hiddenBadges = tmp2.hiddenBadges;
tmp3 = arr.length === hiddenBadges.size && arr.every((item) => hiddenBadges.has(item));
arr.length === hiddenBadges.size && arr.every((item) => hiddenBadges.has(item));
}
let tmp6;
const dispatch = DispatcherDefault.dispatch;
DispatcherDefault;
if (!tmp3) {
const items = [];
HermesBuiltin.arraySpread(items, arr, 0);
tmp6 = items;
}
dispatch({ type: "USER_PROFILE_SETTINGS_SET_PENDING_CHANGES", pendingBadgeHiddenBadges: tmp6 });
};
export const setPendingBadgeVisibility = function setPendingBadgeVisibility(badgeId) {
let found1;
let hidden;
let hiddenBadgeIds;
let reorderableBadgeIds;
badgeId = badgeId.badgeId;
({ hidden, reorderableBadgeIds, hiddenBadgeIds } = badgeId);
if (badgeId.canReorder) {
let found;
if (hidden) {
found = reorderableBadgeIds.filter((item) => item !== badgeId);
} else {
const items = [];
items[HermesBuiltin.arraySpread(items, reorderableBadgeIds, 0)] = badgeId;
found = items;
}
const tmp5 = getSavedBadgeSettings();
let tmp7 = null != tmp5;
if (tmp7) {
const displayOrder = tmp5.displayOrder;
tmp7 = found.length === displayOrder.length && found.every((item, index) => item === displayOrder[index]);
found.length === displayOrder.length && found.every((item, index) => item === displayOrder[index]);
}
let tmp12;
const dispatch = DispatcherDefault.dispatch;
DispatcherDefault;
if (!tmp7) {
const items1 = [];
HermesBuiltin.arraySpread(items1, found, 0);
tmp12 = items1;
}
const obj = { type: "USER_PROFILE_SETTINGS_SET_PENDING_CHANGES", pendingBadgeDisplayOrder: tmp12 };
dispatch(obj);
}
if (hidden) {
const items2 = [];
items2[HermesBuiltin.arraySpread(items2, hiddenBadgeIds, 0)] = badgeId;
found1 = items2;
} else {
found1 = hiddenBadgeIds.filter((item) => item !== badgeId);
}
const tmp19 = getSavedBadgeSettings();
let tmp20 = null != tmp19;
if (tmp20) {
const hiddenBadges = tmp19.hiddenBadges;
tmp20 = found1.length === hiddenBadges.size && found1.every((item) => hiddenBadges.has(item));
found1.length === hiddenBadges.size && found1.every((item) => hiddenBadges.has(item));
}
let tmp23;
const dispatch2 = DispatcherDefault.dispatch;
DispatcherDefault;
if (!tmp20) {
const items3 = [];
HermesBuiltin.arraySpread(items3, found1, 0);
tmp23 = items3;
}
dispatch2({ type: "USER_PROFILE_SETTINGS_SET_PENDING_CHANGES", pendingBadgeHiddenBadges: tmp23 });
};
export const resetPendingBadgeSettings = function resetPendingBadgeSettings() {
const obj = DispatcherDefault;
obj.dispatch({ type: "USER_PROFILE_SETTINGS_SET_PENDING_CHANGES", pendingBadgeDisplayOrder: "code", pendingBadgeHiddenBadges: "top" });
};
export const hasPendingBadgeSettings = function hasPendingBadgeSettings(pendingBadgeDisplayOrder) {
return undefined !== pendingBadgeDisplayOrder.pendingBadgeDisplayOrder || undefined !== pendingBadgeDisplayOrder.pendingBadgeHiddenBadges;
};
export const applyPendingBadgeSettings = function applyPendingBadgeSettings(stateFromStoresArray, arg1) {
let mapped;
let pendingBadgeDisplayOrder;
let pendingBadgeHiddenBadges;
({ pendingBadgeDisplayOrder, pendingBadgeHiddenBadges } = arg1);
set = null;
if (null != pendingBadgeHiddenBadges) {
const _Set = Set;
const self2 = this;
const self = this;
set = new Set(pendingBadgeHiddenBadges);
}
if (null == set) {
const items = [];
HermesBuiltin.arraySpread(items, stateFromStoresArray, 0);
mapped = items;
} else {
mapped = stateFromStoresArray.map((badge_id) => {
let tmp = badge_id;
const obj = BadgeUtils;
if (!obj.isPinnedBadge(badge_id.badge_id)) {
const obj2 = { hidden: set.has(badge_id.badge_id) };
const merged = Object.assign(badge_id);
tmp = obj2;
}
return tmp;
});
}
if (null == pendingBadgeDisplayOrder) {
return mapped;
} else {
const items1 = [];
const _Map = Map;
const self3 = this;
const self4 = this;
map = new Map();
for (const item10026 of mapped) {
let tmp9 = item10026;
let obj = set(10579);
if (obj.isPinnedBadge(item10026.badge_id)) {
let arr = items1.push(tmp9);
} else {
let result = map.set(tmp9.badge_id, tmp9);
}
continue;
}
const items2 = [];
for (const item10048 of pendingBadgeDisplayOrder) {
let tmp18 = item10048;
let value = map.get(item10048);
if (null != value) {
let arr2 = items2.push(tmp20);
let deleteResult = map.delete(tmp18);
}
continue;
}
const items3 = [];
const arraySpreadResult3 = HermesBuiltin.arraySpread(items3, items2, HermesBuiltin.arraySpread(items3, items1, 0));
HermesBuiltin.arraySpread(items3, map.values(), arraySpreadResult3);
return items3;
}
};
export const getPendingProfileBadges = function getPendingProfileBadges(arr, stateFromStoresArray, arg2) {
let pendingBadgeDisplayOrder;
let pendingBadgeHiddenBadges;
({ pendingBadgeDisplayOrder, pendingBadgeHiddenBadges } = arg2);
if (null == pendingBadgeHiddenBadges) {
return applyPendingBadgeSettingsToProfileBadges(arr, arg2);
} else {
const _Set = Set;
const self3 = this;
const self4 = this;
set = new Set(arr.map((id) => {
const obj = set(_Set31[5]);
return obj.resolveProfileBadgeId(id.id);
}));
const _Set2 = Set;
const self5 = this;
const self6 = this;
const set1 = new Set(pendingBadgeHiddenBadges);
const _Set3 = Set;
if (pendingBadgeDisplayOrder == null) {
pendingBadgeDisplayOrder = [];
}
const self = this;
const self2 = this;
const _Set31 = new _Set3(pendingBadgeDisplayOrder);
const found = stateFromStoresArray.filter((owned) => {
owned = owned.owned;
if (owned) {
let flag = owned.hidden;
if (flag == null) {
flag = false;
}
if (!flag) {
flag = _Set31.has(owned.badge_id);
}
owned = flag;
}
if (owned) {
owned = !set1.has(owned.badge_id);
}
if (owned) {
owned = !set.has(owned.badge_id);
}
return owned;
});
const mapped = found.map((badge_id) => {
const obj = set(_Set31[5]);
const result = obj.toProfileBadgeLegacyId(badge_id.badge_id);
return { id: result, icon: result, iconSrc: badge_id.simple_icon_raster_url, description: badge_id.name };
});
const items = [];
HermesBuiltin.arraySpread(items, mapped, HermesBuiltin.arraySpread(items, arr, 0));
return applyPendingBadgeSettingsToProfileBadges(items, arg2);
}
};
export { applyPendingBadgeSettingsToProfileBadges };
export { moveBadgeInDisplayOrder };