Files
discord-decomp/sources/utils/native/PremiumUpsellUtils.tsx
T
2026-07-28 01:06:53 +03:00

325 lines
18 KiB
TypeScript

/* Metro module 7882; source: utils/native/PremiumUpsellUtils.tsx; dependencies: [31, 1878, 661, 1880, 33, 7883, 1244, 7884, 7885, 7886, 7887, 7888, 7889, 4496, 7901, 1962, 3802, 7062, 7940, 4015, 683, 4080, 5080, 7028, 2] */
import UserStore from '../../stores/UserStore.tsx'; /* Metro dependency 1878 */
import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactModule from '../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as JsxRuntimeModule from '../../by-id/module-00033-JsxRuntime.js'; /* Metro dependency 33 */
import * as ConstantsModule from '../../Constants.tsx'; /* Metro dependency 661 */
import * as IndexNativeModule from '../../intl/index.native.tsx'; /* Metro dependency 1244 */
import * as UsePremiumTrialOfferNativeModule from '../../modules/premium/hooks/usePremiumTrialOffer.native.tsx'; /* Metro dependency 7062 */
import * as PremiumFeaturesCardsModule from '../../modules/user_settings/premium/native/PremiumFeaturesCards.tsx'; /* Metro dependency 7940 */
function _fun63186(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#63186, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8060:6, offset: 0x01b7424b, size: 264 bytes, params: 8, frame: 20
const env0_0 = require;
const usePremiumUpsellConfig2 = usePremiumUpsellConfig;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = ConstantsModule;
const env0_5 = value.AnalyticEvents;
const env0_6 = value.AnalyticsObjects;
const env0_7 = value.UpsellTypes;
value = require(1880) /* metro dependency 1880: PremiumConstants */;
const env0_8 = value.PremiumSubscriptionSKUs;
const env0_9 = value.PremiumTypes;
object = {handleShowUpsellAlert: handleShowUpsellAlert, usePremiumUpsellConfig: usePremiumUpsellConfig2};
(FileImportTrackerModule).fileFinishedImporting('utils/native/PremiumUpsellUtils.tsx');
exports.default = object;
exports.getUpsellItems = getUpsellItems;
exports.usePremiumUpsellConfig = usePremiumUpsellConfig2;
function usePremiumUpsellConfig(a0, a1, a2) { // fn#63187, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8060:251, offset: 0x01b74353, size: 329 bytes, params: 4, frame: 21
const env0_0 = a0;
const env0_1 = a1;
const env0_2 = a2;
const value2 = undefined;
const value3 = (UsePremiumTrialOfferNativeModule).usePremiumTrialOffer();
const env0_3 = value3;
const Set = global.Set;
const GLOBAL_EMOJI = UpsellTypes.GLOBAL_EMOJI;
const UPLOAD = UpsellTypes.UPLOAD;
const r6 = value3 != null && new Set([GLOBAL_EMOJI, UPLOAD]).has(a0);
const r3 = r6 && (value3 == null || value3.subscription_trial == null ? value2 : value3.subscription_trial.sku_id) === PremiumSubscriptionSKUs.TIER_0;
let binding = env0_3;
let useMemo = binding.useMemo;
const value10 = env0_3.useCallback(_fun63189, [Reflect.apply(useMemo, binding, [_fun63188, [a0, r3]]), a1, a2]);
binding = env0_3;
useMemo = binding.useMemo;
return {useTier0UpsellContent: r3, onViewAllPerks: value10, getNitroText: Reflect.apply(useMemo, binding,
[_fun63190, [r3, value3, r6]])};
function _fun63188() { // fn#63188, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8060:474, offset: 0x01b7449c, size: 290 bytes, params: 1, frame: 12
const PremiumFeatureCardOrder = (PremiumFeaturesCardsModule).PremiumFeatureCardOrder;
if (!env0_5) {
var binding = env0_0;
var UPLOAD = UpsellTypes.UPLOAD;
if (UPLOAD === binding) {
return PremiumFeatureCardOrder.TIER_2_LEADING;
}
var ANIMATED_EMOJI = UpsellTypes.ANIMATED_EMOJI;
if (ANIMATED_EMOJI === binding) {
return PremiumFeatureCardOrder.TIER_2_LEADING;
}
var GLOBAL_EMOJI = UpsellTypes.GLOBAL_EMOJI;
if (GLOBAL_EMOJI === binding) {
return PremiumFeatureCardOrder.TIER_2_LEADING;
}
var GLOBAL_STICKER = UpsellTypes.GLOBAL_STICKER;
if (GLOBAL_STICKER === binding) {
return PremiumFeatureCardOrder.TIER_2_LEADING;
}
var CUSTOM_PROFILES = UpsellTypes.CUSTOM_PROFILES;
if (CUSTOM_PROFILES === binding) {
return PremiumFeatureCardOrder.TIER_2_LEADING;
}
var PREMIUM_GUILD_PROFILE = UpsellTypes.PREMIUM_GUILD_PROFILE;
if (PREMIUM_GUILD_PROFILE === binding) {
return PremiumFeatureCardOrder.TIER_2_LEADING;
}
var APP_ICONS = UpsellTypes.APP_ICONS;
if (APP_ICONS === binding) {
return PremiumFeatureCardOrder.TIER_2_LEADING;
}
var STREAM_HIGH_QUALITY = UpsellTypes.STREAM_HIGH_QUALITY;
if (STREAM_HIGH_QUALITY === binding) {
return PremiumFeatureCardOrder.TIER_2_LEADING;
}
var LONGER_MESSAGE = UpsellTypes.LONGER_MESSAGE;
if (LONGER_MESSAGE !== binding) {
if (UpsellTypes.GUILD_CAP !== binding) {
UpsellTypes.ANIMATED_AVATAR;
}
}
}
return PremiumFeatureCardOrder.TIER_0_LEADING;
}
function _fun63189() { // fn#63189, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8060:930, offset: 0x01b745be, size: 257 bytes, params: 1, frame: 21
const bestActiveInput = require(dependencyMap[19]).getBestActiveInput();
if (bestActiveInput != null) {
bestActiveInput.closeCustomKeyboard();
}
const defaultImport = importDefault(dependencyMap[20]);
const track = defaultImport.track;
const PREMIUM_PROMOTION_OPENED = AnalyticEvents.PREMIUM_PROMOTION_OPENED;
Reflect.apply(track, defaultImport, [PREMIUM_PROMOTION_OPENED, {location: importDefault}]);
importDefault(dependencyMap[21]).hideActionSheet();
const defaultImport3 = importDefault(dependencyMap[22]);
const pushLazy = defaultImport3.pushLazy;
const value4 = require(dependencyMap[15])(dependencyMap[23], dependencyMap.paths);
const object2 = {};
copyDataProperties(object2, importDefault, undefined);
const BUTTON_CTA = AnalyticsObjects.BUTTON_CTA;
object2['object'] = BUTTON_CTA;
Reflect.apply(pushLazy, defaultImport3, [value4, {analyticsLocation: object2, analyticsLocations: require ?? [],
premiumFeatureCardOrder: env0_6}]);
}
function _fun63190() { // fn#63190, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8060:1261, offset: 0x01b746bf, size: 338 bytes, params: 1, frame: 16
var sku_id;
const intl = (IndexNativeModule).intl;
const t = (IndexNativeModule).t;
if (env0_4) {
sku_id = env0_3 == null || env0_3.subscription_trial == null ? undefined : env0_3.subscription_trial.sku_id;
value = environment.__proto__;
if (PremiumSubscriptionSKUs.TIER_0 === sku_id) {
return intl.string(t.hz78hE);
}
if (PremiumSubscriptionSKUs.TIER_2 === sku_id) {
return intl.string(t['Gd/XHF']);
}
value = environment.__proto__;
} else if (env0_5) {
value = environment.__proto__;
return intl.string(t['9CM5v9']);
}
return intl.string(t.pj0XBN);
}
}
function handleShowUpsellAlert(a0) { // fn#63191, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8060:1669, offset: 0x01b74811, size: 921 bytes, params: 2, frame: 19
var r5;
var r2;
var object;
var defaultImport;
var defaultImport2;
var defaultImport3;
var defaultImport4;
var defaultImport5;
var defaultImport6;
var canUseAnimatedEmojis2;
var defaultImport8;
var defaultImport9;
var defaultImport10;
var defaultImport11;
var defaultImport12;
var defaultImport13;
const initialUpsellKey = a0.initialUpsellKey;
if (a0.analyticsLocation === undefined) {
object = {};
}
if (a0.analyticsLocations === undefined) {
object = [];
}
if (a0.analyticsProperties === undefined) {
object = {};
}
const env0_4 = a0.largestFileSize;
const env0_5 = a0.imageSource;
var value;
const currentUser = UserStore.getCurrentUser();
const value3 = false;
if (currentUser == null) {
r2 = value3;
} else if (UpsellTypes.UPLOAD === initialUpsellKey) {
defaultImport13 = importDefault(3802) /* metro dependency 3802: PremiumUtils */;
r2 = !defaultImport13.isPremiumExactly(currentUser, PremiumTypes.TIER_2);
} else if (UpsellTypes.GLOBAL_EMOJI === initialUpsellKey) {
defaultImport12 = importDefault(3802) /* metro dependency 3802: PremiumUtils */;
r2 = !defaultImport12.canUseEmojisEverywhere(currentUser);
} else if (UpsellTypes.ANIMATED_AVATAR === initialUpsellKey) {
defaultImport11 = importDefault(3802) /* metro dependency 3802: PremiumUtils */;
r2 = !defaultImport11.canUseAnimatedAvatar(currentUser);
} else if (UpsellTypes.BADGE === initialUpsellKey) {
defaultImport10 = importDefault(3802) /* metro dependency 3802: PremiumUtils */;
r2 = !defaultImport10.canUseBadges(currentUser);
} else if (UpsellTypes.ANIMATED_EMOJI === initialUpsellKey) {
defaultImport9 = importDefault(3802) /* metro dependency 3802: PremiumUtils */;
r2 = !defaultImport9.canUseAnimatedEmojis(currentUser);
} else if (UpsellTypes.EMOJI_AUTOCOMPLETE === initialUpsellKey) {
canUseAnimatedEmojis2 = (importDefault(3802) /* metro dependency 3802: PremiumUtils */).canUseAnimatedEmojis(currentUser);
if (canUseAnimatedEmojis2) {
defaultImport8 = importDefault(3802) /* metro dependency 3802: PremiumUtils */;
r5 = !defaultImport8.canUseEmojisEverywhere(currentUser);
} else {
r5 = !canUseAnimatedEmojis2;
}
r2 = r5;
} else if (UpsellTypes.CUSTOM_PROFILES === initialUpsellKey) {
defaultImport6 = importDefault(3802) /* metro dependency 3802: PremiumUtils */;
r2 = !defaultImport6.canUsePremiumProfileCustomization(currentUser);
} else if (UpsellTypes.APP_ICONS === initialUpsellKey) {
defaultImport5 = importDefault(3802) /* metro dependency 3802: PremiumUtils */;
r2 = !defaultImport5.canUsePremiumAppIcons(currentUser);
} else if (UpsellTypes.GLOBAL_STICKER === initialUpsellKey) {
defaultImport4 = importDefault(3802) /* metro dependency 3802: PremiumUtils */;
r2 = !defaultImport4.canUseCustomStickersEverywhere(currentUser);
} else if (UpsellTypes.PREMIUM_GUILD_PROFILE === initialUpsellKey) {
defaultImport3 = importDefault(3802) /* metro dependency 3802: PremiumUtils */;
r2 = !defaultImport3.canUsePremiumGuildMemberProfile(currentUser);
} else if (UpsellTypes.LONGER_MESSAGE === initialUpsellKey) {
defaultImport2 = importDefault(3802) /* metro dependency 3802: PremiumUtils */;
r2 = !defaultImport2.canUseIncreasedMessageLength(currentUser);
} else if (UpsellTypes.GUILD_CAP === initialUpsellKey) {
defaultImport = importDefault(3802) /* metro dependency 3802: PremiumUtils */;
r2 = !defaultImport.canUseIncreasedGuildCap(currentUser);
} else {
r2 = !(UpsellTypes.STREAM_HIGH_QUALITY !== initialUpsellKey) || value3;
}
if (r2) {
if ((importDefault(7889) /* metro dependency 7889: shouldOpenPremiumUpsellActionSheet */)(a0)) {
return undefined;
}
value = importDefault(4496) /* metro dependency 4496: AlertActionCreators */;
value.openLazy({importer: importer_63192});
}
function handleShowUpsellAlertImporter() { // fn#63192, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8060:2887, owner: handleShowUpsellAlert.importer, offset: 0x01b74baa, size: 62 bytes, params: 1, frame: 13
var environment;
let value = environment.__proto__;
value = require(dependencyMap[15]);
value = value(dependencyMap[14], dependencyMap.paths);
return value.then(function({default: env0_0}) {
return _fun63194;
});
function _fun63193({default: env0_0}) { // fn#63193, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8060:2921, offset: 0x01b74be8, size: 21 bytes, params: 2, frame: 2
return _fun63194;
function _fun63194(a0) { // fn#63194, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8060:2936, offset: 0x01b74bfd, size: 117 bytes, params: 2, frame: 15
return ((Component) => <Component {...a0} {...{['initialUpsellKey']: initialUpsellKey}} {...{['analyticsLocation']: env2_1}} {...{['analyticsProperties']: env2_3}} {...{['analyticsLocations']: env2_2}} {...{['largestFileSize']: largestFileSize}} {...{['imageSource']: imageSource}} />)(env0_0);
}
}
}
}
function getUpsellItems() { // fn#63195, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8060:3217, offset: 0x01b74c72, size: 1261 bytes, params: 1, frame: 24
let object = {};
const GLOBAL_EMOJI = UpsellTypes.GLOBAL_EMOJI;
object.key = GLOBAL_EMOJI;
object.image = importDefault(7883) /* metro dependency 7883 */;
const intl = (IndexNativeModule).intl;
let string = intl.string;
const t = (IndexNativeModule).t;
object.activeTitle = Reflect.apply(string, intl, [t.gKtr8N]);
string = intl.string;
const N8ZRNb = t.N8ZRNb;
object.passiveTitle = Reflect.apply(string, intl, [N8ZRNb]);
let format = intl.format;
object.description = Reflect.apply(format, intl, [t.rf7Ixp, {}]);
const items2 = [object];
object = {};
const ANIMATED_EMOJI = UpsellTypes.ANIMATED_EMOJI;
object.key = ANIMATED_EMOJI;
object.image = importDefault(7884) /* metro dependency 7884 */;
string = intl.string;
const F6rmyq = t.F6rmyq;
object.activeTitle = Reflect.apply(string, intl, [F6rmyq]);
object.passiveTitle = intl.string(t.e4cKNt);
format = intl.format;
const JxTzzb = t.JxTzzb;
object.description = Reflect.apply(format, intl, [JxTzzb, {}]);
items2[1] = object;
object = {};
const ANIMATED_AVATAR = UpsellTypes.ANIMATED_AVATAR;
object.key = ANIMATED_AVATAR;
object.image = importDefault(7885) /* metro dependency 7885 */;
object.activeTitle = intl.string(t['tQh+gF']);
string = intl.string;
const HGSXTM = t.HGSXTM;
object.passiveTitle = Reflect.apply(string, intl, [HGSXTM]);
object.description = intl.format(t['Tso/Fn'], {});
items2[2] = object;
object = {};
const UPLOAD = UpsellTypes.UPLOAD;
object.key = UPLOAD;
object.image = importDefault(7886) /* metro dependency 7886 */;
object.activeTitle = intl.string(t['1EOZqw']);
object.passiveTitle = intl.string(t.tB51W4);
format = intl.format;
const DUT5IC = t.DUT5IC;
const object2 = {};
const intl2 = (IndexNativeModule).intl;
string = intl2.string;
const Ll40SK = t.Ll40SK;
object2.maxUploadStandard = Reflect.apply(string, intl2, [Ll40SK]);
const intl3 = (IndexNativeModule).intl;
string = intl3.string;
const EaBfeq = t.EaBfeq;
object2.maxUploadPremium = Reflect.apply(string, intl3, [EaBfeq]);
object.description = Reflect.apply(format, intl, [DUT5IC, object2]);
items2[3] = object;
object = {};
const BADGE = UpsellTypes.BADGE;
object.key = BADGE;
object.image = importDefault(7887) /* metro dependency 7887 */;
object.activeTitle = intl.string(t['602BK4']);
object.passiveTitle = intl.string(t.j0TXTX);
object.description = intl.format(t['p7i+li'], {});
items2[4] = object;
object = {};
const APP_ICONS = UpsellTypes.APP_ICONS;
object.key = APP_ICONS;
object.image = importDefault(7888) /* metro dependency 7888 */;
object.activeTitle = intl.string(t['1B1Cyn']);
object.passiveTitle = intl.string(t['1B1Cyn']);
string = intl.string;
const VL5TYT = t.VL5TYT;
object.description = Reflect.apply(string, intl, [VL5TYT]);
items2[5] = object;
return items2;
}
}
global.__d(_fun63186, 7882, [31, 1878, 661, 1880, 33, 7883, 1244, 7884, 7885, 7886, 7887, 7888, 7889, 4496, 7901,
1962, 3802, 7062, 7940, 4015, 683, 4080, 5080, 7028,
2]) /* metro module 7882, dependencies: [31, 1878, 661, 1880, 33, 7883, 1244, 7884, 7885, 7886, 7887, 7888, 7889, 4496, 7901, 1962, 3802, 7062, 7940, 4015, 683, 4080, 5080, 7028, 2] */;