Files
discord-decomp/sources/modules/global_discovery_servers/GlobalDiscoveryServersUtils.tsx
T
2026-07-28 01:06:53 +03:00

335 lines
16 KiB
TypeScript

/* Metro module 16164; source: modules/global_discovery_servers/GlobalDiscoveryServersUtils.tsx; dependencies: [5, 1949, 12551, 9114, 661, 1244, 1360, 6946, 683, 16163, 491, 2] */
import Module00005 from '../../by-id/module-00005.js'; /* Metro dependency 5 */
import LocaleStore from '../user_settings/LocaleStore.tsx'; /* Metro dependency 1949 */
import GlobalDiscoveryServersSearchResultsStore from './GlobalDiscoveryServersSearchResultsStore.tsx'; /* Metro dependency 12551 */
import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as Module00491Module from '../../by-id/module-00491.js'; /* Metro dependency 491 */
import * as ConstantsModule from '../../Constants.tsx'; /* Metro dependency 661 */
import * as IndexNativeModule from '../../intl/index.native.tsx'; /* Metro dependency 1244 */
import * as GlobalUtilsModule from '../../utils/GlobalUtils.tsx'; /* Metro dependency 1360 */
import * as GlobalDiscoveryServersConstantsModule from './GlobalDiscoveryServersConstants.tsx'; /* Metro dependency 9114 */
function _fun124951(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#124951, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16372:6, offset: 0x025c80ae, size: 435 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
(FileImportTrackerModule).fileFinishedImporting('modules/global_discovery_servers/GlobalDiscoveryServersUtils.tsx');
exports.getGlobalDiscoveryServersTabTitle = getGlobalDiscoveryServersTabTitle;
exports.getGlobalDiscoveryServersBannerTitle = getGlobalDiscoveryServersBannerTitle;
exports.getGlobalDiscoveryServersBannerDescription = getGlobalDiscoveryServersBannerDescription;
exports.getGlobalDiscoveryServersTabSectionTitle = getGlobalDiscoveryServersTabSectionTitle;
exports.getCategoryIdFromServerTab = getCategoryIdFromServerTab;
exports.isStaleFeaturedGuilds = isStaleFeaturedGuilds;
exports.fromDiscoverableGuildServer = fromDiscoverableGuildServer;
exports.fromDiscoverableGuildSearchResult = fromDiscoverableGuildSearchResult;
exports.getLanguageCodeFallback = getLanguageCodeFallback;
exports.navigateToGuild = function() {
return _navigateToGuild.apply(this, arguments);
};
exports.handleTabPressPrefetch = handleTabPressPrefetch;
exports.makeAnalyticsID = makeAnalyticsID;
function _navigateToGuild() { // fn#124952, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16372:351, offset: 0x025c8261, size: 50 bytes, params: 1, frame: 14
return Module00005(_fun124954).apply(this, arguments);
async function _fun124954({loadId, guildId, index, categoryId, analyticsLocation, options}) { // fn#124954, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16372:406, offset: 0x025c82a7, size: 206 bytes, params: 2, frame: 23
if (true) {
await undefined;
if (false) {
return undefined;
}
var object = {};
copyDataProperties(object, options, undefined);
object['loadId'] = loadId;
value = environment.__proto__.__proto__;
var value4 = env2_2(env2_3[7]);
await value4.startLurking(guildId, analyticsLocation, object);
if (false) {
return undefined;
}
var value7 = env2_1(env2_3[8]);
var track = value7.track;
var GUILD_DISCOVERY_GUILD_SELECTED = env2_14.GUILD_DISCOVERY_GUILD_SELECTED;
Reflect.apply(track, value7, [GUILD_DISCOVERY_GUILD_SELECTED, {guild_id: guildId, load_id: loadId,
card_index: index, category_id: categoryId, location: analyticsLocation}]);
}
}
}
function getGlobalDiscoveryServersTabTitle(a0) { // fn#124955, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16372:815, offset: 0x025c8375, size: 540 bytes, params: 2, frame: 15
const intl = (IndexNativeModule).intl;
const t = (IndexNativeModule).t;
const FEATURED = GlobalDiscoveryServerTab.FEATURED;
if (FEATURED === a0) {
return intl.string(t['RU+DCe']);
}
const GAMING = GlobalDiscoveryServerTab.GAMING;
if (GAMING === a0) {
return intl.string(t['CD/USA']);
}
const MUSIC = GlobalDiscoveryServerTab.MUSIC;
if (MUSIC === a0) {
return intl.string(t['nt9PL+']);
}
const ENTERTAINMENT = GlobalDiscoveryServerTab.ENTERTAINMENT;
if (ENTERTAINMENT === a0) {
return intl.string(t.gSbmdt);
}
const TECH = GlobalDiscoveryServerTab.TECH;
if (TECH === a0) {
return intl.string(t['0A0By5']);
}
const EDUCATION = GlobalDiscoveryServerTab.EDUCATION;
if (EDUCATION === a0) {
return intl.string(t.Gy9woq);
}
const HUBS = GlobalDiscoveryServerTab.HUBS;
if (HUBS === a0) {
return intl.string(t['q469/Z']);
}
}
function getGlobalDiscoveryServersBannerTitle(a0) { // fn#124956, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16372:1347, offset: 0x025c8591, size: 591 bytes, params: 2, frame: 15
const intl = (IndexNativeModule).intl;
const t = (IndexNativeModule).t;
const FEATURED = GlobalDiscoveryServerTab.FEATURED;
if (FEATURED === a0) {
return intl.string(t.OlDfzP);
}
const GAMING = GlobalDiscoveryServerTab.GAMING;
if (GAMING === a0) {
return intl.string(t['CD/USA']);
}
const MUSIC = GlobalDiscoveryServerTab.MUSIC;
if (MUSIC === a0) {
return intl.string(t['nt9PL+']);
}
const ENTERTAINMENT = GlobalDiscoveryServerTab.ENTERTAINMENT;
if (ENTERTAINMENT === a0) {
return intl.string(t.gSbmdt);
}
const TECH = GlobalDiscoveryServerTab.TECH;
if (TECH === a0) {
return intl.string(t['0A0By5']);
}
const EDUCATION = GlobalDiscoveryServerTab.EDUCATION;
if (EDUCATION === a0) {
return intl.string(t.Gy9woq);
}
const HUBS = GlobalDiscoveryServerTab.HUBS;
if (HUBS === a0) {
return intl.string(t.X5xPlb);
}
const Error = global.Error;
const value = '[getGlobalDiscoveryServerTabTitle] Unsupported tab: ' + a0;
const value2 = Object.create(Error.prototype, {constructor: {value: Error}});
const error = new Error();
throw error instanceof Object ? error : value2;
}
function getGlobalDiscoveryServersBannerDescription(a0) { // fn#124957, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16372:1966, offset: 0x025c87e0, size: 601 bytes, params: 2, frame: 15
const intl = (IndexNativeModule).intl;
const t = (IndexNativeModule).t;
const FEATURED = GlobalDiscoveryServerTab.FEATURED;
if (FEATURED === a0) {
return intl.string(t.SdMhrk);
}
const GAMING = GlobalDiscoveryServerTab.GAMING;
if (GAMING === a0) {
return intl.string(t.AAJ5ov);
}
const MUSIC = GlobalDiscoveryServerTab.MUSIC;
if (MUSIC === a0) {
return intl.string(t['SOio+D']);
}
const ENTERTAINMENT = GlobalDiscoveryServerTab.ENTERTAINMENT;
if (ENTERTAINMENT === a0) {
return intl.string(t.R09vf0);
}
const TECH = GlobalDiscoveryServerTab.TECH;
if (TECH === a0) {
return intl.string(t.Ew4d56);
}
const EDUCATION = GlobalDiscoveryServerTab.EDUCATION;
if (EDUCATION === a0) {
return intl.string(t.sasIWU);
}
const HUBS = GlobalDiscoveryServerTab.HUBS;
if (HUBS === a0) {
return intl.string(t['F/IQCI']);
}
const Error = global.Error;
const value = '[getGlobalDiscoveryServerTabTitle] Unsupported tab: ' + a0;
const value2 = Object.create(Error.prototype, {constructor: {value: Error}});
const error = new Error();
throw error instanceof Object ? error : value2;
}
function getGlobalDiscoveryServersTabSectionTitle(a0) { // fn#124958, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16372:2586, offset: 0x025c8a39, size: 472 bytes, params: 2, frame: 15
const intl = (IndexNativeModule).intl;
const t = (IndexNativeModule).t;
const FEATURED = GlobalDiscoveryServerTab.FEATURED;
if (FEATURED === a0) {
return intl.string(t.crt84X);
}
const GAMING = GlobalDiscoveryServerTab.GAMING;
if (GAMING === a0) {
return intl.string(t.fWbIpf);
}
const MUSIC = GlobalDiscoveryServerTab.MUSIC;
if (MUSIC === a0) {
return intl.string(t.nfgDzz);
}
const ENTERTAINMENT = GlobalDiscoveryServerTab.ENTERTAINMENT;
if (ENTERTAINMENT === a0) {
return intl.string(t.k1CYxv);
}
const TECH = GlobalDiscoveryServerTab.TECH;
if (TECH === a0) {
return intl.string(t['4dawps']);
}
const EDUCATION = GlobalDiscoveryServerTab.EDUCATION;
if (EDUCATION === a0) {
return intl.string(t.uexPgT);
}
return null;
}
function getCategoryIdFromServerTab(a0) { // fn#124959, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16372:3066, offset: 0x025c8c11, size: 220 bytes, params: 2, frame: 13
const FEATURED = GlobalDiscoveryServerTab.FEATURED;
if (FEATURED === a0) {
return DISCOVERY_ALL_CATEGORIES_ID;
}
const GAMING = GlobalDiscoveryServerTab.GAMING;
if (GAMING === a0) {
return CategoryId.Activity;
}
const MUSIC = GlobalDiscoveryServerTab.MUSIC;
if (MUSIC === a0) {
return CategoryId.Music;
}
const ENTERTAINMENT = GlobalDiscoveryServerTab.ENTERTAINMENT;
if (ENTERTAINMENT === a0) {
return CategoryId.Television;
}
const TECH = GlobalDiscoveryServerTab.TECH;
if (TECH === a0) {
return CategoryId.Science;
}
const EDUCATION = GlobalDiscoveryServerTab.EDUCATION;
if (EDUCATION === a0) {
return CategoryId.Education;
}
const HUBS = GlobalDiscoveryServerTab.HUBS;
if (HUBS === a0) {
return HUBS_CATEGORY_ID;
}
(GlobalUtilsModule).assertNever(a0);
}
function isStaleFeaturedGuilds(a0) { // fn#124960, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16372:3384, offset: 0x025c8ced, size: 46 bytes, params: 2, frame: 11
var r0;
var Date;
let value = a0 == null;
if (value) {
r0 = value;
} else {
Date = global.Date;
value = Date.now() - a0;
value = value > FEATURED_GUILDS_CACHE_DURATION;
r0 = value;
}
return r0;
}
function getLanguageCodeFallback() { // fn#124963, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16372:4313, offset: 0x025c8e6e, size: 122 bytes, params: 1, frame: 15
let value = a0;
const value2 = undefined;
const iterator = (value !== value2 ? value : [LocaleStore])[Symbol.iterator]();
let item2 = iterator.next();
const item = item2.value;
item2 = item2.done ? undefined : iterator;
value = item2 === value2;
const r1 = value ? value2 : item;
if (!value) {
item2.return();
}
value = getLanguageOptions();
const env0_0 = r1.locale;
return (value.find(function({code}) {
return code === locale;
}) ?? value[0]).code;
}
function handleTabPressPrefetch() { // fn#124966, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16372:4550, offset: 0x025c8efd, size: 148 bytes, params: 1, frame: 15
var r1;
const globalDiscoveryServersSearchResultsStoreBinding = GlobalDiscoveryServersSearchResultsStore;
const error = globalDiscoveryServersSearchResultsStoreBinding.getError(FEATURED_GUILDS_SEARCH_OPTIONS);
const isFetching = globalDiscoveryServersSearchResultsStoreBinding.getIsFetching(FEATURED_GUILDS_SEARCH_OPTIONS);
const isInitialFetchComplete = globalDiscoveryServersSearchResultsStoreBinding.getIsInitialFetchComplete(FEATURED_GUILDS_SEARCH_OPTIONS);
if (isInitialFetchComplete) {
r1 = isInitialFetchComplete && !isFetching;
r1 = r1 && error != null;
if (r1) {
(importDefault(16163) /* metro dependency 16163: GlobalDiscoveryServersFeaturedSearchManager */).fetchFeaturedGuilds({forceRefresh: true});
}
} else if (isFetching) {
r1 = isInitialFetchComplete && !isFetching;
r1 = r1 && error != null;
if (r1) {
(importDefault(16163) /* metro dependency 16163: GlobalDiscoveryServersFeaturedSearchManager */).fetchFeaturedGuilds({forceRefresh: true});
}
} else {
(importDefault(16163) /* metro dependency 16163: GlobalDiscoveryServersFeaturedSearchManager */).fetchFeaturedGuilds();
}
}
function makeAnalyticsID() { // fn#124967, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16372:4775, offset: 0x025c8f91, size: 66 bytes, params: 1, frame: 13
let value = Module00491Module;
value = value.v4();
return value.replace(RegExp('-', 'g'), '');
}
}
function fromDiscoverableGuildServer({id, name, description, splash, banner, icon, features, approximate_presence_count, approximate_member_count, premium_subscription_count, preferred_locale, discovery_splash, emojis, emoji_count}) { // fn#124961, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16372:3480, offset: 0x025c8d1b, size: 181 bytes, params: 2, frame: 13
const object = {};
object.id = id;
object.name = name;
object.description = description;
object.splash = splash;
object.banner = banner;
object.icon = icon;
const Set = global.Set;
object.features = new Set(features);
object.presenceCount = approximate_presence_count;
object.memberCount = approximate_member_count;
object.premiumSubscriptionCount = premium_subscription_count;
object.preferredLocale = preferred_locale;
object.discoverySplash = discovery_splash;
object.emojis = emojis;
object.emojiCount = emoji_count;
return object;
}
function fromDiscoverableGuildSearchResult({id, name, description, splash, banner, icon, features, approximate_presence_count, approximate_member_count, discovery_splash}) { // fn#124962, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16372:3931, offset: 0x025c8dd0, size: 158 bytes, params: 2, frame: 13
const object = {};
object.id = id;
object.name = name;
object.description = description;
object.splash = splash;
object.banner = banner;
object.icon = icon;
const Set = global.Set;
object.features = new Set(features);
object.presenceCount = approximate_presence_count;
object.memberCount = approximate_member_count;
object.premiumSubscriptionCount = undefined;
object.preferredLocale = undefined;
object.discoverySplash = discovery_splash;
object.emojis = [];
return object;
}
global.__d(_fun124951, 16164, [5, 1949, 12551, 9114, 661, 1244, 1360, 6946, 683, 16163, 491,
2]) /* metro module 16164, dependencies: [5, 1949, 12551, 9114, 661, 1244, 1360, 6946, 683, 16163, 491, 2] */;