Files
discord-decomp/sources/modules/guild_progress/native/GuildProgressUtils.tsx
T
2026-07-27 16:20:00 +03:00

155 lines
8.6 KiB
TypeScript

/* Metro module 11932; source: modules/guild_progress/native/GuildProgressUtils.tsx; dependencies: [1935, 1867, 3784, 11933, 11927, 661, 4080, 11934, 1962, 11935, 566, 11930, 1244, 21, 2] */
function _fun91564(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#91564, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12118:6, offset: 0x0206a08d, size: 307 bytes, params: 8, frame: 20
const env0_0 = require;
const closure = useIOSCompletionStates;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const guildChannelStore = importDefault(1935) /* metro dependency 1935: GuildChannelStore */;
const guildStore = importDefault(1867) /* metro dependency 1867: GuildStore */;
const permissionStore = importDefault(3784) /* metro dependency 3784: PermissionStore */;
const guildProgressStore = importDefault(11933) /* metro dependency 11933: GuildProgressStore */;
const env0_7 = (require(11927) /* metro dependency 11927: GuildProgressConstants */).Steps;
const constantsModule = require(661) /* metro dependency 661: Constants */;
const env0_8 = constantsModule.WELCOME_OLD_GUILD_AGE_THRESHOLD;
const env0_9 = constantsModule.Permissions;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/guild_progress/native/GuildProgressUtils.tsx');
exports.MIN_PROGRESS_PERCENT = 3;
exports.PROGRESS_BACKGROUND_COLOR = 'rgba(78, 93, 148, 0.3)';
exports.openActionSheet = openActionSheet;
exports.hideActionSheet = hideActionSheet_91572;
exports.createGuildProgress = createGuildProgress;
exports.useIOSCompletionStates = closure;
exports.useGuildProgressStep = useGuildProgressStep;
exports.useIsEligibleForGuildProgress = useIsEligibleForGuildProgress;
}
function useIOSCompletionStates(a0) { // fn#91565, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12118:214, offset: 0x0206a1c0, size: 459 bytes, params: 2, frame: 23
var r3;
var length;
var length2;
const env0_0 = a0;
const value2 = undefined;
const fluxModule = require(566) /* metro dependency 566: flux */;
let useStateFromStores = fluxModule.useStateFromStores;
let items = [PermissionStore];
const value3 = Reflect.apply(useStateFromStores, fluxModule, [items, _fun91566]);
const value4 = (require(11930) /* metro dependency 11930: GuildProgressHooks */).useGuildPersonalized(a0);
const value5 = (require(11930) /* metro dependency 11930: GuildProgressHooks */).useGuildPopulated(a0);
const defaultChannel = fluxModule.useStateFromStores([GuildChannelStore], _fun91567);
const value6 = (require(11930) /* metro dependency 11930: GuildProgressHooks */).useChannelsMessaged(defaultChannel != null ? [defaultChannel] : []);
const moduleValue6 = fluxModule;
useStateFromStores = moduleValue6.useStateFromStores;
const r6 = value6 || Reflect.apply(useStateFromStores, moduleValue6, [[GuildProgressStore], _fun91568]);
const progress = fluxModule.useStateFromStores([GuildProgressStore], _fun91569);
if (value3) {
items = [value5, value4, r6];
length = items.filter(function(a0) {
return a0;
}).length;
length2 = items.length;
r3 = progress == null ? value2 : progress.has(Steps.COMPLETED);
r3 = !r3 ? length === length2 : r3;
return {guildPopulated: value5, guildPersonalized: value4, guildMessaged: r6, completed: r3,
dismissed: progress == null || progress.has(Steps.DISMISSED), numFinished: r3 ? length2 : length,
totalSteps: length2};
}
return {'guildPopulated': false, 'guildPersonalized': false, 'guildMessaged': false, 'guildChannelCreated': false,
'completed': true, 'dismissed': true, 'numFinished': 0, 'totalSteps': 0};
}
function openActionSheet(a0) { // fn#91571, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12118:1260, offset: 0x0206a43a, size: 112 bytes, params: 2, frame: 18
const defaultImport = importDefault(dependencyMap[6]);
const openLazy = defaultImport.openLazy;
let value = require(dependencyMap[8]);
value = value(dependencyMap[7], dependencyMap.paths);
Reflect.apply(openLazy, defaultImport, [value, 'guild-progress-' + a0.id, {guild: a0}]);
}
function hideActionSheet_91572(a0) { // fn#91572, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12118:1382, offset: 0x0206a4aa, size: 65 bytes, params: 2, frame: 14
(importDefault(4080) /* metro dependency 4080: ActionSheetActionCreators */).hideActionSheet('guild-progress-' + a0);
}
function createGuildProgress(a0) { // fn#91573, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12118:1480, offset: 0x0206a4eb, size: 64 bytes, params: 2, frame: 12
if (GuildStore.getGuild(a0) != null) {
(importDefault(11935) /* metro dependency 11935: GuildProgressActionCreators */).createProgress(a0);
}
}
function useGuildProgressStep(a0) { // fn#91574, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12118:1631, offset: 0x0206a52b, size: 527 bytes, params: 2, frame: 23
var r5;
var r0;
var r10;
var value6;
var value7;
const {guildPopulated, guildPersonalized, guildMessaged, completed, totalSteps} = useIOSCompletionStates(a0);
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
let string = intl.string;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
let object = [Reflect.apply(string, intl, [t.q9n0Ta])];
string = intl.string;
const DWB2YZ = t.DWB2YZ;
object[1] = Reflect.apply(string, intl, [DWB2YZ]);
object[2] = intl.string(t.dNktpr);
const value4 = 0;
if (guildPopulated) {
object[value4] = null;
r5 = 1;
} else {
r5 = value4;
}
if (guildPersonalized) {
value6 = typeof r5 === 'bigint' ? r5 + 1n : +r5 + 1;
object[1] = null;
r0 = value6;
} else {
r0 = r5;
}
if (guildMessaged) {
value7 = typeof r0 === 'bigint' ? r0 + 1n : +r0 + 1;
object[3] = null;
r10 = value7;
} else {
r10 = r0;
}
const r7 = object.find(function(a0) {
return a0 != null;
}) ?? intl.string(t['+Gyklt']);
object = {};
const Math = global.Math;
object.percentComplete = Math.max(3, 100 * r10 / totalSteps);
object.subtitle = r10 < totalSteps ? intl.formatToPlainString(t.zhHW5c, {currStep: r10 + 1, total: totalSteps,
step: r7}) : intl.string(t['+Gyklt']);
object.completed = completed;
return object;
}
function useIsEligibleForGuildProgress(a0) { // fn#91576, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12118:2281, offset: 0x0206a73a, size: 133 bytes, params: 2, frame: 18
const env0_0 = a0;
const value2 = (require(566) /* metro dependency 566: flux */).useStateFromStores([PermissionStore], _fun91577);
const defaultImport = importDefault(21) /* metro dependency 21: SnowflakeUtils */;
const value3 = defaultImport.extractTimestamp(a0.id);
const Date = global.Date;
return value2 && !(value3 < Date.now() - WELCOME_OLD_GUILD_AGE_THRESHOLD);
}
function _fun91566() { // fn#91566, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12118:288, offset: 0x0206a38b, size: 38 bytes, params: 1, frame: 13
const can = PermissionStore.can;
const ADMINISTRATOR = Permissions.ADMINISTRATOR;
return Reflect.apply(can, PermissionStore, [ADMINISTRATOR, env0_0]);
}
function _fun91567() { // fn#91567, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12118:421, offset: 0x0206a3b1, size: 32 bytes, params: 1, frame: 11
return GuildChannelStore.getDefaultChannel(env0_0.id);
}
function _fun91568() { // fn#91568, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12118:535, offset: 0x0206a3d1, size: 73 bytes, params: 1, frame: 13
const value = environment.__proto__;
const r1 = GuildProgressStore.getProgress(env0_0.id)?.has(Steps.MESSAGE);
return r1 != null && r1;
}
function _fun91569() { // fn#91569, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12118:667, offset: 0x0206a41a, size: 32 bytes, params: 1, frame: 11
return GuildProgressStore.getProgress(env0_0.id);
}