Files
discord-decomp/modules/global_discovery_servers/GlobalDiscoveryServersUtils.tsx
T
2026-11-01 12:12:55 +02:00

222 lines
7.0 KiB
TypeScript

// Metro module 16668 (f16669).
import LocaleStore from "../user_settings/LocaleStore";
import GlobalDiscoveryServersSearchResultsStore from "./GlobalDiscoveryServersSearchResultsStore";
import { CategoryId, DISCOVERY_ALL_CATEGORIES_ID, FEATURED_GUILDS_CACHE_DURATION, FEATURED_GUILDS_SEARCH_OPTIONS, GlobalDiscoveryServerTab, HUBS_CATEGORY_ID, getLanguageOptions } from "./GlobalDiscoveryServersConstants";
import { AnalyticEvents } from "../../Constants";
import { intl, t } from "../../intl/index.native";
import { assertNever } from "../../utils/GlobalUtils";
import { startLurking } from "../../utils/GuildDiscoveryUtils";
import AnalyticsUtils from "../../utils/AnalyticsUtils";
import GlobalDiscoveryServersFeaturedSearchManager from "./GlobalDiscoveryServersFeaturedSearchManager";
import { v4 } from "../../_bundle/Module514";
export function getGlobalDiscoveryServersTabTitle(a0) {
if (GlobalDiscoveryServerTab.FEATURED === a0) {
return intl.string(t["RU+DCe"]);
}
if (GlobalDiscoveryServerTab.GAMING === a0) {
return intl.string(t["CD/USA"]);
}
if (GlobalDiscoveryServerTab.MUSIC === a0) {
return intl.string(t["nt9PL+"]);
}
if (GlobalDiscoveryServerTab.ENTERTAINMENT === a0) {
return intl.string(t.gSbmdt);
}
if (GlobalDiscoveryServerTab.TECH === a0) {
return intl.string(t["0A0By5"]);
}
if (GlobalDiscoveryServerTab.EDUCATION === a0) {
return intl.string(t.Gy9woq);
}
if (GlobalDiscoveryServerTab.HUBS === a0) {
return intl.string(t["q469/Z"]);
}
}
export function getGlobalDiscoveryServersBannerTitle(a0) {
if (GlobalDiscoveryServerTab.FEATURED === a0) {
return intl.string(t.OlDfzP);
}
if (GlobalDiscoveryServerTab.GAMING === a0) {
return intl.string(t["CD/USA"]);
}
if (GlobalDiscoveryServerTab.MUSIC === a0) {
return intl.string(t["nt9PL+"]);
}
if (GlobalDiscoveryServerTab.ENTERTAINMENT === a0) {
return intl.string(t.gSbmdt);
}
if (GlobalDiscoveryServerTab.TECH === a0) {
return intl.string(t["0A0By5"]);
}
if (GlobalDiscoveryServerTab.EDUCATION === a0) {
return intl.string(t.Gy9woq);
}
if (GlobalDiscoveryServerTab.HUBS === a0) {
return intl.string(t.X5xPlb);
}
throw new Error(`[getGlobalDiscoveryServerTabTitle] Unsupported tab: ${a0}`);
}
export function getGlobalDiscoveryServersBannerDescription(a0) {
if (GlobalDiscoveryServerTab.FEATURED === a0) {
return intl.string(t.SdMhrk);
}
if (GlobalDiscoveryServerTab.GAMING === a0) {
return intl.string(t.AAJ5ov);
}
if (GlobalDiscoveryServerTab.MUSIC === a0) {
return intl.string(t["SOio+D"]);
}
if (GlobalDiscoveryServerTab.ENTERTAINMENT === a0) {
return intl.string(t.R09vf0);
}
if (GlobalDiscoveryServerTab.TECH === a0) {
return intl.string(t.Ew4d56);
}
if (GlobalDiscoveryServerTab.EDUCATION === a0) {
return intl.string(t.sasIWU);
}
if (GlobalDiscoveryServerTab.HUBS === a0) {
return intl.string(t["F/IQCI"]);
}
throw new Error(`[getGlobalDiscoveryServerTabTitle] Unsupported tab: ${a0}`);
}
export function getGlobalDiscoveryServersTabSectionTitle(a0) {
if (GlobalDiscoveryServerTab.FEATURED === a0) {
return intl.string(t.crt84X);
}
if (GlobalDiscoveryServerTab.GAMING === a0) {
return intl.string(t.fWbIpf);
}
if (GlobalDiscoveryServerTab.MUSIC === a0) {
return intl.string(t.nfgDzz);
}
if (GlobalDiscoveryServerTab.ENTERTAINMENT === a0) {
return intl.string(t.k1CYxv);
}
if (GlobalDiscoveryServerTab.TECH === a0) {
return intl.string(t["4dawps"]);
}
if (GlobalDiscoveryServerTab.EDUCATION === a0) {
return intl.string(t.uexPgT);
}
return null;
}
export function getCategoryIdFromServerTab(a0) {
if (GlobalDiscoveryServerTab.FEATURED === a0) {
return DISCOVERY_ALL_CATEGORIES_ID;
}
if (GlobalDiscoveryServerTab.GAMING === a0) {
return CategoryId.Activity;
}
if (GlobalDiscoveryServerTab.MUSIC === a0) {
return CategoryId.Music;
}
if (GlobalDiscoveryServerTab.ENTERTAINMENT === a0) {
return CategoryId.Television;
}
if (GlobalDiscoveryServerTab.TECH === a0) {
return CategoryId.Science;
}
if (GlobalDiscoveryServerTab.EDUCATION === a0) {
return CategoryId.Education;
}
if (GlobalDiscoveryServerTab.HUBS === a0) {
return HUBS_CATEGORY_ID;
}
assertNever(a0);
}
export function isStaleFeaturedGuilds(a0) {
return a0 == null || Date.now() - a0 > FEATURED_GUILDS_CACHE_DURATION;
}
export function fromDiscoverableGuildServer(a0) {
return {
id: a0.id,
name: a0.name,
description: a0.description,
splash: a0.splash,
banner: a0.banner,
icon: a0.icon,
features: new Set(a0.features),
presenceCount: a0.approximate_presence_count,
memberCount: a0.approximate_member_count,
premiumSubscriptionCount: a0.premium_subscription_count,
preferredLocale: a0.preferred_locale,
discoverySplash: a0.discovery_splash,
emojis: a0.emojis,
emojiCount: a0.emoji_count
};
}
export function fromDiscoverableGuildSearchResult(a0) {
return {
id: a0.id,
name: a0.name,
description: a0.description,
splash: a0.splash,
banner: a0.banner,
icon: a0.icon,
features: new Set(a0.features),
presenceCount: a0.approximate_presence_count,
memberCount: a0.approximate_member_count,
premiumSubscriptionCount: void 0,
preferredLocale: void 0,
discoverySplash: a0.discovery_splash,
emojis: []
};
}
export function getLanguageCodeFallback(r5 = [LocaleStore]) {
const [r22] = r5;
const languageOptions = getLanguageOptions();
const locale = r22.locale;
let r29 = languageOptions.find((languageOption) => languageOption.code === locale);
if (r29 == null) {
r29 = languageOptions[0];
}
return r29.code;
}
export async function navigateToGuild(c28493_0) {
let c28493_2;
c28493_2 = void 0;
let c31098_0 = c28493_0.loadId;
let c31098_1 = c28493_0.guildId;
let c31098_2 = c28493_0.index;
let c31098_3 = c28493_0.categoryId;
let c31098_4 = c28493_0.analyticsLocation;
let c31098_5 = c28493_0.options;
await void 0;
let c31098_6 = {
...c31098_5,
loadId: c31098_0
};
await startLurking(c31098_1, c31098_4, c31098_6);
AnalyticsUtils.track(AnalyticEvents.GUILD_DISCOVERY_GUILD_SELECTED, {
guild_id: c31098_1,
load_id: c31098_0,
card_index: c31098_2,
category_id: c31098_3,
location: c31098_4
});
}
export function handleTabPressPrefetch() {
const error = GlobalDiscoveryServersSearchResultsStore.getError(FEATURED_GUILDS_SEARCH_OPTIONS);
const isFetching = GlobalDiscoveryServersSearchResultsStore.getIsFetching(FEATURED_GUILDS_SEARCH_OPTIONS);
let r9 = GlobalDiscoveryServersSearchResultsStore.getIsInitialFetchComplete(FEATURED_GUILDS_SEARCH_OPTIONS);
if (!r9 && !isFetching) {
GlobalDiscoveryServersFeaturedSearchManager.fetchFeaturedGuilds();
} else {
if (r9) {
r9 = !isFetching;
}
if (r9) {
r9 = error != null;
}
if (r9) {
GlobalDiscoveryServersFeaturedSearchManager.fetchFeaturedGuilds({
forceRefresh: true
});
}
}
}
export function makeAnalyticsID() {
return v4().replace(/-/g, "");
}