Initial commit

This commit is contained in:
janisslsm committed 2026-07-27 16:20:00 +03:00
commit af3b49f756
16065 files changed
+2938410

No files matched your search

@@ -0,0 +1,119 @@
/* Metro module 7021; source: modules/guild_boosting/native/GuildBoostPurchasingUtils.tsx; dependencies: [5, 3808, 661, 1880, 4496, 1244, 683, 4223, 7022, 7026, 3802, 2] */
function _fun55639(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#55639, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7199:6, offset: 0x013ac815, size: 200 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(5) /* metro dependency 5 */;
const subscriptionStore = importDefault(3808) /* metro dependency 3808: SubscriptionStore */;
let value = require(661) /* metro dependency 661: Constants */;
const env0_5 = value.AnalyticEvents;
const env0_6 = value.AnalyticsSections;
value = require(1880) /* metro dependency 1880: PremiumConstants */;
const env0_7 = value.NUM_FREE_GUILD_BOOSTS_WITH_PREMIUM;
const env0_8 = value.PremiumTypes;
value = _fun55640();
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/guild_boosting/native/GuildBoostPurchasingUtils.tsx');
exports.launchGuildBoostFlowOrAlert = value;
}
function _fun55640() { // fn#55640, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7199:235, offset: 0x013ac8dd, size: 32 bytes, params: 1, frame: 12
const env0_0 = env0_3(_fun55642);
return _fun55644;
}
function* _fun55642(a0, a1, a2, a3, a4) { // fn#55642, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7199:255, offset: 0x013ac906, size: 384 bytes, params: 6, frame: 23
var environment;
var premiumTypeSubscription;
var externalManagementMessage;
var object2;
var binding2;
var value9;
var show;
var binding3;
var intl;
var value10;
if (true) {
value = environment.__proto__.__proto__;
var binding = env2_4;
if (binding.hasFetchedSubscriptions()) {
binding = env2_4;
premiumTypeSubscription = binding.getPremiumTypeSubscription();
binding = env2_0;
externalManagementMessage = binding(env2_2[8]).getExternalManagementMessage(premiumTypeSubscription);
if (externalManagementMessage != null) {
binding = env2_1;
binding2 = env2_2;
value9 = binding(binding2[4]);
show = value9.show;
object2 = {};
binding3 = env2_0;
intl = binding3(binding2[5]).intl;
object2.title = intl.string(binding3(binding2[5]).t['8P7MX0']);
object2.body = externalManagementMessage;
Reflect.apply(show, value9, [object2]);
value10 = binding(binding2[6]);
value10.track(env2_5.OPEN_MODAL, {type: env2_6.IOS_CANNOT_MANAGE_SUBSCRIPTION, source: a0});
} else {
value = env2_0(env2_2[9]);
value.launchPremiumPlanSelect({showCurrentPlan: false, predicate: predicate_55643,
analyticsLocation: a0,
analyticsLocations: a1, onBack: a2, onPaymentSuccess: a3, onPaymentDismiss: a4});
}
} else {
binding = env2_0;
var value3 = binding(env2_2[7]);
yield value3.fetchSubscriptions();
if (false) {
return undefined;
}
binding = env2_4;
premiumTypeSubscription = binding.getPremiumTypeSubscription();
binding = env2_0;
externalManagementMessage = binding(env2_2[8]).getExternalManagementMessage(premiumTypeSubscription);
if (externalManagementMessage != null) {
binding = env2_1;
binding2 = env2_2;
value9 = binding(binding2[4]);
show = value9.show;
object2 = {};
binding3 = env2_0;
intl = binding3(binding2[5]).intl;
object2.title = intl.string(binding3(binding2[5]).t['8P7MX0']);
object2.body = externalManagementMessage;
Reflect.apply(show, value9, [object2]);
value10 = binding(binding2[6]);
value10.track(env2_5.OPEN_MODAL, {type: env2_6.IOS_CANNOT_MANAGE_SUBSCRIPTION, source: a0});
} else {
value = env2_0(env2_2[9]);
value.launchPremiumPlanSelect({showCurrentPlan: false, predicate: predicate_55643,
analyticsLocation: a0,
analyticsLocations: a1, onBack: a2, onPaymentSuccess: a3, onPaymentDismiss: a4});
}
}
}
}
function predicate_55643({numPremiumGuild, premiumTier}) { // fn#55643, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7199:654, offset: 0x013aca86, size: 147 bytes, params: 2, frame: 18
var r1;
var binding;
var binding2;
var value5;
var value6;
let value = environment.__proto__.__proto__.__proto__;
const TIER_2 = env3_8.TIER_2;
const value3 = numPremiumGuild + (premiumTier !== TIER_2 ? 0 : env3_7);
if (env0_0 != null) {
binding = env3_0;
binding2 = env3_2;
value5 = binding(binding2[10]);
value6 = value5.getNumPremiumGuildSubscriptions(env0_0.additionalPlans);
binding = env3_1;
value = binding(binding2[10]);
value = value6 + value.getNumIncludedPremiumGuildSubscriptionSlots(env0_0.planId);
r1 = value;
} else {
r1 = 0;
}
return value3 > r1;
}
@@ -0,0 +1,57 @@
/* Metro module 14634; source: modules/guild_boosting/native/GuildBoostingMarketingUtils.tsx; dependencies: [8249, 7950, 10284, 9820, 10319, 12323, 7948, 9097, 9781, 8633, 6707, 10976, 2] */
function _fun110608(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#110608, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14831:6, offset: 0x0237f4c6, size: 96 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/guild_boosting/native/GuildBoostingMarketingUtils.tsx');
exports.getIconForPerk = getIconForPerk;
}
function getIconForPerk(a0) { // fn#110609, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14831:205, offset: 0x0237f526, size: 736 bytes, params: 2, frame: 14
const PerkIcons = (require(8249) /* metro dependency 8249: GuildBoostingUtils */).PerkIcons;
const EMOJI = PerkIcons.EMOJI;
if (EMOJI !== a0) {
var SOUNDBOARD = PerkIcons.SOUNDBOARD;
if (SOUNDBOARD === a0) {
return (require(10284) /* metro dependency 10284: SoundboardIcon */).SoundboardIcon;
}
var ANIMATED = PerkIcons.ANIMATED;
if (ANIMATED === a0) {
return (require(9820) /* metro dependency 9820: GifIcon */).GifIcon;
}
var AUDIO = PerkIcons.AUDIO;
if (AUDIO === a0) {
return (require(10319) /* metro dependency 10319: HeadphonesIcon */).HeadphonesIcon;
}
var STREAM = PerkIcons.STREAM;
if (STREAM === a0) {
return (require(12323) /* metro dependency 12323: ScreenArrowIcon */).ScreenArrowIcon;
}
var UPLOAD = PerkIcons.UPLOAD;
if (UPLOAD === a0) {
return (require(7948) /* metro dependency 7948: UploadIcon */).UploadIcon;
}
var CUSTOM_ROLE_ICON = PerkIcons.CUSTOM_ROLE_ICON;
if (CUSTOM_ROLE_ICON === a0) {
return (require(9097) /* metro dependency 9097: ShieldUserIcon */).ShieldUserIcon;
}
var CUSTOMIZATION = PerkIcons.CUSTOMIZATION;
if (CUSTOMIZATION === a0) {
return (require(9781) /* metro dependency 9781: ImagesIcon */).ImagesIcon;
}
var VANITY = PerkIcons.VANITY;
if (VANITY === a0) {
return (require(8633) /* metro dependency 8633: StarIcon */).StarIcon;
}
var STAGE_VIDEO = PerkIcons.STAGE_VIDEO;
if (STAGE_VIDEO === a0) {
return (require(6707) /* metro dependency 6707: StageIcon */).StageIcon;
}
var STICKER = PerkIcons.STICKER;
if (STICKER === a0) {
return (require(10976) /* metro dependency 10976: StickerIcon */).StickerIcon;
}
}
return (require(7950) /* metro dependency 7950: ReactionIcon */).ReactionIcon;
}
@@ -0,0 +1,115 @@
/* Metro module 7019; source: modules/guild_boosting/native/GuildBoostingSubscribeButton.tsx; dependencies: [5, 31, 27, 7020, 661, 6524, 1880, 33, 7021, 5080, 6522, 12299, 1484, 6771, 632, 1895, 12300, 4578, 1244, 6705, 2] */
function _fun55610(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#55610, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7197:6, offset: 0x013abe51, size: 302 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(5) /* metro dependency 5 */;
const env0_4 = importAll(31) /* metro dependency 31 */;
const env0_5 = (require(27) /* metro dependency 27 */).View;
const guildBoostSlotStore = importDefault(7020) /* metro dependency 7020: GuildBoostSlotStore */;
const constantsModule = require(661) /* metro dependency 661: Constants */;
const env0_7 = constantsModule.AnalyticsObjects;
const env0_8 = constantsModule.AnalyticsObjectTypes;
const env0_9 = constantsModule.AnalyticsPages;
const env0_10 = constantsModule.NOOP;
const env0_11 = (require(6524) /* metro dependency 6524: PremiumGuildSubscribeConstants */).PremiumGuildSubscribeModalScenes;
const env0_12 = (require(1880) /* metro dependency 1880: PremiumConstants */).FractionalPremiumStates;
const env0_13 = (require(33) /* metro dependency 33 */).jsx;
const env0_14 = _fun55611();
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/guild_boosting/native/GuildBoostingSubscribeButton.tsx');
exports.default = _default_55616;
}
function _fun55611() { // fn#55611, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7197:318, offset: 0x013abf7f, size: 32 bytes, params: 1, frame: 12
const env0_0 = env0_3(_fun55613);
return _fun55615;
}
function _default_55616({guild, previousGuildSubscriptionSlot, useShortenedCTA, styles, analyticsSection, fractionalPremiumState, premiumGroupRole, onAvailableSlotPress, intent, onResult}) { // fn#55616, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7197:596, offset: 0x013ac06f, size: 668 bytes, params: 2, frame: 29
const env0_4 = intent;
const value3 = (importDefault(12299) /* metro dependency 12299: useFetchGuildBoostSlots */)();
const value4 = (require(1484) /* metro dependency 1484: useNavigationNative */).useNavigation();
const analyticsLocations = (importDefault(6771) /* metro dependency 6771: useAnalyticsLocations */)().analyticsLocations;
const value5 = (require(632) /* metro dependency 632: useStateFromStores */).useStateFromStores([GuildBoostSlotStore],
_fun55617);
const value6 = env0_4.useCallback(_fun55619, [value4, analyticsSection, onAvailableSlotPress, intent, onResult]);
const r8 = !value5 && (fractionalPremiumState !== FractionalPremiumStates.NONE || premiumGroupRole === (require(1895) /* metro dependency 1895: user */).PremiumSubscriptionGroupRole.MEMBER);
const {shouldUseMobileWebRedirectCheckout,
handleMobileWebRedirectCheckout} = (importDefault(12300) /* metro dependency 12300: useGuildBoostPurchaseHandler */)('guild_boost_subscribe_button');
const env0_13 = env0_4.useCallback(_fun55620, [value3, shouldUseMobileWebRedirectCheckout,
handleMobileWebRedirectCheckout, guild.id, analyticsSection, value5, previousGuildSubscriptionSlot,
analyticsLocations, value6]);
const Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
const object = {loading: value3, variant: 'primary', onPress: onPress_55621, disabled: r8};
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const string = intl.string;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
object.text = useShortenedCTA ? Reflect.apply(string, intl, [t.Uj0md3]) : Reflect.apply(string, intl, [t.gKmQ1G]);
object.icon = r8 ? ((LockIcon) => <LockIcon size="xs" color="white" />)((require(6705) /* metro dependency 6705: LockIcon */).LockIcon) : undefined;
return (
<View style={styles}>
<Button {...object} />
</View>
);
}
function* _fun55613(a0, a1) { // fn#55613, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7197:338, offset: 0x013abfa8, size: 162 bytes, params: 3, frame: 18
var environment;
if (true) {
value = environment.__proto__.__proto__;
var value3 = env2_0(env2_2[8]);
var launchGuildBoostFlowOrAlert = value3.launchGuildBoostFlowOrAlert;
var PREMIUM_GUILD_USER_MODAL = env2_9.PREMIUM_GUILD_USER_MODAL;
var BUTTON_CTA = env2_7.BUTTON_CTA;
var BUY = env2_8.BUY;
yield Reflect.apply(launchGuildBoostFlowOrAlert, value3, [{page: PREMIUM_GUILD_USER_MODAL, section: a1,
object: BUTTON_CTA, objectType: BUY}, a0, _fun55614]);
if (false) {
return undefined;
}
env2_0(env2_2[10]).closeApplyBoostModal();
}
}
function _fun55617() { // fn#55617, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7197:904, offset: 0x013ac30b, size: 51 bytes, params: 1, frame: 11
var environment;
const Object = global.Object;
const keys = Object.keys;
const value = environment.__proto__;
return Reflect.apply(keys, Object, [GuildBoostSlotStore.boostSlots]).some(_fun55618);
}
function _fun55619(a0, a1) { // fn#55619, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7197:1047, offset: 0x013ac370, size: 177 bytes, params: 3, frame: 21
if (onAvailableSlotPress != null) {
return onAvailableSlotPress(a0, a1);
}
const binding = env0_7;
const push = binding.push;
const CONFIRMATION = PremiumGuildSubscribeModalScenes.CONFIRMATION;
const value3 = undefined;
const PREMIUM_GUILD_USER_MODAL = AnalyticsPages.PREMIUM_GUILD_USER_MODAL;
const BUTTON_CTA = AnalyticsObjects.BUTTON_CTA;
const BUY = AnalyticsObjectTypes.BUY;
Reflect.apply(push, binding, [CONFIRMATION, {guildId: a0, guildBoostSlots: a1 != null ? [a1] : value3,
location: {page: PREMIUM_GUILD_USER_MODAL, section: analyticsSection, object: BUTTON_CTA, objectType: BUY},
intent: intent, onResult: onResult}]);
return value3;
}
function _fun55620() { // fn#55620, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7197:1479, offset: 0x013ac421, size: 127 bytes, params: 1, frame: 15
return env0_6 ? NOOP : env0_9 ? env0_10(guild.id,
previousGuildSubscriptionSlot) : shouldUseMobileWebRedirectCheckout && guild.id != null ? handleMobileWebRedirectCheckout(analyticsLocations,
guild.id) : env1_14(analyticsLocations, analyticsSection);
}
function _fun55614() { // fn#55614, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7197:479, offset: 0x013ac04a, size: 37 bytes, params: 1, frame: 11
const value = environment.__proto__.__proto__.__proto__;
return env3_1(env3_2[9]).pop();
}
function _fun55618(a0) { // fn#55618, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7197:940, offset: 0x013ac33e, size: 50 bytes, params: 2, frame: 10
const value = environment.__proto__.__proto__;
const property = GuildBoostSlotStore.boostSlots[a0];
return property.premiumGuildSubscription == null && !property.isOnCooldown();
}
@@ -0,0 +1,113 @@
/* Metro module 6793; source: modules/guild_boosting/native/RoleIconUtils.tsx; dependencies: [31, 1938, 1867, 33, 566, 6794, 6795, 1244, 2] */
function _fun53486(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#53486, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6971:6, offset: 0x0134d28a, size: 183 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importAll(31) /* metro dependency 31 */;
const guildRoleStore = importDefault(1938) /* metro dependency 1938: GuildRoleStore */;
const guildStore = importDefault(1867) /* metro dependency 1867: GuildStore */;
const env0_6 = (require(33) /* metro dependency 33 */).jsx;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/guild_boosting/native/RoleIconUtils.tsx');
exports.useRoleIcon = useRoleIcon;
exports.getRoleIcon = getRoleIcon;
}
function useRoleIcon({guildId, roleId, size}) { // fn#53487, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6971:235, offset: 0x0134d341, size: 184 bytes, params: 2, frame: 19
size = size === undefined ? 20 : size;
const value2 = (require(566) /* metro dependency 566: flux */).useStateFromStoresObject([GuildStore,
GuildRoleStore], _fun53488, [guildId, roleId]);
const guild = value2.guild;
return guild.useMemo(_fun53489, [guild, value2.role, roleId, size]);
}
function getRoleIcon({guildId, roleId, size}) { // fn#53490, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6971:752, offset: 0x0134d545, size: 299 bytes, params: 2, frame: 18
var r0;
var object2;
var customIconSrc;
var unicodeEmoji;
var name;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
var formatToPlainString;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
var property;
const guild = GuildStore.getGuild(guildId);
if (guild != null) {
if (roleId == null) {
return undefined;
}
var role = GuildRoleStore.getRole(guild.id, roleId);
if (role == null) {
return undefined;
}
var value4 = undefined;
var moduleValue = require(6794) /* metro dependency 6794: RoleIconUtils */;
if (moduleValue.canGuildUseRoleIcons(guild, role)) {
r0 = (require(6794) /* metro dependency 6794: RoleIconUtils */).getRoleIconData(role) ?? ({});
customIconSrc = r0.customIconSrc;
unicodeEmoji = r0.unicodeEmoji;
if (customIconSrc != null) {
object2 = {source: customIconSrc};
name = role.name;
object2.name = name;
object2.size = size;
object2.unicodeEmoji = unicodeEmoji == null ? value4 : unicodeEmoji.surrogates;
formatToPlainString = intl.formatToPlainString;
property = t['9+YWrE'];
name = role.name;
object2.alt = Reflect.apply(formatToPlainString, intl, [property, {name: name}]);
return object2;
}
if ((unicodeEmoji == null ? value4 : unicodeEmoji.surrogates) != null) {
object2 = {source: customIconSrc};
name = role.name;
object2.name = name;
object2.size = size;
object2.unicodeEmoji = unicodeEmoji == null ? value4 : unicodeEmoji.surrogates;
formatToPlainString = intl.formatToPlainString;
property = t['9+YWrE'];
name = role.name;
object2.alt = Reflect.apply(formatToPlainString, intl, [property, {name: name}]);
return object2;
}
return undefined;
}
}
}
function _fun53488() { // fn#53488, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6971:316, offset: 0x0134d3f9, size: 86 bytes, params: 1, frame: 16
const value = environment.__proto__;
const getGuild = GuildStore.getGuild;
const guildIdBinding = guildId;
return {guild: Reflect.apply(getGuild, GuildStore, [guildIdBinding]),
role: guildIdBinding != null && roleId != null ? GuildRoleStore.getRole(guildId, roleId) : undefined};
}
function _fun53489() { // fn#53489, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6971:433, offset: 0x0134d44f, size: 246 bytes, params: 1, frame: 18
var r1;
var r7;
var moduleValue2;
var customIconSrc;
var unicodeEmoji;
if (guild != null) {
if (roleId == null) {
return undefined;
}
var value3 = undefined;
var moduleValue = require(6794) /* metro dependency 6794: RoleIconUtils */;
if (moduleValue.canGuildUseRoleIcons(guild, role)) {
moduleValue2 = require(6794) /* metro dependency 6794: RoleIconUtils */;
r1 = moduleValue2.getRoleIconData(role) ?? ({});
customIconSrc = r1.customIconSrc;
unicodeEmoji = r1.unicodeEmoji;
r7 = customIconSrc != null ? {uri: customIconSrc} : value3;
if (r7 != null) {
return ((Component) => <Component source={r7} unicodeEmoji={unicodeEmoji} name={(role == null ? value3 : role.name) ?? ''} size={size} />)(importDefault(6795) /* metro dependency 6795: RoleIcon */);
}
if (unicodeEmoji != null) {
return ((Component) => <Component source={r7} unicodeEmoji={unicodeEmoji} name={(role == null ? value3 : role.name) ?? ''} size={size} />)(importDefault(6795) /* metro dependency 6795: RoleIcon */);
}
return undefined;
}
}
}
@@ -0,0 +1,86 @@
/* Metro module 12300; source: modules/guild_boosting/native/hooks/useGuildBoostPurchaseHandler.tsx; dependencies: [5, 31, 661, 3, 4247, 7294, 7023, 683, 4496, 1244, 6522, 2] */
function _fun93940(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#93940, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12486:6, offset: 0x020cbb71, size: 201 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(5) /* metro dependency 5 */;
const env0_4 = importAll(31) /* metro dependency 31 */;
const env0_5 = (require(661) /* metro dependency 661: Constants */).AnalyticEvents;
let value = importDefault(3) /* metro dependency 3: Logger */;
value = new value('useGuildBoostPurchaseHandler');
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/guild_boosting/native/hooks/useGuildBoostPurchaseHandler.tsx');
exports.default = useGuildBoostPurchaseHandler;
}
function useGuildBoostPurchaseHandler(a0) { // fn#93941, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12486:301, offset: 0x020cbc3a, size: 92 bytes, params: 2, frame: 15
const env0_0 = a0;
const isMobileWebRedirectCheckoutEnabled2 = (require(4247) /* metro dependency 4247: MobileWebRedirectCheckoutUtils */).isMobileWebRedirectCheckoutEnabled();
const binding = env0_4;
const useCallback = binding.useCallback;
let value = _fun93942();
value = Reflect.apply(useCallback, binding, [value, [a0]]);
return {shouldUseMobileWebRedirectCheckout: isMobileWebRedirectCheckoutEnabled2,
handleMobileWebRedirectCheckout: value};
}
function _fun93942() { // fn#93942, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12486:409, offset: 0x020cbc96, size: 36 bytes, params: 1, frame: 12
const env0_0 = env1_3(_fun93944);
return _fun93947;
}
function* _fun93944(a0, a1) { // fn#93944, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12486:429, offset: 0x020cbcc5, size: 170 bytes, params: 3, frame: 22
var environment;
if (true) {
var env0_0 = a0;
var env0_1 = a1;
value = environment.__proto__.__proto__.__proto__;
var binding = env3_0;
var binding2 = env3_2;
var newAnalyticsLoadId = binding(binding2[5]).getNewAnalyticsLoadId();
var value5 = binding(binding2[6]);
yield value5.goToStandaloneGuildBoostCheckoutFromMobileApp(require, a1, newAnalyticsLoadId, _fun93945,
_fun93946);
if (false) {
return undefined;
}
env3_0(env3_2[10]).closeApplyBoostModal();
}
}
function _fun93945() { // fn#93945, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12486:549, offset: 0x020cbd6f, size: 144 bytes, params: 1, frame: 20
let binding = env4_1;
const binding2 = env4_2;
const value2 = binding(binding2[7]);
const track = value2.track;
const MOBILE_OPEN_STANDALONE_GUILD_BOOST_CHECKOUT_PAGE = env4_5.MOBILE_OPEN_STANDALONE_GUILD_BOOST_CHECKOUT_PAGE;
const object2 = {};
object2.guild_id = require;
object2.load_id = env0_2;
binding = env0_0;
const items2 = [];
arraySpread(items2, binding, 0, undefined);
object2.location_stack = items2;
object2.custom_checkout_flow = env4_0(binding2[4]).getCustomCheckoutFlowForAnalytics();
Reflect.apply(track, value2, [MOBILE_OPEN_STANDALONE_GUILD_BOOST_CHECKOUT_PAGE, object2]);
env4_6.log('Successfully opened mobile web Guild Boost Management page');
}
function _fun93946(a0) { // fn#93946, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12486:801, offset: 0x020cbdff, size: 174 bytes, params: 2, frame: 19
let binding = env4_6;
binding.error('Failed to open mobile web Guild Boost Management page, error response: ', a0);
binding = env4_1;
const binding2 = env4_2;
const value2 = binding(binding2[8]);
const show = value2.show;
const object2 = {};
binding = env4_0;
let intl = binding(binding2[9]).intl;
const string = intl.string;
const NrBVjw = binding(binding2[9]).t.NrBVjw;
object2.title = Reflect.apply(string, intl, [NrBVjw]);
intl = binding(binding2[9]).intl;
object2.body = intl.string(binding(binding2[9]).t['gD+grx']);
object2.hideActionSheet = true;
Reflect.apply(show, value2, [object2]);
}
@@ -0,0 +1,79 @@
/* Metro module 12334; source: modules/guild_boosting/native/marketing_redesign/GuildBoostingMarketingBoosterRecognitionCards.tsx; dependencies: [31, 27, 33, 4501, 697, 4573, 1244, 12335, 7958, 12336, 12252, 12337, 9097, 12338, 8663, 2] */
function _fun94119(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#94119, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12520:6, offset: 0x020d2e14, size: 394 bytes, params: 8, frame: 23
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
importAll(31) /* metro dependency 31 */;
const env0_3 = (require(27) /* metro dependency 27 */).View;
let value = require(33) /* metro dependency 33 */;
const env0_4 = value.jsx;
const env0_5 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
const object = {'minHeight': 124, 'width': 172, 'backgroundColor': null, 'display': 'flex',
'flexDirection': 'column', 'alignItems': 'center', 'margin': 5, 'borderRadius': null, 'paddingHorizontal': 13,
'paddingVertical': 16};
const BACKGROUND_SURFACE_HIGH = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_SURFACE_HIGH;
object.backgroundColor = BACKGROUND_SURFACE_HIGH;
object.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
const env0_6 = Reflect.apply(createStyles, value, [{card: object, description: {textAlign: 'center'},
iconContainer: {'height': 30, 'marginBottom': 10}}]);
const env0_7 = (require(4501) /* metro dependency 4501: createStyles */).createStyles({container: {'marginTop': 50,
'display': 'flex', 'flexDirection': 'column', 'alignItems': 'center'}, title: {'textAlign': 'center',
'marginHorizontal': 34}, recognitionCardsContainer: {'marginTop': 15, 'display': 'flex', 'flexDirection': 'row',
'justifyContent': 'center', 'flexWrap': 'wrap'}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/guild_boosting/native/marketing_redesign/GuildBoostingMarketingBoosterRecognitionCards.tsx');
exports.default = GuildBoostingMarketingBoosterRecognitionCards;
}
function Card_94120({IconComponent, children}) { // fn#94120, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12520:470, offset: 0x020d2f9e, size: 211 bytes, params: 2, frame: 25
const styles = useStyles();
const GUILD_BOOSTING_PINK = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.GUILD_BOOSTING_PINK;
const view = <View style={styles.iconContainer}><IconComponent size="lg" color={GUILD_BOOSTING_PINK} /></View>;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
return (
<View style={styles.card}>
{view}
<Text style={styles.description} variant="text-sm/medium">
{children}
</Text>
</View>
);
}
function GuildBoostingMarketingBoosterRecognitionCards() { // fn#94121, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12520:1028, offset: 0x020d3071, size: 623 bytes, params: 1, frame: 29
const styles = useStyles();
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
let string = intl.string;
const IzKs3o = (require(1244) /* metro dependency 1244: indexNative */).t.IzKs3o;
const text = <Text variant="heading-xl/extrabold" style={styles.title}>{Reflect.apply(string, intl,
[IzKs3o])}</Text>;
const card_94120Props = {icon: importDefault(12335) /* metro dependency 12335 */};
const BoostGemIcon = (require(7958) /* metro dependency 7958: BoostGemIcon */).BoostGemIcon;
card_94120Props.IconComponent = BoostGemIcon;
string = intl.string;
const TZigSO = (require(1244) /* metro dependency 1244: indexNative */).t.TZigSO;
const items2 = [<Card_94120 {...card_94120Props}>{Reflect.apply(string, intl, [TZigSO])}</Card_94120>];
const object = {icon: importDefault(12336) /* metro dependency 12336 */};
const BoostTier3Icon = (require(12252) /* metro dependency 12252: BoostTier3Icon */).BoostTier3Icon;
object.IconComponent = BoostTier3Icon;
items2[1] = <Card_94120 {...object}>{intl.string((require(1244) /* metro dependency 1244: indexNative */).t.hjQuV2)}</Card_94120>;
const object2 = {icon: importDefault(12337) /* metro dependency 12337 */};
const ShieldUserIcon = (require(9097) /* metro dependency 9097: ShieldUserIcon */).ShieldUserIcon;
object2.IconComponent = ShieldUserIcon;
items2[2] = <Card_94120 {...object2}>{intl.string((require(1244) /* metro dependency 1244: indexNative */).t['2RUcaM'])}</Card_94120>;
const object3 = {icon: importDefault(12338) /* metro dependency 12338 */};
const HeartIcon = (require(8663) /* metro dependency 8663: HeartIcon */).HeartIcon;
object3.IconComponent = HeartIcon;
items2[3] = <Card_94120 {...object3}>{intl.string((require(1244) /* metro dependency 1244: indexNative */).t.bJoZKV)}</Card_94120>;
return (
<View style={styles.container}>
{text}
<View style={styles.recognitionCardsContainer}>
{items2}
</View>
</View>
);
}
@@ -0,0 +1,273 @@
/* Metro module 12301; source: modules/guild_boosting/native/marketing_redesign/GuildBoostingMarketingCtaBar.tsx; dependencies: [57, 31, 27, 1878, 7020, 661, 1880, 33, 672, 4501, 697, 1305, 4017, 4504, 6771, 6789, 632, 12192, 7288, 8254, 3802, 1895, 12242, 12244, 4589, 12302, 4573, 1244, 6819, 5278, 12229, 7019, 12312, 12313, 4578, 6522, 10381, 12314, 5080, 7028, 1962, 2] */
function _fun93948(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#93948, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12487:6, offset: 0x020cbead, size: 807 bytes, params: 8, frame: 25
var object2;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(57) /* metro dependency 57 */;
const env0_4 = importAll(31) /* metro dependency 31 */;
const env0_5 = (require(27) /* metro dependency 27 */).View;
const userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
const guildBoostSlotStore = importDefault(7020) /* metro dependency 7020: GuildBoostSlotStore */;
let value = require(661) /* metro dependency 661: Constants */;
const env0_8 = value.AnalyticsObjects;
const env0_9 = value.AnalyticsPages;
const env0_10 = value.AnalyticsSections;
const env0_11 = (require(1880) /* metro dependency 1880: PremiumConstants */).FractionalPremiumStates;
value = require(33) /* metro dependency 33 */;
const env0_12 = value.jsx;
const env0_13 = value.jsxs;
const Millis = (importDefault(672) /* metro dependency 672: Durations */).Millis;
const SECOND = Millis.SECOND;
const env0_14 = 10 * SECOND;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
object2 = {heading: {'alignSelf': 'center', 'marginBottom': 24, 'maxWidth': 395, 'paddingHorizontal': 16,
'textAlign': 'center'}, headerContent: {'paddingHorizontal': 16, 'paddingTop': 32, 'position': 'relative',
'zIndex': 2}};
const BACKGROUND_BASE_LOW = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BASE_LOW;
object2.guildIcon = {'alignSelf': 'center', 'borderRadius': 24, 'backgroundColor': null, 'marginBottom': 10,
'height': 48, 'width': 48, backgroundColor: BACKGROUND_BASE_LOW};
const MOBILE_TEXT_HEADING_PRIMARY = (importDefault(697) /* metro dependency 697: native */).colors.MOBILE_TEXT_HEADING_PRIMARY;
object2.guildIconText = {color: MOBILE_TEXT_HEADING_PRIMARY};
object2.guildName = {'alignSelf': 'center', 'maxWidth': '50%', 'textAlign': 'center'};
object2.guildBoostCountWrapper = {position: 'relative'};
object2.totalBoostCountWrapper = {'display': 'flex', 'flexDirection': 'row', 'justifyContent': 'center',
'marginBottom': 16, 'paddingBottom': 16, 'paddingTop': 3, 'position': 'relative'};
object2.guildBoostCountIcon = {'flexGrow': 0, 'flexShrink': 0, 'marginRight': 3};
object2.guildBoostCount = {'flexGrow': 0, 'flexShrink': 1, 'opacity': 0.6};
object2.guildBoostCurrentUserCountWrapper = {'position': 'absolute', 'top': 3, 'width': '100%'};
object2.guildBoostCurrentUserCount = {alignSelf: 'center'};
const object3 = {'alignSelf': 'center', 'borderRadius': null, 'maxWidth': 300, 'width': '90%'};
object3.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.xl;
object2.cta = object3;
const object4 = {};
const nativeModule = require(1305) /* metro dependency 1305: native */;
const generateBoxShadowStyle = nativeModule.generateBoxShadowStyle;
const EIGHT_DP_ELEVATION_SHADOW_PARAMS = nativeModule.EIGHT_DP_ELEVATION_SHADOW_PARAMS;
copyDataProperties(object4, Reflect.apply(generateBoxShadowStyle, nativeModule, [EIGHT_DP_ELEVATION_SHADOW_PARAMS]),
undefined);
object2.ctaPrimary = object4;
object2.ctaSecondary = {marginTop: 10};
object2.giftIcon = {marginRight: 8};
object2.gradient = {overflow: 'visible'};
object2.headerWave = {'bottom': -1, 'left': '-20%', 'position': 'absolute', 'height': 125, 'width': '150%',
'zIndex': 1};
object2.headerStars = {'height': '75%', 'left': '5%', 'opacity': 0.9, 'position': 'absolute', 'top': 0,
'width': '90%', 'zIndex': 1};
object2.boostingUnavailablePill = {'marginTop': -13, 'marginBottom': 23};
const env0_15 = Reflect.apply(createStyles, value, [object2]);
object2 = {code: 'function GuildBoostingMarketingCtaBarTsx1(){const{withTiming,isVisible}=this.__closure;return{opacity:withTiming(isVisible?1:0,{duration:250})};}'};
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/guild_boosting/native/marketing_redesign/GuildBoostingMarketingCtaBar.tsx');
exports.default = GuildBoostingMarketingCtaBar;
}
function useBoostCountAnimatedStyles(a0) { // fn#93949, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12487:1862, offset: 0x020cc1d4, size: 114 bytes, params: 2, frame: 18
const env0_0 = a0;
const reanimatedRexportModule = require(4017) /* metro dependency 4017: ReanimatedRexport */;
const useAnimatedStyle = reanimatedRexportModule.useAnimatedStyle;
const closure = useBoostCountAnimatedStylesO;
const object2 = {};
object2.withTiming = (require(4504) /* metro dependency 4504: timing */).withTiming;
object2.isVisible = a0;
closure.__closure = object2;
closure.__workletHash = 6895237370657;
closure.__initData = env0_16;
return Reflect.apply(useAnimatedStyle, reanimatedRexportModule, [closure]);
}
function GuildBoostingMarketingCtaBar(a0) { // fn#93951, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12487:2126, offset: 0x020cc28a, size: 2313 bytes, params: 2, frame: 56
var r7;
var object;
var object3;
const styles = useStyles();
const fractionalPremiumInfo = a0.fractionalPremiumInfo;
const guild = a0.guild;
const previousGuildSubscriptionSlot = a0.previousGuildSubscriptionSlot;
const onLayout = a0.onLayout;
const premiumGroupRole = a0.premiumGroupRole;
const intent = a0.intent;
const onResult = a0.onResult;
const binding = env0_4;
const [property, env0_2] = env0_3(binding.useState(false), 2);
const defaultImport = importDefault(6771) /* metro dependency 6771: useAnalyticsLocations */;
const BOOSTED_GUILD_PERKS_MODAL = (importDefault(6789) /* metro dependency 6789: AnalyticsLocation */).BOOSTED_GUILD_PERKS_MODAL;
var env0_3 = defaultImport(BOOSTED_GUILD_PERKS_MODAL).analyticsLocations;
const currentUser = (require(632) /* metro dependency 632: useStateFromStores */).useStateFromStores([UserStore],
function() {
return UserStore.getCurrentUser();
});
const value4 = binding.useMemo(_fun93954,
[(require(632) /* metro dependency 632: useStateFromStores */).useStateFromStores([GuildBoostSlotStore],
function() {
return GuildBoostSlotStore.boostSlots;
}), guild.id]);
const value5 = useBoostCountAnimatedStyles(property);
const value6 = useBoostCountAnimatedStyles(!property);
const defaultImport2 = importDefault(12192) /* metro dependency 12192: useFPDurationLeft */;
const endsAt = fractionalPremiumInfo.endsAt;
const CountDownMessageTypes = (require(12192) /* metro dependency 12192: useFPDurationLeft */).CountDownMessageTypes;
const LONG_TIME_LEFT = CountDownMessageTypes.LONG_TIME_LEFT;
const value7 = defaultImport2(endsAt, LONG_TIME_LEFT);
const value8 = (require(7288) /* metro dependency 7288: ReverseTrialUtilsNative */).useIsInReverseTrial();
const total = (importDefault(8254) /* metro dependency 8254: useGuildPowerupsBoostCount */)(a0.guild.id).total;
const env0_6 = binding.useRef(-1);
binding.useEffect(_fun93956, [property, value4]);
const isPremium2 = (importDefault(3802) /* metro dependency 3802: PremiumUtils */).isPremium(currentUser);
const PremiumSubscriptionGroupRole = (require(1895) /* metro dependency 1895: user */).PremiumSubscriptionGroupRole;
const MEMBER = PremiumSubscriptionGroupRole.MEMBER;
const r22 = premiumGroupRole === MEMBER ? ((Component) => <Component style={styles.boostingUnavailablePill} />)(importDefault(12242) /* metro dependency 12242: BoostingUnavailablePill */) : fractionalPremiumInfo.fractionalState === FractionalPremiumStates.NONE ? null : ((Component) => <Component fpDurationText={value7} isInReverseTrial={value8} style={styles.boostingUnavailablePill} />)(importDefault(12244) /* metro dependency 12244: BoostingCountDownPill */);
const defaultImport7 = importDefault(4589) /* metro dependency 4589 */;
const object4 = {onLayout: onLayout, angle: 160, angleCenter: {'x': 0.5, 'y': 0.5}};
const PREMIUM_TIER_0_HEADER_GRADIENT_1 = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.PREMIUM_TIER_0_HEADER_GRADIENT_1;
const items4 = [PREMIUM_TIER_0_HEADER_GRADIENT_1];
const PREMIUM_TIER_0_HEADER_GRADIENT_2 = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.PREMIUM_TIER_0_HEADER_GRADIENT_2;
items4[1] = PREMIUM_TIER_0_HEADER_GRADIENT_2;
const PREMIUM_TIER_0_HEADER_GRADIENT_3 = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.PREMIUM_TIER_0_HEADER_GRADIENT_3;
items4[2] = PREMIUM_TIER_0_HEADER_GRADIENT_3;
const PREMIUM_TIER_0_HEADER_GRADIENT_4 = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.PREMIUM_TIER_0_HEADER_GRADIENT_4;
items4[3] = PREMIUM_TIER_0_HEADER_GRADIENT_4;
const PREMIUM_TIER_0_HEADER_GRADIENT_5 = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.PREMIUM_TIER_0_HEADER_GRADIENT_5;
items4[4] = PREMIUM_TIER_0_HEADER_GRADIENT_5;
object4.colors = items4;
object4.locations = [0, 0.3221, 0.429, 0.7606, 1];
object4.useAngle = true;
let gradient = styles.gradient;
object4.style = gradient;
const defaultImport8 = defaultImport7;
gradient = styles.gradient;
const items2 = [((Component) => <Component guild={guild} />)(importDefault(12302) /* metro dependency 12302: GuildPowerupsMarketingHeader */)];
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const items3 = [<Text style={styles.heading} color="always-white" variant="display-sm">{intl.string((require(1244) /* metro dependency 1244: indexNative */).t['AF+Tyh'])}</Text>];
const GuildIcon = importDefault(6819) /* metro dependency 6819: GuildIcon */;
const GuildIconSizes = (require(6819) /* metro dependency 6819: GuildIcon */).GuildIconSizes;
const LARGE = GuildIconSizes.LARGE;
items3[1] = <GuildIcon style={styles.guildIcon} textStyle={styles.guildIconText} guild={guild} size={LARGE} />;
const PressableOpacity = (require(5278) /* metro dependency 5278: Pressables */).PressableOpacity;
const object5 = {onPress: onPress_93960};
const text = <Text style={styles.guildName} color="always-white" variant="text-md/bold">{guild.name}</Text>;
const View2 = (importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).View;
const items5 = [value6];
items5[1] = styles.totalBoostCountWrapper;
const Icon = (require(1305) /* metro dependency 1305: native */).Icon;
const iconProps = {style: styles.guildBoostCountIcon, source: importDefault(12229) /* metro dependency 12229 */};
const GUILD_BOOSTING_PINK = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.GUILD_BOOSTING_PINK;
iconProps.color = GUILD_BOOSTING_PINK;
const Icon2 = (require(1305) /* metro dependency 1305: native */).Icon;
const Sizes = Icon2.Sizes;
const SMALL = Sizes.SMALL;
iconProps.size = SMALL;
const view = <View2 style={items5}><Icon {...iconProps} /><Text style={styles.guildBoostCount} accessibilityRole="header" variant="text-sm/bold" color="always-white">{intl.format((require(1244) /* metro dependency 1244: indexNative */).t['pob/cL'],
{subscriptions: total})}</Text></View2>;
const View3 = (importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).View;
items3[2] = <PressableOpacity {...object5}>{text}<View style={styles.guildBoostCountWrapper}>{view}<View3 style={[value5,
styles.guildBoostCurrentUserCountWrapper]}><Text style={[styles.guildBoostCount,
styles.guildBoostCurrentUserCount]} variant="text-sm/bold" color="always-white">{intl.format((require(1244) /* metro dependency 1244: indexNative */).t.xXb78j,
{numSubscriptions: value4})}</Text></View3></View></PressableOpacity>;
items3[3] = r22;
const GuildBoostingSubscribeButton = importDefault(7019) /* metro dependency 7019: GuildBoostingSubscribeButton */;
const HEADER = AnalyticsSections.HEADER;
items3[4] = <GuildBoostingSubscribeButton styles={[styles.cta,
styles.ctaPrimary]} guild={guild} previousGuildSubscriptionSlot={previousGuildSubscriptionSlot} analyticsSection={HEADER} fractionalPremiumState={fractionalPremiumInfo.fractionalState} premiumGroupRole={premiumGroupRole} intent={intent} onResult={onResult} />;
items2[1] = <View style={styles.headerContent}>{items3}</View>;
items2[2] = ((Component) => <Component style={styles.headerStars} />)(importDefault(12312) /* metro dependency 12312: GuildBoostingMarketingStars */);
items2[3] = ((Component) => <Component style={styles.headerWave} />)(importDefault(12313) /* metro dependency 12313: GuildBoostingMarketingWave */);
const defaultImport72 = ((Component) => <Component {...object4}>{((Component) => <Component angle={0} angleCenter={{'x': 0.5,
'y': 0.5}} colors={['rgba(0, 0, 0, 0.7)', 'rgba(0, 0, 0, 0)']} locations={[0.12,
0.5]} useAngle style={gradient}>{items2}</Component>)(defaultImport8)}</Component>)(defaultImport7);
const items12 = [styles.cta];
items12[1] = styles.ctaSecondary;
const Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
if (isPremium2) {
object3 = {variant: 'secondary'};
object3.text = intl.string((require(1244) /* metro dependency 1244: indexNative */).t['8MYSQw']);
object3.onPress = function() {
require(dependencyMap[35]).closeApplyBoostModal();
require(dependencyMap[36]).openGiftModal({analyticsLocation: {page: AnalyticsPages.PREMIUM_GUILD_USER_MODAL,
section: AnalyticsSections.HEADER, object: AnalyticsObjects.BUTTON_CTA},
analyticsLocations: analyticsLocations});
};
object3.icon = <Icon size={(require(1305) /* metro dependency 1305: native */).Icon.Sizes.SMALL} source={importDefault(12314) /* metro dependency 12314 */} style={styles.giftIcon} />;
object3.grow = true;
r7 = object3;
} else {
object = {variant: 'secondary'};
object.text = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.pj0XBN);
object.onPress = onPress_93963;
object.grow = true;
r7 = object;
}
return (
<View>
{defaultImport72}
<View style={items12}>
<Button {...r7} />
</View>
</View>
);
}
function useBoostCountAnimatedStylesO() { // fn#93950, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12487:1939, owner: useBoostCountAnimatedStyles.o, offset: 0x020cc246, size: 68 bytes, params: 1, frame: 15
let value = environment.__proto__;
value = require(4504) /* metro dependency 4504: timing */;
return {opacity: value.withTiming(env0_0 ? 1 : 0, {duration: 250})};
}
function _fun93954() { // fn#93954, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12487:2538, offset: 0x020ccba2, size: 51 bytes, params: 1, frame: 11
const Object = global.Object;
const value = Object.keys(boostSlots);
return value.filter(_fun93955).length;
}
function _fun93956() { // fn#93956, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12487:2908, offset: 0x020ccc0c, size: 77 bytes, params: 1, frame: 15
var environment;
var binding;
var window;
var setTimeout;
if (env0_5 > 0 || env0_1) {
binding = env0_6;
window = global.window;
setTimeout = window.setTimeout;
value = environment.__proto__;
binding.current = Reflect.apply(setTimeout, window, [_fun93957, env1_14]);
}
return _fun93959;
}
function GuildBoostingMarketingCtaBarOnPress() { // fn#93960, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12487:4198, owner: GuildBoostingMarketingCtaBar.onPress, offset: 0x020ccc95, size: 53 bytes, params: 1, frame: 12
const window = global.window;
window.clearTimeout(env0_6.current);
env0_2(function(a0) {
return !a0;
});
}
function GuildBoostingMarketingCtaBarOnPress_93963() { // fn#93963, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12487:5824, owner: GuildBoostingMarketingCtaBar.onPress, offset: 0x020ccd48, size: 139 bytes, params: 1, frame: 17
const defaultImport = importDefault(dependencyMap[38]);
const pushLazy = defaultImport.pushLazy;
const value2 = require(dependencyMap[40])(dependencyMap[39], dependencyMap.paths);
const PREMIUM_GUILD_USER_MODAL = AnalyticsPages.PREMIUM_GUILD_USER_MODAL;
const HEADER = AnalyticsSections.HEADER;
const BUTTON_CTA = AnalyticsObjects.BUTTON_CTA;
Reflect.apply(pushLazy, defaultImport, [value2, {analyticsLocation: {page: PREMIUM_GUILD_USER_MODAL,
section: HEADER, object: BUTTON_CTA}, analyticsLocations: analyticsLocations}]);
}
function _fun93955(a0) { // fn#93955, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12487:2565, offset: 0x020ccbd5, size: 55 bytes, params: 2, frame: 4
const value = environment.__proto__;
const property = boostSlots[a0];
return property.premiumGuildSubscription != null && property.premiumGuildSubscription.guildId === guild.id;
}
function _fun93957() { // fn#93957, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12487:2953, offset: 0x020ccc59, size: 25 bytes, params: 1, frame: 11
env1_2(function(a0) {
return !a0;
});
}
function _fun93959() { // fn#93959, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12487:2975, offset: 0x020ccc72, size: 35 bytes, params: 1, frame: 11
const window = global.window;
window.clearTimeout(env1_6.current);
}
@@ -0,0 +1,146 @@
/* Metro module 12343; source: modules/guild_boosting/native/marketing_redesign/GuildBoostingMarketingFaq.tsx; dependencies: [57, 31, 27, 661, 33, 4501, 7018, 697, 1244, 1948, 4573, 5278, 1305, 12344, 2] */
function _fun94141(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#94141, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12529:6, offset: 0x020ef42c, size: 860 bytes, params: 8, frame: 25
var object2;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(57) /* metro dependency 57 */;
const env0_4 = importAll(31) /* metro dependency 31 */;
const env0_5 = (require(27) /* metro dependency 27 */).View;
const env0_6 = (require(661) /* metro dependency 661: Constants */).HelpdeskArticles;
let value = require(33) /* metro dependency 33 */;
const env0_7 = value.jsx;
const env0_8 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
object2 = {};
const VISIBILITY_OFFSET = (require(7018) /* metro dependency 7018: GuildBoostingMarketingPersistentCta */).VISIBILITY_OFFSET;
object2.wrapper = {'alignSelf': 'center', 'marginTop': 50, 'marginBottom': null, 'maxWidth': 800,
'paddingHorizontal': 16, 'width': '100%', marginBottom: VISIBILITY_OFFSET};
const object4 = {};
const BACKGROUND_MOD_NORMAL = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_MOD_NORMAL;
object4.backgroundColor = BACKGROUND_MOD_NORMAL;
object4.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
object4.paddingHorizontal = 16;
object4.paddingVertical = 28;
object2.content = object4;
object2.heading = {'marginBottom': 20, 'textAlign': 'center'};
let BORDER_MUTED = (importDefault(697) /* metro dependency 697: native */).colors.BORDER_MUTED;
object2.list = {borderTopColor: BORDER_MUTED, borderTopWidth: 1};
BORDER_MUTED = (importDefault(697) /* metro dependency 697: native */).colors.BORDER_MUTED;
object2.listItem = {borderBottomColor: BORDER_MUTED, borderBottomWidth: 1};
object2.questionWrapper = {'display': 'flex', 'flexDirection': 'row', 'paddingVertical': 10};
object2.questionWrapperExpanded = {paddingBottom: 6};
object2.question = {'flexGrow': 1, 'flexShrink': 1, 'paddingRight': 8};
const ICON_MUTED = (importDefault(697) /* metro dependency 697: native */).colors.ICON_MUTED;
object2.questionIcon = {'flexGrow': 0, 'flexShrink': 0, tintColor: ICON_MUTED};
object2.questionIconExpanded = {transform: [{rotate: '45deg'}]};
object2.answer = {marginBottom: 10};
const env0_9 = Reflect.apply(createStyles, value, [object2]);
const items2 = [{getQuestion: function() {
return require(dependencyMap[8]).intl.string(require(dependencyMap[8]).t.C4J8UB);
}, getAnswer: function() {
return require(dependencyMap[8]).intl.string(require(dependencyMap[8]).t.nhkk6k);
}}];
items2[1] = {getQuestion: function() {
return require(dependencyMap[8]).intl.string(require(dependencyMap[8]).t.ai4ym2);
}, getAnswer: function() {
var intl = require(dependencyMap[8]).intl;
var property = require(dependencyMap[8]).t['8zlqlD'];
var object = {};
object.helpCenterUrl = importDefault(dependencyMap[9]).getArticleURL(HelpdeskArticles.GUILD_BOOSTING_FAQ);
return intl.format(property, object);
}};
items2[2] = {getQuestion: function() {
return require(dependencyMap[8]).intl.string(require(dependencyMap[8]).t.kMVGsC);
}, getAnswer: function() {
return require(dependencyMap[8]).intl.string(require(dependencyMap[8]).t['Vz/SCQ']);
}};
items2[3] = {getQuestion: function() {
return require(dependencyMap[8]).intl.string(require(dependencyMap[8]).t.kYmXWF);
}, getAnswer: function() {
return require(dependencyMap[8]).intl.string(require(dependencyMap[8]).t['+OURPp']);
}};
items2[4] = {getQuestion: function() {
return require(dependencyMap[8]).intl.string(require(dependencyMap[8]).t['LsX/vb']);
}, getAnswer: function() {
return require(dependencyMap[8]).intl.string(require(dependencyMap[8]).t['3TeauK']);
}};
items2[5] = {getQuestion: function() {
return require(dependencyMap[8]).intl.string(require(dependencyMap[8]).t.fRlnXU);
}, getAnswer: function() {
return require(dependencyMap[8]).intl.string(require(dependencyMap[8]).t.bTRacj);
}};
items2[6] = {getQuestion: function() {
return require(dependencyMap[8]).intl.string(require(dependencyMap[8]).t['8Mu5Q9']);
}, getAnswer: function() {
return require(dependencyMap[8]).intl.string(require(dependencyMap[8]).t['2T5iPo']);
}};
items2[7] = {getQuestion: function() {
return require(dependencyMap[8]).intl.string(require(dependencyMap[8]).t['6EN+TZ']);
}, getAnswer: function() {
return require(dependencyMap[8]).intl.string(require(dependencyMap[8]).t.NZax1u);
}};
items2[8] = {getQuestion: function() {
return require(dependencyMap[8]).intl.string(require(dependencyMap[8]).t.f5B4EW);
}, getAnswer: function() {
return require(dependencyMap[8]).intl.string(require(dependencyMap[8]).t.Aje8Pb);
}};
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/guild_boosting/native/marketing_redesign/GuildBoostingMarketingFaq.tsx');
exports.default = GuildBoostingMarketingFaq;
}
function GuildBoostingMarketingFaq() { // fn#94160, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12529:2043, offset: 0x020efc35, size: 287 bytes, params: 1, frame: 25
const styles = useStyles();
const [env0_1, env0_2] = env0_3(env0_4.useState(null), 2);
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const string = intl.string;
const HPJ6Nj = (require(1244) /* metro dependency 1244: indexNative */).t.HPJ6Nj;
return (
<View style={styles.wrapper}>
<View style={styles.content}>
<Text style={styles.heading} variant="heading-xxl/bold">
{Reflect.apply(string, intl, [HPJ6Nj])}
</Text>
<View style={styles.list}>
{env0_10.map(_fun94161)}
</View>
</View>
</View>
);
}
function _fun94161(a0, a1) { // fn#94161, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12529:2343, offset: 0x020efd54, size: 464 bytes, params: 3, frame: 30
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const env0_0 = a1;
const value2 = env0_1 === a1;
let stylesBinding = styles;
const listItem = stylesBinding.listItem;
const PressableOpacity = (require(5278) /* metro dependency 5278: Pressables */).PressableOpacity;
const pressableOpacityProps = {style: [stylesBinding.questionWrapper, value2 && styles.questionWrapperExpanded],
onPress: onPress_94162, accessibilityRole: 'button', accessibilityState: {expanded: value2}};
const r15 = value2 ? 'interactive-text-active' : 'interactive-text-default';
stylesBinding = styles;
const text = <Text color={r15} style={stylesBinding.question} variant="text-md/normal">{a0.getQuestion()}</Text>;
const Icon = (require(1305) /* metro dependency 1305: native */).Icon;
return (
<View style={listItem} key={a1}>
<PressableOpacity {...pressableOpacityProps}>
{text}
<Icon
source={importDefault(12344) /* metro dependency 12344 */}
style={[stylesBinding.questionIcon, value2 && styles.questionIconExpanded]}
/>
</PressableOpacity>
{value2 && <Text style={styles.answer} color="interactive-text-active" variant="text-sm/normal">{a0.getAnswer()}</Text>}
</View>
);
}
function onPress_94162() { // fn#94162, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12529:2494, offset: 0x020eff24, size: 25 bytes, params: 1, frame: 11
return env1_2(function(a0) {
return a0 === require ? null : require;
});
}
@@ -0,0 +1,165 @@
/* Metro module 7009; source: modules/guild_boosting/native/marketing_redesign/GuildBoostingMarketingOverview.tsx; dependencies: [57, 31, 27, 1867, 1878, 661, 33, 4501, 7010, 566, 1484, 6771, 6518, 5180, 1895, 683, 694, 6847, 4223, 7018, 12301, 12315, 12322, 12334, 12339, 12343, 2] */
function _fun55495(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#55495, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7187:6, offset: 0x013a87f7, size: 304 bytes, params: 8, frame: 20
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(57) /* metro dependency 57 */;
const env0_4 = importAll(31) /* metro dependency 31 */;
const env0_5 = (require(27) /* metro dependency 27 */).ScrollView;
const guildStore = importDefault(1867) /* metro dependency 1867: GuildStore */;
const userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
let value = require(661) /* metro dependency 661: Constants */;
const env0_8 = value.AnalyticEvents;
const env0_9 = value.AnalyticsPages;
value = require(33) /* metro dependency 33 */;
const env0_10 = value.jsx;
const env0_11 = value.jsxs;
const env0_12 = value.Fragment;
const env0_13 = (require(4501) /* metro dependency 4501: createStyles */).createStyles({wrapper: {paddingBottom: 24}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/guild_boosting/native/marketing_redesign/GuildBoostingMarketingOverview.tsx');
exports.default = GuildBoostingMarketingOverview;
}
function GuildBoostingMarketingOverview({guildId, guildBoostSlots}) { // fn#55496, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7187:304, offset: 0x013a8927, size: 862 bytes, params: 2, frame: 32
var r0;
var jsxRuntimeEnv0_12Binding;
var items3;
var items2;
var value;
const styles = useStyles();
(require(7010) /* metro dependency 7010: useGiftCardMobileConsumptionHalfsheet */).useGiftCardMobileConsumptionHalfsheet();
const r12 = guildBoostSlots?.[0];
const guild = (require(566) /* metro dependency 566: flux */).useStateFromStores([GuildStore], function() {
return GuildStore.getGuild(guildId);
});
const value4 = (require(1484) /* metro dependency 1484: useNavigationNative */).useNavigation();
const env0_3 = value4;
const analyticsLocations = (importDefault(6771) /* metro dependency 6771: useAnalyticsLocations */)().analyticsLocations;
const env0_4 = analyticsLocations;
let binding = env0_4;
let useState = binding.useState;
const value5 = Reflect.apply(useState, binding, [false]);
const binding2 = env0_3;
const value6 = binding2(value5, 2);
const property = value6[0];
const env0_5 = value6[1];
useState = binding.useState;
const value7 = binding2(Reflect.apply(useState, binding, [0]), 2);
const env0_6 = value7[0];
const env0_7 = value7[1];
const env0_8 = binding.useRef(false);
const value8 = (importDefault(6518) /* metro dependency 6518: useInitialValue */)(function() {
var Date = global.Date;
return Date.now();
});
const value9 = (importDefault(5180) /* metro dependency 5180: useFractionalPremiumInfo */)({forceFetch: true});
const currentUser = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], function() {
return UserStore.getCurrentUser();
});
const r9 = currentUser != null ? currentUser.premiumGroupRole : (require(1895) /* metro dependency 1895: user */).PremiumSubscriptionGroupRole.UNSPECIFIED;
env0_4.useLayoutEffect(_fun55500, [value4, guildBoostSlots, guild?.name]);
binding = env0_4;
binding.useEffect(function() {
return _fun55502;
}, [guildId, analyticsLocations, value8]);
binding.useEffect(_fun55503, []);
if (guild == null) {
r0 = null;
} else {
jsxRuntimeEnv0_12Binding = jsxRuntimeEnv0_12;
var scrollViewBindingProps = {contentContainerStyle: styles.wrapper, onScroll: onScroll_55505,
scrollEventThrottle: 16};
value = importDefault(12301) /* metro dependency 12301: GuildBoostingMarketingCtaBar */;
value = ((Component) => <Component guild={guild} previousGuildSubscriptionSlot={r12} onLayout={onLayout_55506} fractionalPremiumInfo={value9} premiumGroupRole={r9} />)(value);
items3 = [value];
value = importDefault(12315) /* metro dependency 12315: GuildBoostingMarketingProgressBar */;
items3[1] = ((Component) => <Component guild={guild} />)(value);
value = importDefault(12322) /* metro dependency 12322: GuildBoostingMarketingTierCards */;
items3[2] = ((Component) => <Component guild={guild} />)(value);
value = importDefault(12334) /* metro dependency 12334: GuildBoostingMarketingBoosterRecognitionCards */;
items3[3] = ((Component) => <Component />)(value);
value = importDefault(12339) /* metro dependency 12339: GuildBoostingMarketingTopPerksCards */;
items3[4] = ((Component) => <Component />)(value);
value = importDefault(12343) /* metro dependency 12343: GuildBoostingMarketingFaq */;
items3[5] = ((Component) => <Component />)(value);
value = <ScrollView {...scrollViewBindingProps}>{items3}</ScrollView>;
items2 = [value];
value = importDefault(7018) /* metro dependency 7018: GuildBoostingMarketingPersistentCta */;
items2[1] = ((Component) => <Component guild={guild} previousGuildSubscriptionSlot={r12} isVisible={property} fractionalPremiumState={value9.fractionalState} premiumGroupRole={r9} />)(value);
value = <>{items2}</>;
r0 = value;
}
return r0;
}
function _fun55500() { // fn#55500, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7187:891, offset: 0x013a8c85, size: 101 bytes, params: 1, frame: 17
const r5 = guildBoostSlots != null && guildBoostSlots.length > 0;
const binding = env0_3;
const value4 = '';
binding.setOptions({title: r5 ? value4 : guild?.name ?? value4});
}
function _fun55501() { // fn#55501, offset: 0x013a8cea, size: 9 bytes, params: 1, frame: 1
return _fun55502;
}
function _fun55503() { // fn#55503, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7187:1191, offset: 0x013a8d65, size: 45 bytes, params: 1, frame: 12
var environment;
const value = environment.__proto__;
(importDefault(694) /* metro dependency 694: Dispatcher */).wait(_fun55504);
}
function GuildBoostingMarketingOverviewOnScroll({nativeEvent}) { // fn#55505, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7187:1371, owner: GuildBoostingMarketingOverview.onScroll, offset: 0x013a8dcd, size: 228 bytes, params: 2, frame: 17
var r2;
var height;
var value3;
var value4;
var value6;
var defaultImport;
const layoutMeasurement = nativeEvent.layoutMeasurement;
const contentOffset = nativeEvent.contentOffset;
const contentSize = nativeEvent.contentSize;
const current = env0_8.current;
if (current) {
r2 = !current;
} else {
height = layoutMeasurement.height;
value3 = height + contentOffset.y;
height = contentSize.height;
value4 = environment.__proto__;
r2 = value3 >= height - (require(7018) /* metro dependency 7018: GuildBoostingMarketingPersistentCta */).VISIBILITY_OFFSET;
}
if (r2) {
value6 = environment.__proto__;
defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
defaultImport.track(AnalyticEvents.PREMIUM_MARKETING_SURFACE_REACHED_BOTTOM,
{type: AnalyticsPages.PREMIUM_GUILD_USER_MODAL, location_stack: analyticsLocations, guild_id: guild.id});
env0_8.current = true;
}
env0_5(contentOffset.y >= env0_6);
}
function GuildBoostingMarketingOverviewOnLayout(a0) { // fn#55506, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7187:1758, owner: GuildBoostingMarketingOverview.onLayout, offset: 0x013a8eb1, size: 57 bytes, params: 2, frame: 11
return env0_7(a0.nativeEvent.layout.y + a0.nativeEvent.layout.height);
}
function _fun55502() { // fn#55502, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7187:1036, offset: 0x013a8cf3, size: 114 bytes, params: 1, frame: 17
const defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
const track = defaultImport.track;
const MODAL_DISMISSED = AnalyticEvents.MODAL_DISMISSED;
const object2 = {};
const PREMIUM_GUILD_USER_MODAL = AnalyticsPages.PREMIUM_GUILD_USER_MODAL;
object2.type = PREMIUM_GUILD_USER_MODAL;
object2.location_stack = analyticsLocations;
object2.guild_id = guildId;
const Date = global.Date;
object2.duration_open_ms = Date.now() - env1_9;
Reflect.apply(track, defaultImport, [MODAL_DISMISSED, object2]);
}
function _fun55504() { // fn#55504, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7187:1211, offset: 0x013a8d92, size: 59 bytes, params: 1, frame: 13
const value = environment.__proto__.__proto__;
(require(6847) /* metro dependency 6847: SubscriptionPlanActionCreators */).fetchPremiumSubscriptionPlans();
(require(4223) /* metro dependency 4223: BillingActionCreators */).fetchPaymentSources();
}
@@ -0,0 +1,100 @@
/* Metro module 7018; source: modules/guild_boosting/native/marketing_redesign/GuildBoostingMarketingPersistentCta.tsx; dependencies: [31, 27, 4502, 661, 33, 4501, 697, 632, 4017, 4577, 4589, 6819, 4573, 7019, 2] */
function _fun55606(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#55606, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7196:6, offset: 0x013ab8f2, size: 504 bytes, params: 8, frame: 22
var object2;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
importAll(31) /* metro dependency 31 */;
const env0_3 = (require(27) /* metro dependency 27 */).View;
const accessibilityStore = importDefault(4502) /* metro dependency 4502: AccessibilityStore */;
const env0_5 = (require(661) /* metro dependency 661: Constants */).AnalyticsSections;
let value = require(33) /* metro dependency 33 */;
const env0_6 = value.jsx;
const env0_7 = value.jsxs;
const env0_8 = {'stiffness': 70, 'damping': 10};
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
object2 = {wrapper: {'display': 'flex', 'alignItems': 'center', 'position': 'absolute', 'width': '100%',
'zIndex': 1, 'bottom': -76}};
const BACKGROUND_MOD_NORMAL = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_MOD_NORMAL;
object2.innerWraper = {'backgroundColor': null, 'display': 'flex', 'flexDirection': 'row', 'alignItems': 'center',
'position': 'relative', 'height': 76, 'width': 343, 'borderRadius': 76, 'paddingLeft': 13,
'paddingVertical': 13, 'paddingRight': 27, backgroundColor: BACKGROUND_MOD_NORMAL};
object2.guildInfoContainer = {'display': 'flex', 'flexDirection': 'row', 'alignItems': 'center', 'flex': 1,
'marginRight': 10};
const BACKGROUND_SURFACE_HIGH = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_SURFACE_HIGH;
object2.guildIcon = {'backgroundColor': null, 'marginRight': 10, 'height': 50, 'width': 50, 'borderRadius': 25,
backgroundColor: BACKGROUND_SURFACE_HIGH};
const MOBILE_TEXT_HEADING_PRIMARY = (importDefault(697) /* metro dependency 697: native */).colors.MOBILE_TEXT_HEADING_PRIMARY;
object2.guildIconText = {color: MOBILE_TEXT_HEADING_PRIMARY};
object2.guildName = {'flexGrow': 1, 'flexShrink': 1, 'flexBasis': 'auto'};
object2.buttonContainer = {height: 40};
object2.button = {minWidth: 100};
object2.border = {'padding': 2, 'borderRadius': 80};
const env0_9 = Reflect.apply(createStyles, value, [object2]);
object2 = {code: 'function GuildBoostingMarketingPersistentCtaTsx1(){const{useReducedMotion,VISIBILITY_OFFSET,withSpring,isVisible,SPRING_CONFIG}=this.__closure;return{transform:[{translateY:useReducedMotion?-VISIBILITY_OFFSET:withSpring(isVisible?-VISIBILITY_OFFSET:VISIBILITY_OFFSET,SPRING_CONFIG)}],opacity:withSpring(isVisible?1:0,SPRING_CONFIG)};}'};
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/guild_boosting/native/marketing_redesign/GuildBoostingMarketingPersistentCta.tsx');
exports.default = GuildBoostingMarketingPersistentCta;
exports.VISIBILITY_OFFSET = 120;
}
function GuildBoostingMarketingPersistentCta({fractionalPremiumState, guild, previousGuildSubscriptionSlot, isVisible, premiumGroupRole}) { // fn#55607, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7196:1334, offset: 0x013abaea, size: 705 bytes, params: 2, frame: 33
var object2;
const styles = useStyles();
const useReducedMotion = (require(632) /* metro dependency 632: useStateFromStores */).useStateFromStores([AccessibilityStore],
function() {
return AccessibilityStore.useReducedMotion;
});
const reanimatedRexportModule = require(4017) /* metro dependency 4017: ReanimatedRexport */;
const useAnimatedStyle = reanimatedRexportModule.useAnimatedStyle;
const closure = GuildBoostingMarketingPersistentCta_;
object2 = {useReducedMotion: useReducedMotion, VISIBILITY_OFFSET: 120};
object2.withSpring = (require(4577) /* metro dependency 4577: spring */).withSpring;
object2.isVisible = isVisible;
object2.SPRING_CONFIG = env0_8;
closure.__closure = object2;
closure.__workletHash = 14370895185277;
closure.__initData = env0_10;
const value2 = Reflect.apply(useAnimatedStyle, reanimatedRexportModule, [closure]);
const View2 = (importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).View;
const items3 = [styles.wrapper, value2];
const defaultImport = importDefault(4589) /* metro dependency 4589 */;
const GUILD_BOOSTING_BLUE = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.GUILD_BOOSTING_BLUE;
const items2 = [GUILD_BOOSTING_BLUE];
const GUILD_BOOSTING_PURPLE = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.GUILD_BOOSTING_PURPLE;
items2[1] = GUILD_BOOSTING_PURPLE;
const GuildIcon = importDefault(6819) /* metro dependency 6819: GuildIcon */;
const GuildIconSizes = (require(6819) /* metro dependency 6819: GuildIcon */).GuildIconSizes;
const LARGE = GuildIconSizes.LARGE;
const guildIcon = <GuildIcon style={styles.guildIcon} textStyle={styles.guildIconText} guild={guild} size={LARGE} />;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const view = <View style={styles.guildInfoContainer}>{guildIcon}<Text style={styles.guildName} variant="text-md/bold" lineClamp={1}>{guild.name}</Text></View>;
const GuildBoostingSubscribeButton = importDefault(7019) /* metro dependency 7019: GuildBoostingSubscribeButton */;
const PREMIUM_GUILD_USER_MODAL_FLOATING_CTA_BAR = AnalyticsSections.PREMIUM_GUILD_USER_MODAL_FLOATING_CTA_BAR;
return (
<View2 style={items3}>
{((Component) => <Component angle={45} angleCenter={{'x': 0.5, 'y': 0.5}} colors={items2} locations={[0,
1]} style={styles.border} useAngle><View style={styles.innerWraper}>{view}<View style={styles.buttonContainer}><GuildBoostingSubscribeButton guild={guild} previousGuildSubscriptionSlot={previousGuildSubscriptionSlot} useShortenedCTA styles={styles.button} analyticsSection={PREMIUM_GUILD_USER_MODAL_FLOATING_CTA_BAR} fractionalPremiumState={fractionalPremiumState} premiumGroupRole={premiumGroupRole} /></View></View></Component>)(defaultImport)}
</View2>
);
}
function GuildBoostingMarketingPersistentCta_() { // fn#55609, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7196:1590, owner: GuildBoostingMarketingPersistentCta._, offset: 0x013abdba, size: 151 bytes, params: 1, frame: 19
var r1;
var value3;
var moduleValue;
const object2 = {};
const value2 = -120;
if (useReducedMotion) {
r1 = value2;
} else {
value3 = environment.__proto__;
moduleValue = require(4577) /* metro dependency 4577: spring */;
r1 = moduleValue.withSpring(isVisible ? value2 : 120, env1_8);
}
object2.transform = [{translateY: r1}];
const springModule = require(4577) /* metro dependency 4577: spring */;
object2.opacity = springModule.withSpring(isVisible ? 1 : 0, env1_8);
return object2;
}
@@ -0,0 +1,163 @@
/* Metro module 12315; source: modules/guild_boosting/native/marketing_redesign/GuildBoostingMarketingProgressBar.tsx; dependencies: [57, 31, 27, 4502, 661, 33, 4501, 12316, 697, 4048, 632, 4017, 8249, 4577, 4589, 4002, 2] */
function _fun94012(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#94012, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12501:6, offset: 0x020ceb4a, size: 598 bytes, params: 8, frame: 27
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(57) /* metro dependency 57 */;
const env0_4 = importAll(31) /* metro dependency 31 */;
const env0_5 = (require(27) /* metro dependency 27 */).View;
const accessibilityStore = importDefault(4502) /* metro dependency 4502: AccessibilityStore */;
const BoostedGuildTiers = (require(661) /* metro dependency 661: Constants */).BoostedGuildTiers;
let value = require(33) /* metro dependency 33 */;
const env0_8 = value.jsx;
const env0_9 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
object = {};
const MARKER_DIMENSIONS = (require(12316) /* metro dependency 12316: GuildBoostingMarketingProgressBarMarker */).MARKER_DIMENSIONS;
object.progressBarContainer = {'display': 'flex', 'alignItems': 'center', 'width': '100%', 'marginTop': 40,
paddingHorizontal: MARKER_DIMENSIONS / 2 + 34};
object.progressBar = {'height': 54, 'maxWidth': 660, 'width': '100%'};
object.progressBarScrubber = {height: 8,
top: MARKER_DIMENSIONS / 2 - 4, marginHorizontal: MARKER_DIMENSIONS / 2 + 2};
const SPINE_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.SPINE_DEFAULT;
object.progressBarTrack = {'borderRadius': 8, 'height': '100%', 'width': '100%', 'position': 'absolute',
'zIndex': 0, backgroundColor: SPINE_DEFAULT};
object.progressBarFill = {'borderRadius': 8, 'position': 'absolute', 'height': '100%', 'left': 0, 'zIndex': 1};
object.progressBarGradientFill = {'height': '100%', 'width': '100%', 'borderRadius': 8};
const env0_10 = Reflect.apply(createStyles, value, [object]);
const NONE = BoostedGuildTiers.NONE;
object = [NONE];
const TIER_1 = BoostedGuildTiers.TIER_1;
object[1] = TIER_1;
const TIER_2 = BoostedGuildTiers.TIER_2;
object[2] = TIER_2;
const TIER_3 = BoostedGuildTiers.TIER_3;
object[3] = TIER_3;
const env0_12 = {'stiffness': 27, 'damping': 10};
object = {code: 'function GuildBoostingMarketingProgressBarTsx1(){const{width}=this.__closure;return{width:width.get()+"%"};}'};
object = {code: 'function GuildBoostingMarketingProgressBarTsx2(){const{width}=this.__closure;return width.get();}'};
object = {code: 'function GuildBoostingMarketingProgressBarTsx3(width){const{BoostedGuildTiers,TIER_REACHED_OFFSET,revealedTier,runOnJS,setRevealedTier}=this.__closure;let tier=BoostedGuildTiers.NONE;if(width>=33.33-TIER_REACHED_OFFSET)tier=BoostedGuildTiers.TIER_1;if(width>=66.67-TIER_REACHED_OFFSET)tier=BoostedGuildTiers.TIER_2;if(width>=100-TIER_REACHED_OFFSET)tier=BoostedGuildTiers.TIER_3;if(tier!==revealedTier)runOnJS(setRevealedTier)(tier);}'};
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/guild_boosting/native/marketing_redesign/GuildBoostingMarketingProgressBar.tsx');
exports.default = ProgressBar;
exports.PROGRESS_BAR_SPACING = 40;
}
function ProgressBar({guild}) { // fn#94013, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12501:1675, offset: 0x020ceda0, size: 814 bytes, params: 2, frame: 31
var object2;
const styles = useStyles();
const value2 = (importDefault(4048) /* metro dependency 4048: useTheme */)();
const useReducedMotion = (require(632) /* metro dependency 632: useStateFromStores */).useStateFromStores([AccessibilityStore],
function() {
return AccessibilityStore.useReducedMotion;
});
const value3 = (require(4017) /* metro dependency 4017: ReanimatedRexport */).useSharedValue(0);
let binding = env0_4;
const useState = binding.useState;
const NONE = BoostedGuildTiers.NONE;
const value5 = env0_3(Reflect.apply(useState, binding, [NONE]), 2);
const property = value5[0];
const property2 = value5[1];
const reanimatedRexportModule = require(4017) /* metro dependency 4017: ReanimatedRexport */;
const useAnimatedStyle = reanimatedRexportModule.useAnimatedStyle;
let closure = ProgressBarI;
closure.__closure = {width: value3};
closure.__workletHash = 8013193810386;
closure.__initData = env0_13;
const value6 = Reflect.apply(useAnimatedStyle, reanimatedRexportModule, [closure]);
const moduleValue4 = reanimatedRexportModule;
const useAnimatedReaction = moduleValue4.useAnimatedReaction;
closure = ProgressBarP;
closure.__closure = {width: value3};
closure.__workletHash = 5482324713221;
closure.__initData = env0_14;
const closure2 = ProgressBarW;
object2 = {BoostedGuildTiers: BoostedGuildTiers, TIER_REACHED_OFFSET: 5, revealedTier: property};
object2.runOnJS = reanimatedRexportModule.runOnJS;
object2.setRevealedTier = property2;
closure2.__closure = object2;
closure2.__workletHash = 4844648302516;
closure2.__initData = env0_15;
Reflect.apply(useAnimatedReaction, moduleValue4, [closure, closure2]);
const useMemo = binding.useMemo;
binding.useEffect(_fun94019, [Reflect.apply(useMemo, binding, [_fun94018, [guild]]).fillFactor, value3,
useReducedMotion]);
const View2 = (importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).View;
const items2 = [styles.progressBarFill, value6];
const defaultImport = importDefault(4589) /* metro dependency 4589 */;
const PRIMARY_160 = (require(4002) /* metro dependency 4002: shared */).isThemeDark(value2) ? '#515359' : (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.PRIMARY_160;
const items4 = [<View style={styles.progressBarScrubber}><View2 style={items2}>{((Component) => <Component useAngle angle={90} colors={[PRIMARY_160,
'#AB77F2']} locations={[0.1577,
0.9905]} style={styles.progressBarGradientFill} />)(defaultImport)}</View2><View style={styles.progressBarTrack} /></View>];
binding = env0_11;
items4[1] = binding.map(_fun94022);
return (
<View style={styles.progressBarContainer}>
<View style={styles.progressBar}>
{items4}
</View>
</View>
);
}
function ProgressBarI() { // fn#94015, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12501:1900, owner: ProgressBar.I, offset: 0x020cf0ce, size: 51 bytes, params: 1, frame: 14
const object2 = {};
object2.width = '' + env0_2.get() + '%';
return object2;
}
function ProgressBarW(a0) { // fn#94017, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12501:2128, owner: ProgressBar.w, offset: 0x020cf101, size: 137 bytes, params: 2, frame: 13
let value = environment.__proto__;
const NONE = BoostedGuildTiers.NONE;
let r2 = a0 >= 28.33 ? BoostedGuildTiers.TIER_1 : NONE;
r2 = a0 >= 61.67 ? BoostedGuildTiers.TIER_2 : r2;
r2 = a0 >= 95 ? BoostedGuildTiers.TIER_3 : r2;
if (r2 !== env0_3) {
value = require(4017) /* metro dependency 4017: ReanimatedRexport */;
value.runOnJS(env0_4)(r2);
}
}
function _fun94018() { // fn#94018, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12501:2429, offset: 0x020cf18a, size: 45 bytes, params: 1, frame: 11
const value = environment.__proto__;
return (require(8249) /* metro dependency 8249: GuildBoostingUtils */).getGuildBoostingProgressBarFillFactor(guild);
}
function _fun94019() { // fn#94019, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12501:2520, offset: 0x020cf1b7, size: 95 bytes, params: 1, frame: 16
const value2 = 100 * fillFactor;
var env0_1;
if (useReducedMotion) {
env0_2.set(value2);
} else {
env0_1 = global.setTimeout(_fun94020, 750);
}
return _fun94021;
}
function _fun94022(a0) { // fn#94022, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12501:3058, offset: 0x020cf276, size: 130 bytes, params: 2, frame: 20
const value = environment.__proto__;
const GuildBoostingMarketingProgressBarMarker = importDefault(12316) /* metro dependency 12316: GuildBoostingMarketingProgressBarMarker */;
const guildBinding = guild;
return (
<GuildBoostingMarketingProgressBarMarker
guild={guildBinding}
tier={a0}
revealedTier={env0_3}
useReducedMotion={useReducedMotion}
isDisabled={guildBinding.premiumTier <= a0 && fillFactor > (require(12316) /* metro dependency 12316: GuildBoostingMarketingProgressBarMarker */).TierMarkerPositions[a0]}
key={a0}
/>
);
}
function _fun94020() { // fn#94020, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12501:2574, offset: 0x020cf216, size: 66 bytes, params: 1, frame: 16
const binding = env1_2;
const set = binding.set;
const springModule = require(4577) /* metro dependency 4577: spring */;
Reflect.apply(set, binding, [springModule.withSpring(env0_0, env2_12)]);
}
function _fun94021() { // fn#94021, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12501:2618, offset: 0x020cf258, size: 30 bytes, params: 1, frame: 11
global.window.clearTimeout(env0_1);
}
@@ -0,0 +1,259 @@
/* Metro module 12316; source: modules/guild_boosting/native/marketing_redesign/GuildBoostingMarketingProgressBarMarker.tsx; dependencies: [31, 27, 661, 33, 12317, 12318, 12319, 4501, 697, 4048, 4017, 4577, 12320, 4000, 4002, 11365, 4573, 8249, 2] */
function _fun94023(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#94023, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12502:6, offset: 0x020cf2f8, size: 789 bytes, params: 8, frame: 25
var object3;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importAll(31) /* metro dependency 31 */;
let value = require(27) /* metro dependency 27 */;
const env0_4 = value.View;
const env0_5 = value.Image;
const BoostedGuildTiers = (require(661) /* metro dependency 661: Constants */).BoostedGuildTiers;
value = require(33) /* metro dependency 33 */;
const env0_7 = value.jsx;
const env0_8 = value.jsxs;
object3 = {};
const NONE = BoostedGuildTiers.NONE;
object3[NONE] = 0;
let TIER_1 = BoostedGuildTiers.TIER_1;
object3[TIER_1] = 0.3333333333333333;
let TIER_2 = BoostedGuildTiers.TIER_2;
object3[TIER_2] = 0.6666666666666666;
let TIER_3 = BoostedGuildTiers.TIER_3;
object3[TIER_3] = 1;
const object4 = {};
TIER_1 = BoostedGuildTiers.TIER_1;
object4[TIER_1] = importDefault(12317) /* metro dependency 12317 */;
TIER_2 = BoostedGuildTiers.TIER_2;
object4[TIER_2] = importDefault(12318) /* metro dependency 12318 */;
TIER_3 = BoostedGuildTiers.TIER_3;
object4[TIER_3] = importDefault(12319) /* metro dependency 12319 */;
value = require(4501) /* metro dependency 4501: createStyles */;
let createStyles = value.createStyles;
const WHITE = (importDefault(697) /* metro dependency 697: native */).colors.WHITE;
const env0_11 = Reflect.apply(createStyles, value, [{progressBarMarkerInnerCircle: {'width': 17.5, 'height': 17.5,
'display': 'flex', 'flexDirection': 'column', 'alignItems': 'center', 'justifyContent': 'center'},
progressBarMarkerInnerCircleBackground: {'width': '100%', 'height': '100%', 'borderRadius': 17.5,
'position': 'absolute'}, progressBarMarkerInnerCircleIcon: {'width': 16, 'height': 16},
progressBarMarkerInnerCircleIconUnlocked: {'width': '95%', 'height': '95%', tintColor: WHITE}}]);
const env0_12 = {'stiffness': 50, 'damping': 5};
const env0_13 = {code: 'function GuildBoostingMarketingProgressBarMarkerTsx1(){const{scale}=this.__closure;return{transform:[{scale:scale.get()}]};}'};
value = require(4501) /* metro dependency 4501: createStyles */;
createStyles = value.createStyles;
const object5 = {};
object5.progressBarMarker = {'height': 28, 'width': 28, 'position': 'absolute', 'display': 'flex',
'flexDirection': 'column', 'alignItems': 'center', 'justifyContent': 'center', 'transform': null, 'zIndex': 1,
transform: [{translateX: -14}]};
object5.progressBarMarkerBackground = {'width': '100%', 'height': '100%', 'position': 'absolute',
'borderRadius': 28};
let MOBILE_TEXT_HEADING_PRIMARY = (importDefault(697) /* metro dependency 697: native */).colors.MOBILE_TEXT_HEADING_PRIMARY;
object5.progressBarMarkerLabel = {'width': 75, 'position': 'absolute', 'top': '100%', 'paddingTop': 8,
'color': null, 'display': 'flex', 'alignItems': 'center', 'flexDirection': 'row', 'justifyContent': 'center',
'textAlign': 'center', color: MOBILE_TEXT_HEADING_PRIMARY};
object5.progressBarMarkerLabelWithIcon = {transform: [{translateX: -7}]};
object5.progressBarMarkerLabelLocked = {opacity: 0.4};
MOBILE_TEXT_HEADING_PRIMARY = (importDefault(697) /* metro dependency 697: native */).colors.MOBILE_TEXT_HEADING_PRIMARY;
object5.progressBarMarkerUnlockedIcon = {'height': 12, 'width': 12, 'marginRight': 2,
tintColor: MOBILE_TEXT_HEADING_PRIMARY};
const env0_14 = Reflect.apply(createStyles, value, [object5]);
const env0_15 = {code: 'function GuildBoostingMarketingProgressBarMarkerTsx2(){const{scale}=this.__closure;return{transform:[{scale:scale.get()}]};}'};
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/guild_boosting/native/marketing_redesign/GuildBoostingMarketingProgressBarMarker.tsx');
exports.default = ProgressBarMarker;
exports.MARKER_DIMENSIONS = 28;
exports.TierMarkerPositions = object3;
}
function ProgressBarMarkerInnerContent({tier, isTierUnlocked, isTierAnimated, isCurrentTier, useReducedMotion, isDisabled}) { // fn#94024, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12502:919, offset: 0x020cf60d, size: 693 bytes, params: 2, frame: 29
var r1;
var r6;
var r10;
var r11;
var r0;
var items2;
var unsafe_rawColors;
var WHITE;
var View2;
var items3;
var moduleValue3;
var hexWithOpacity;
var value;
const styles = useStyles();
const value2 = (importDefault(4048) /* metro dependency 4048: useTheme */)();
const value4 = (require(4017) /* metro dependency 4017: ReanimatedRexport */).useSharedValue(1);
const r13 = isTierUnlocked && isTierAnimated;
const binding = env0_3;
const useEffect = binding.useEffect;
let object = [r13, value4];
Reflect.apply(useEffect, binding, [_fun94025, object]);
const reanimatedRexportModule = require(4017) /* metro dependency 4017: ReanimatedRexport */;
const useAnimatedStyle = reanimatedRexportModule.useAnimatedStyle;
const closure = ProgressBarMarkerInnerContentY;
closure.__closure = {scale: value4};
closure.__workletHash = 7240908357686;
closure.__initData = env0_13;
const value5 = Reflect.apply(useAnimatedStyle, reanimatedRexportModule, [closure]);
const NONE = BoostedGuildTiers.NONE;
if (tier === NONE) {
r6 = null;
} else {
if (isDisabled) {
const BoostGemSlashIcon = (require(12320) /* metro dependency 12320: BoostGemSlashIcon */).BoostGemSlashIcon;
r1 = <BoostGemSlashIcon size="xxs" color="currentColor" />;
} else {
object = {source: env0_10[tier]};
items2 = [r13 ? styles.progressBarMarkerInnerCircleIconUnlocked : styles.progressBarMarkerInnerCircleIcon];
unsafe_rawColors = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors;
items2[1] = {tintColor: r13 ? unsafe_rawColors.WHITE : unsafe_rawColors.PREMIUM_PERK_PINK};
object.style = items2;
r1 = <Image {...object} />;
}
r6 = r1;
}
if (isCurrentTier) {
if (r13) {
r0 = r6;
} else {
var viewBindingProps = {style: [styles.progressBarMarkerInnerCircle]};
View2 = (importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).View;
items3 = [styles.progressBarMarkerInnerCircleBackground];
r10 = !useReducedMotion && r13;
r10 = r10 && value5;
items3[1] = r10;
if (r13) {
r11 = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.PREMIUM_PERK_PINK;
} else {
moduleValue3 = require(4000) /* metro dependency 4000: ColorUtils */;
hexWithOpacity = moduleValue3.hexWithOpacity;
WHITE = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.WHITE;
value = require(4002) /* metro dependency 4002: shared */;
r11 = value.isThemeDark(value2) ? 0.5 : 1;
value = Reflect.apply(hexWithOpacity, moduleValue3, [WHITE, r11]);
r11 = value;
}
items3[2] = {backgroundColor: r11};
value = <View2 style={items3} />;
value = <View {...viewBindingProps}>{value}{r6}</View>;
r0 = value;
}
} else {
var viewBindingProps = {style: [styles.progressBarMarkerInnerCircle]};
View2 = (importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).View;
items3 = [styles.progressBarMarkerInnerCircleBackground];
r10 = !useReducedMotion && r13;
r10 = r10 && value5;
items3[1] = r10;
if (r13) {
r11 = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.PREMIUM_PERK_PINK;
} else {
moduleValue3 = require(4000) /* metro dependency 4000: ColorUtils */;
hexWithOpacity = moduleValue3.hexWithOpacity;
WHITE = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.WHITE;
value = require(4002) /* metro dependency 4002: shared */;
r11 = value.isThemeDark(value2) ? 0.5 : 1;
value = Reflect.apply(hexWithOpacity, moduleValue3, [WHITE, r11]);
r11 = value;
}
items3[2] = {backgroundColor: r11};
value = <View2 style={items3} />;
value = <View {...viewBindingProps}>{value}{r6}</View>;
r0 = value;
}
return r0;
}
function ProgressBarMarker({guild, tier, revealedTier, useReducedMotion, isDisabled}) { // fn#94027, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12502:2804, offset: 0x020cf93c, size: 890 bytes, params: 2, frame: 33
var r18;
var isThemeDark2;
var moduleValue4;
var hexWithOpacity;
var unsafe_rawColors;
const styles = useStyles();
const value2 = (importDefault(4048) /* metro dependency 4048: useTheme */)();
const value3 = (require(4017) /* metro dependency 4017: ReanimatedRexport */).useSharedValue(1);
const value4 = tier === guild.premiumTier;
const value5 = revealedTier >= tier;
const value6 = guild.premiumTier >= tier;
let r10 = value6 && value5;
env0_3.useEffect(_fun94028, [r10, value3, value4]);
const reanimatedRexportModule = require(4017) /* metro dependency 4017: ReanimatedRexport */;
const useAnimatedStyle = reanimatedRexportModule.useAnimatedStyle;
const closure = ProgressBarMarkerP;
closure.__closure = {scale: value3};
closure.__workletHash = 6884434326805;
closure.__initData = env0_15;
const value7 = Reflect.apply(useAnimatedStyle, reanimatedRexportModule, [closure]);
const items5 = [styles.progressBarMarker];
items5[1] = {left: 100 * env0_9[tier] + '%'};
const View2 = (importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).View;
const items2 = [styles.progressBarMarkerBackground];
items2[1] = !useReducedMotion && value7;
if (value4) {
if (r10) {
r18 = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.PREMIUM_PERK_PINK;
} else {
isThemeDark2 = (require(4002) /* metro dependency 4002: shared */).isThemeDark(value2);
moduleValue4 = require(4000) /* metro dependency 4000: ColorUtils */;
hexWithOpacity = moduleValue4.hexWithOpacity;
unsafe_rawColors = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors;
r18 = isThemeDark2 ? Reflect.apply(hexWithOpacity, moduleValue4, [unsafe_rawColors.WHITE,
0.4]) : Reflect.apply(hexWithOpacity, moduleValue4, [unsafe_rawColors.PRIMARY_200, 0.4]);
}
} else {
isThemeDark2 = (require(4002) /* metro dependency 4002: shared */).isThemeDark(value2);
moduleValue4 = require(4000) /* metro dependency 4000: ColorUtils */;
hexWithOpacity = moduleValue4.hexWithOpacity;
unsafe_rawColors = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors;
r18 = isThemeDark2 ? Reflect.apply(hexWithOpacity, moduleValue4, [unsafe_rawColors.WHITE,
0.4]) : Reflect.apply(hexWithOpacity, moduleValue4, [unsafe_rawColors.PRIMARY_200, 0.4]);
}
items2[2] = {backgroundColor: r18};
const items3 = [<View2 style={items2} />];
items3[1] = <ProgressBarMarkerInnerContent tier={tier} isDisabled={isDisabled} isTierUnlocked={value6} isTierAnimated={value5} isCurrentTier={value4} useReducedMotion={useReducedMotion} />;
const items4 = [styles.progressBarMarkerLabel];
items4[1] = !r10 && styles.progressBarMarkerLabelLocked;
items4[2] = r10 && tier !== BoostedGuildTiers.NONE && styles.progressBarMarkerLabelWithIcon;
r10 = r10 && tier !== BoostedGuildTiers.NONE && <Image source={importDefault(11365) /* metro dependency 11365 */} style={styles.progressBarMarkerUnlockedIcon} />;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
items3[2] = <View style={items4}>{r10}<Text variant="text-xs/medium">{(require(8249) /* metro dependency 8249: GuildBoostingUtils */).getTierName(tier,
{useLevels: false})}</Text></View>;
return (
<View style={items5}>
{items3}
</View>
);
}
function _fun94025() { // fn#94025, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12502:1121, offset: 0x020cf8c2, size: 83 bytes, params: 1, frame: 15
var binding;
var set;
var moduleValue;
if (env0_1) {
binding = env0_0;
binding.set(0);
set = binding.set;
value = environment.__proto__;
moduleValue = require(4577) /* metro dependency 4577: spring */;
Reflect.apply(set, binding, [moduleValue.withSpring(1, env1_12)]);
}
}
function ProgressBarMarkerInnerContentY() { // fn#94026, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12502:1219, owner: ProgressBarMarkerInnerContent.y, offset: 0x020cf915, size: 39 bytes, params: 1, frame: 11
const object = {};
object.scale = env0_0.get();
return {transform: [object]};
}
function _fun94028() { // fn#94028, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12502:3013, offset: 0x020cfcb6, size: 90 bytes, params: 1, frame: 15
var set;
var moduleValue;
let binding = env0_2;
if (binding && result) {
binding = env0_0;
binding.set(0);
set = binding.set;
value = environment.__proto__;
moduleValue = require(4577) /* metro dependency 4577: spring */;
Reflect.apply(set, binding, [moduleValue.withSpring(1, env1_12)]);
}
}
@@ -0,0 +1,29 @@
/* Metro module 12312; source: modules/guild_boosting/native/marketing_redesign/GuildBoostingMarketingStars.tsx; dependencies: [31, 33, 7744, 2] */
function _fun94007(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#94007, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12498:6, offset: 0x020ce77e, size: 147 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
importAll(31) /* metro dependency 31 */;
const value = require(33) /* metro dependency 33 */;
const env0_3 = value.jsx;
const env0_4 = value.jsxs;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/guild_boosting/native/marketing_redesign/GuildBoostingMarketingStars.tsx');
exports.default = StarsBackgroundSvg;
}
function StarsBackgroundSvg(a0) { // fn#94008, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12498:137, offset: 0x020ce811, size: 433 bytes, params: 2, frame: 20
const defaultImport = importDefault(7744) /* metro dependency 7744 */;
const defaultImportProps = {'viewBox': '0 0 336 129', 'fill': 'none', 'preserveAspectRatio': 'xMidYMid', ...a0};
const Path = (require(7744) /* metro dependency 7744 */).Path;
const items2 = [<Path d="M78.1733 59.2326L82.9242 57.6209C83.0253 57.5403 83.0253 57.4597 82.9242 57.4597L78.1733 55.7674L76.0505 52.0604C76.0505 51.9799 75.9494 51.9799 75.8484 52.0604L73.8267 55.7674H73.7256L69.0758 57.4597C68.9747 57.4597 68.9747 57.5403 69.0758 57.6209L73.7256 59.2326H73.8267L75.8484 62.9396C75.9494 63.0201 76.0505 63.0201 76.0505 62.9396L78.1733 59.2326Z" fill="white" />];
items2[1] = <Path d="M327.173 68.5751L331.924 67.1099C332.025 67.0366 332.025 66.9634 331.924 66.9634L327.173 65.4249L325.051 62.0549C325.051 61.9817 324.949 61.9817 324.848 62.0549L322.827 65.4249H322.726L318.076 66.9634C317.975 66.9634 317.975 67.0366 318.076 67.1099L322.726 68.5751H322.827L324.848 71.9451C324.949 72.0183 325.051 72.0183 325.051 71.9451L327.173 68.5751Z" fill="white" />;
items2[2] = <Path d="M331.173 7.2326L335.924 5.62087C336.025 5.54029 336.025 5.45972 335.924 5.45972L331.173 3.7674L329.051 0.0604396C329.051 -0.0201465 328.949 -0.0201465 328.848 0.0604396L326.827 3.7674H326.726L322.076 5.45972C321.975 5.45972 321.975 5.54029 322.076 5.62087L326.726 7.2326H326.827L328.848 10.9396C328.949 11.0201 329.051 11.0201 329.051 10.9396L331.173 7.2326Z" fill="white" />;
items2[3] = <Path d="M44.1733 90.2326L48.9242 88.6209C49.0253 88.5403 49.0253 88.4597 48.9242 88.4597L44.1733 86.7674L42.0505 83.0604C42.0505 82.9799 41.9494 82.9799 41.8484 83.0604L39.8267 86.7674H39.7256L35.0758 88.4597C34.9747 88.4597 34.9747 88.5403 35.0758 88.6209L39.7256 90.2326H39.8267L41.8484 93.9396C41.9494 94.0201 42.0505 94.0201 42.0505 93.9396L44.1733 90.2326Z" fill="white" />;
items2[4] = <Path d="M9.17332 125.233L13.9242 123.621C14.0253 123.54 14.0253 123.46 13.9242 123.46L9.17332 121.767L7.05053 118.06C7.05053 117.98 6.94943 117.98 6.84835 118.06L4.82668 121.767H4.72562L0.0758125 123.46C-0.0252708 123.46 -0.0252708 123.54 0.0758125 123.621L4.72562 125.233H4.82668L6.84835 128.94C6.94943 129.02 7.05053 129.02 7.05053 128.94L9.17332 125.233Z" fill="white" />;
items2[5] = <Path d="M290.173 48.2326L294.924 46.6209C295.025 46.5403 295.025 46.4597 294.924 46.4597L290.173 44.7674L288.051 41.0604C288.051 40.9799 287.949 40.9799 287.848 41.0604L285.827 44.7674H285.726L281.076 46.4597C280.975 46.4597 280.975 46.5403 281.076 46.6209L285.726 48.2326H285.827L287.848 51.9396C287.949 52.0201 288.051 52.0201 288.051 51.9396L290.173 48.2326Z" fill="white" />;
items2[6] = <Path d="M11.5 23L8 26.2322V30.7808L11.5 34L15 30.7678V26.2322L11.5 23Z" fill="white" />;
items2[7] = <Path d="M82.5 96L79 99.8199V105.195L82.5 109L86 105.18V99.8199L82.5 96Z" fill="white" />;
items2[8] = <Path d="M249.5 78L246 81.2322V85.7808L249.5 89L253 85.7678V81.2322L249.5 78Z" fill="white" />;
return ((Component) => <Component {...defaultImportProps}>{items2}</Component>)(defaultImport);
}
@@ -0,0 +1,526 @@
/* Metro module 12322; source: modules/guild_boosting/native/marketing_redesign/GuildBoostingMarketingTierCards.tsx; dependencies: [57, 31, 27, 661, 1880, 33, 7950, 1244, 10976, 12323, 6711, 6707, 9820, 12324, 7948, 4056, 12326, 4501, 697, 12315, 6235, 4017, 4504, 4573, 4048, 4002, 4589, 5278, 8249, 12327, 12329, 4000, 1305, 12331, 12332, 5465, 12333, 2] */
function _fun94036(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#94036, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12508:6, offset: 0x020cfeb2, size: 2605 bytes, params: 8, frame: 36
var object2;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(57) /* metro dependency 57 */;
const value = importAll(31) /* metro dependency 31 */;
const env0_5 = (require(27) /* metro dependency 27 */).View;
const constantsModule = require(661) /* metro dependency 661: Constants */;
const env0_6 = constantsModule.AppliedGuildBoostsRequiredForBoostedGuildTier;
const BoostedGuildTiers = constantsModule.BoostedGuildTiers;
const env0_8 = (require(1880) /* metro dependency 1880: PremiumConstants */).BoostedGuildFeatures;
const value3 = require(33) /* metro dependency 33 */;
const env0_9 = value3.jsx;
const env0_10 = value3.jsxs;
const env0_11 = value3.Fragment;
object2 = {};
const TIER_1 = BoostedGuildTiers.TIER_1;
object2.tier = TIER_1;
const ReactionIcon = (require(7950) /* metro dependency 7950: ReactionIcon */).ReactionIcon;
const items3 = [{'orderCollapsed': 0, 'isIncluded': true, IconComponent: ReactionIcon, getCopy: function() {
var intl = require(dependencyMap[7]).intl;
var Tlz0x1 = require(dependencyMap[7]).t.Tlz0x1;
return intl.formatToPlainString(Tlz0x1,
{numEmojiSlots: BoostedGuildFeatures[BoostedGuildTiers.TIER_1].limits.emoji});
}}];
const StickerIcon = (require(10976) /* metro dependency 10976: StickerIcon */).StickerIcon;
items3[1] = {isIncluded: true, IconComponent: StickerIcon, getCopy: function() {
var intl = require(dependencyMap[7]).intl;
var WgHNGI = require(dependencyMap[7]).t.WgHNGI;
return intl.formatToPlainString(WgHNGI,
{numStickerSlots: BoostedGuildFeatures[BoostedGuildTiers.TIER_1].limits.stickers});
}};
const ScreenArrowIcon = (require(12323) /* metro dependency 12323: ScreenArrowIcon */).ScreenArrowIcon;
items3[2] = {isIncluded: true, IconComponent: ScreenArrowIcon, getCopy: function() {
var intl = require(dependencyMap[7]).intl;
var Jbg8oY = require(dependencyMap[7]).t.Jbg8oY;
return intl.formatToPlainString(Jbg8oY,
{resolution: BoostedGuildFeatures[BoostedGuildTiers.TIER_1].limits.screenShareQualityResolution});
}};
const VoiceNormalIcon = (require(6711) /* metro dependency 6711: VoiceNormalIcon */).VoiceNormalIcon;
items3[3] = {'orderCollapsed': 2, 'isIncluded': true, IconComponent: VoiceNormalIcon, getCopy: getCopy_94045};
const StageIcon = (require(6707) /* metro dependency 6707: StageIcon */).StageIcon;
items3[4] = {isIncluded: true, IconComponent: StageIcon, getCopy: function() {
var intl = require(dependencyMap[7]).intl;
var Mrvzjg = require(dependencyMap[7]).t.Mrvzjg;
return intl.formatToPlainString(Mrvzjg,
{numStageSeats: BoostedGuildFeatures[BoostedGuildTiers.TIER_1].limits.stageVideoUsers});
}};
const GifIcon = (require(9820) /* metro dependency 9820: GifIcon */).GifIcon;
items3[5] = {'orderCollapsed': 1, 'isIncluded': true, IconComponent: GifIcon, getCopy: function() {
return require(dependencyMap[7]).intl.string(require(dependencyMap[7]).t.PbAyub);
}};
const ServerGridIcon = (require(12324) /* metro dependency 12324: ServerGridIcon */).ServerGridIcon;
items3[6] = {isIncluded: true, IconComponent: ServerGridIcon, getCopy: function() {
return require(dependencyMap[7]).intl.string(require(dependencyMap[7]).t.tzGY0q);
}};
const UploadIcon = (require(7948) /* metro dependency 7948: UploadIcon */).UploadIcon;
items3[7] = {isIncluded: false, IconComponent: UploadIcon, getCopy: getCopy_94049};
items3[8] = {isIncluded: false, IconComponent: ServerGridIcon, getCopy: function() {
return require(dependencyMap[7]).intl.string(require(dependencyMap[7]).t['1a5rjl']);
}};
items3[9] = {isIncluded: false, IconComponent: ReactionIcon, getCopy: function() {
return require(dependencyMap[7]).intl.string(require(dependencyMap[7]).t['6PV6Qc']);
}};
const LinkIcon = (require(4056) /* metro dependency 4056: LinkIcon */).LinkIcon;
items3[10] = {isIncluded: false, IconComponent: LinkIcon, getCopy: function() {
return require(dependencyMap[7]).intl.string(require(dependencyMap[7]).t.adNGjW);
}};
object2.features = items3;
const items2 = [object2];
const TIER_2 = BoostedGuildTiers.TIER_2;
items2[1] = {tier: TIER_2, features: [{isIncluded: true, IconComponent: ReactionIcon, getCopy: function() {
var intl = require(dependencyMap[7]).intl;
var Tlz0x1 = require(dependencyMap[7]).t.Tlz0x1;
return intl.formatToPlainString(Tlz0x1,
{numEmojiSlots: BoostedGuildFeatures[BoostedGuildTiers.TIER_2].limits.emoji});
}}, {isIncluded: true, IconComponent: StickerIcon, getCopy: function() {
var intl = require(dependencyMap[7]).intl;
var WgHNGI = require(dependencyMap[7]).t.WgHNGI;
return intl.formatToPlainString(WgHNGI,
{numStickerSlots: BoostedGuildFeatures[BoostedGuildTiers.TIER_2].limits.stickers});
}}, {'orderCollapsed': 0, 'isIncluded': true, IconComponent: ScreenArrowIcon, getCopy: getCopy_94055},
{isIncluded: true, IconComponent: VoiceNormalIcon, getCopy: getCopy_94056}, {isIncluded: true,
IconComponent: StageIcon, getCopy: function() {
var intl = require(dependencyMap[7]).intl;
var Mrvzjg = require(dependencyMap[7]).t.Mrvzjg;
return intl.formatToPlainString(Mrvzjg,
{numStageSeats: BoostedGuildFeatures[BoostedGuildTiers.TIER_2].limits.stageVideoUsers});
}}, {isIncluded: true, IconComponent: GifIcon, getCopy: function() {
return require(dependencyMap[7]).intl.string(require(dependencyMap[7]).t.PbAyub);
}}, {isIncluded: true, IconComponent: ServerGridIcon, getCopy: function() {
return require(dependencyMap[7]).intl.string(require(dependencyMap[7]).t.tzGY0q);
}}, {'orderCollapsed': 1, 'isIncluded': true, IconComponent: UploadIcon, getCopy: getCopy_94060},
{'orderCollapsed': 3, 'isIncluded': true, IconComponent: ServerGridIcon, getCopy: function() {
return require(dependencyMap[7]).intl.string(require(dependencyMap[7]).t['1a5rjl']);
}}, {'orderCollapsed': 2, 'isIncluded': true, IconComponent: ReactionIcon, getCopy: function() {
return require(dependencyMap[7]).intl.string(require(dependencyMap[7]).t['6PV6Qc']);
}}, {isIncluded: false, IconComponent: LinkIcon, getCopy: function() {
return require(dependencyMap[7]).intl.string(require(dependencyMap[7]).t.adNGjW);
}}]};
const TIER_3 = BoostedGuildTiers.TIER_3;
items2[2] = {tier: TIER_3, features: [{isIncluded: true, IconComponent: ReactionIcon, getCopy: function() {
var intl = require(dependencyMap[7]).intl;
var Tlz0x1 = require(dependencyMap[7]).t.Tlz0x1;
return intl.formatToPlainString(Tlz0x1,
{numEmojiSlots: BoostedGuildFeatures[BoostedGuildTiers.TIER_3].limits.emoji});
}}, {isIncluded: true, IconComponent: StickerIcon, getCopy: function() {
var intl = require(dependencyMap[7]).intl;
var WgHNGI = require(dependencyMap[7]).t.WgHNGI;
return intl.formatToPlainString(WgHNGI,
{numStickerSlots: BoostedGuildFeatures[BoostedGuildTiers.TIER_3].limits.stickers});
}}, {isIncluded: true, IconComponent: ScreenArrowIcon, getCopy: getCopy_94066}, {'orderCollapsed': 2,
'isIncluded': true, IconComponent: VoiceNormalIcon, getCopy: getCopy_94067}, {'orderCollapsed': 4,
'isIncluded': true, IconComponent: StageIcon, getCopy: function() {
var intl = require(dependencyMap[7]).intl;
var Mrvzjg = require(dependencyMap[7]).t.Mrvzjg;
return intl.formatToPlainString(Mrvzjg,
{numStageSeats: BoostedGuildFeatures[BoostedGuildTiers.TIER_3].limits.stageVideoUsers});
}}, {'orderCollapsed': 3, 'isIncluded': true, IconComponent: GifIcon, getCopy: function() {
return require(dependencyMap[7]).intl.string(require(dependencyMap[7]).t.PbAyub);
}}, {isIncluded: true, IconComponent: ServerGridIcon, getCopy: function() {
return require(dependencyMap[7]).intl.string(require(dependencyMap[7]).t.tzGY0q);
}}, {'orderCollapsed': 1, 'isIncluded': true, IconComponent: UploadIcon, getCopy: getCopy_94071}, {isIncluded: true,
IconComponent: ServerGridIcon, getCopy: function() {
return require(dependencyMap[7]).intl.string(require(dependencyMap[7]).t['1a5rjl']);
}}, {isIncluded: true, IconComponent: ReactionIcon, getCopy: function() {
return require(dependencyMap[7]).intl.string(require(dependencyMap[7]).t['6PV6Qc']);
}}, {'orderCollapsed': 0, 'isIncluded': true, IconComponent: LinkIcon, getCopy: function() {
return require(dependencyMap[7]).intl.string(require(dependencyMap[7]).t.adNGjW);
}}]};
const createStylesModule = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = createStylesModule.createStyles;
object2 = {cardWrapper: {'marginRight': 10, 'width': 290}};
const object3 = {};
object3.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
object3.height = '100%';
object2.card = object3;
object2.cardContent = {'display': 'flex', 'padding': 24, 'height': '100%'};
const object4 = {'borderRadius': null, 'overflow': 'hidden', 'height': '100%'};
object4.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
object2.pressableWrapper = object4;
object2.cardHeading = {'alignItems': 'baseline', 'display': 'flex', 'flexDirection': 'row', 'flexGrow': 0,
'flexShrink': 0, 'marginBottom': 16};
object2.cardTierName = {marginRight: 10};
object2.cardTierBoostcount = {opacity: 0.7};
object2.cardFeatures = {'flexGrow': 1, 'flexShrink': 0};
object2.cardFeaturesInvisible = {'position': 'absolute', 'top': 0, 'left': 0, 'height': '100%', 'width': '100%'};
object2.cardFeaturesWrapper = {'alignSelf': 'stretch', 'flexGrow': 1, 'position': 'relative'};
object2.cardFeature = {'alignItems': 'center', 'display': 'flex', 'flexDirection': 'row', 'marginBottom': 10};
object2.cardFeatureExcluded = {opacity: 0.5};
object2.cardFeatureExcludedCopy = {textDecorationLine: 'line-through'};
object2.cardFeatureLast = {marginBottom: 0};
const PROGRESS_BAR_SPACING = (require(12315) /* metro dependency 12315: GuildBoostingMarketingProgressBar */).PROGRESS_BAR_SPACING;
object2.cardsScroller = {flex: 1, marginTop: PROGRESS_BAR_SPACING};
object2.cardsScrollerContent = {'alignItems': 'flex-start', 'display': 'flex', 'flexDirection': 'row',
'justifyContent': 'center', 'minWidth': '100%', 'paddingHorizontal': 8, 'paddingTop': 16, 'paddingBottom': 20};
object2.cardFeatureIcon = {'height': 24, 'marginRight': 6, 'width': 24};
object2.cardFooter = {'display': 'flex', 'flexDirection': 'row', 'marginTop': 24};
object2.cardFooterIcon = {'flexGrow': 0, 'flexShrink': 0, 'height': 24, 'marginLeft': 8, 'width': 24};
const object5 = {'borderRadius': null, 'paddingHorizontal': 8, 'paddingVertical': 4, 'position': 'absolute',
'top': -16, 'left': 24};
object5.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
object2.cardTierBadge = object5;
object2.cardTierBadgeCopy = {textTransform: 'uppercase'};
const DARK_WHITE_500_LIGHT_GUILD_BOOSTING_PINK = (require(6235) /* metro dependency 6235: LegacyTokens */).DARK_WHITE_500_LIGHT_GUILD_BOOSTING_PINK;
object2.sparkleStar = {position: 'absolute', tintColor: DARK_WHITE_500_LIGHT_GUILD_BOOSTING_PINK};
object2.sparkleStarPointed = {'height': 15, 'width': 18};
object2.sparkleStarElongated = {'height': 45, 'width': 23};
object2.sparkleStarPointed1 = {'top': -7, 'right': 35};
object2.sparkleStarPointed2 = {'top': 20, 'right': 55};
object2.sparkleStarPointed3 = {'bottom': -7, 'left': 70};
object2.sparkleStarElongated1 = {'right': 15, 'top': 10};
object2.gradientHighlight = {'position': 'absolute', 'height': 1, 'width': 60};
object2.gradientHighlightTop = {'right': 15, 'top': 0};
object2.gradientHighlightBottom = {'left': 48, 'bottom': 0};
const env0_13 = Reflect.apply(createStyles, createStylesModule, [object2]);
object2 = {code: 'function GuildBoostingMarketingTierCardsTsx1(){const{withDelay,isVisible,TIER_FEATURE_ANIMATION_DURATION_MS,withTiming,Easing}=this.__closure;return{opacity:withDelay(isVisible?TIER_FEATURE_ANIMATION_DURATION_MS:0,withTiming(isVisible?1:0,{duration:TIER_FEATURE_ANIMATION_DURATION_MS,easing:Easing.inOut(Easing.quad)}))};}'};
const env0_15 = value.forwardRef(_fun94075);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/guild_boosting/native/marketing_redesign/GuildBoostingMarketingTierCards.tsx');
exports.default = GuildBoostingMarketingTierCards;
}
function TierFeatures({features, isVisible}) { // fn#94037, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12508:7722, offset: 0x020d08df, size: 305 bytes, params: 2, frame: 23
const styles = useStyles();
const reanimatedRexportModule = require(4017) /* metro dependency 4017: ReanimatedRexport */;
const useAnimatedStyle = reanimatedRexportModule.useAnimatedStyle;
const closure = TierFeaturesN;
const object2 = {};
object2.withDelay = reanimatedRexportModule.withDelay;
object2.isVisible = isVisible;
object2.TIER_FEATURE_ANIMATION_DURATION_MS = 150;
object2.withTiming = (require(4504) /* metro dependency 4504: timing */).withTiming;
const Easing = reanimatedRexportModule.Easing;
object2.Easing = Easing;
closure.__closure = object2;
closure.__workletHash = 13329849944491;
closure.__initData = env0_14;
const value3 = Reflect.apply(useAnimatedStyle, reanimatedRexportModule, [closure]);
const View = (importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).View;
const value = !isVisible;
return (
<View
accessibilityElementsHidden={value}
importantForAccessibility={isVisible ? undefined : 'no-hide-descendants'}
style={[styles.cardFeatures, isVisible ? value : styles.cardFeaturesInvisible, value3]}
>
{features.map(_fun94039)}
</View>
);
}
function getNextTierIndex(a0) { // fn#94040, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12508:11647, offset: 0x020d0bd2, size: 87 bytes, params: 2, frame: 16
const Math = global.Math;
const min = Math.min;
const TIER_3 = BoostedGuildTiers.TIER_3;
const env0_0 = Reflect.apply(min, Math, [TIER_3, a0 + 1]);
const index = env0_12.findIndex(_fun94041);
return index === -1 ? 0 : index;
}
function getCopy_94045() { // fn#94045, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12508:900, offset: 0x020d0d55, size: 162 bytes, params: 1, frame: 20
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const formatToPlainString = intl.formatToPlainString;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
const vBfZzD = t.vBfZzD;
const intl2 = (require(1244) /* metro dependency 1244: indexNative */).intl;
const formatToPlainString2 = intl2.formatToPlainString;
const w1gmLt = t.w1gmLt;
const TIER_1 = BoostedGuildTiers.TIER_1;
return Reflect.apply(formatToPlainString, intl, [vBfZzD, {bitrate: Reflect.apply(formatToPlainString2, intl2,
[w1gmLt, {bitrate: BoostedGuildFeatures[TIER_1].limits.bitrate / 1000}])}]);
}
function getCopy_94049() { // fn#94049, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12508:1496, offset: 0x020d0ed7, size: 165 bytes, params: 1, frame: 20
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const formatToPlainString = intl.formatToPlainString;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
const aFRl53 = t.aFRl53;
const intl2 = (require(1244) /* metro dependency 1244: indexNative */).intl;
const formatToPlainString2 = intl2.formatToPlainString;
const pIn7Af = t.pIn7Af;
const TIER_2 = BoostedGuildTiers.TIER_2;
return Reflect.apply(formatToPlainString, intl, [aFRl53, {uploadSizeLimit: Reflect.apply(formatToPlainString2,
intl2, [pIn7Af, {size: BoostedGuildFeatures[TIER_2].limits.fileSize / 1024 / 1024}])}]);
}
function getCopy_94055() { // fn#94055, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12508:2394, offset: 0x020d10fe, size: 99 bytes, params: 1, frame: 17
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const formatToPlainString = intl.formatToPlainString;
const Jbg8oY = (require(1244) /* metro dependency 1244: indexNative */).t.Jbg8oY;
const object2 = {};
object2.resolution = (require(12326) /* metro dependency 12326: ServerBoostStreamQualityMarketingExperiment */).getServerBoostStreamQualityMarketingResolution('GuildBoostingMarketingTierCards');
return Reflect.apply(formatToPlainString, intl, [Jbg8oY, object2]);
}
function getCopy_94056() { // fn#94056, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12508:2616, offset: 0x020d1161, size: 162 bytes, params: 1, frame: 20
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const formatToPlainString = intl.formatToPlainString;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
const vBfZzD = t.vBfZzD;
const intl2 = (require(1244) /* metro dependency 1244: indexNative */).intl;
const formatToPlainString2 = intl2.formatToPlainString;
const w1gmLt = t.w1gmLt;
const TIER_2 = BoostedGuildTiers.TIER_2;
return Reflect.apply(formatToPlainString, intl, [vBfZzD, {bitrate: Reflect.apply(formatToPlainString2, intl2,
[w1gmLt, {bitrate: BoostedGuildFeatures[TIER_2].limits.bitrate / 1000}])}]);
}
function getCopy_94067() { // fn#94067, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12508:4366, offset: 0x020d132f, size: 162 bytes, params: 1, frame: 20
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const formatToPlainString = intl.formatToPlainString;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
const vBfZzD = t.vBfZzD;
const intl2 = (require(1244) /* metro dependency 1244: indexNative */).intl;
const formatToPlainString2 = intl2.formatToPlainString;
const w1gmLt = t.w1gmLt;
const TIER_3 = BoostedGuildTiers.TIER_3;
return Reflect.apply(formatToPlainString, intl, [vBfZzD, {bitrate: Reflect.apply(formatToPlainString2, intl2,
[w1gmLt, {bitrate: BoostedGuildFeatures[TIER_3].limits.bitrate / 1000}])}]);
}
function getCopy_94071() { // fn#94071, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12508:4996, offset: 0x020d1435, size: 165 bytes, params: 1, frame: 20
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const formatToPlainString = intl.formatToPlainString;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
const aFRl53 = t.aFRl53;
const intl2 = (require(1244) /* metro dependency 1244: indexNative */).intl;
const formatToPlainString2 = intl2.formatToPlainString;
const pIn7Af = t.pIn7Af;
const TIER_3 = BoostedGuildTiers.TIER_3;
return Reflect.apply(formatToPlainString, intl, [aFRl53, {uploadSizeLimit: Reflect.apply(formatToPlainString2,
intl2, [pIn7Af, {size: BoostedGuildFeatures[TIER_3].limits.fileSize / 1024 / 1024}])}]);
}
function _fun94075({guild, features, isExpanded, onCardPress, tier}, a1) { // fn#94075, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12508:8698, offset: 0x020d14da, size: 2186 bytes, params: 3, frame: 52
var defaultImport2;
var items7;
var jsxRuntimeEnv0_11Binding;
var defaultImport3;
var hexWithOpacity;
var items8;
var moduleValue4;
var moduleValue5;
var gradientHighlight;
var items10;
var defaultImport4;
var items11;
var moduleValue7;
var moduleValue8;
const Icon = (require(1305) /* metro dependency 1305: native */).Icon;
var object;
var sparkleStar;
var sparkleStarPointed;
var object2;
var object3;
var object4;
const styles = useStyles();
const value2 = (importDefault(4048) /* metro dependency 4048: useTheme */)();
const value3 = env0_4.useMemo(_fun94076, [features]);
const value4 = guild.premiumTier === tier;
const value5 = tier === guild.premiumTier + 1;
const isThemeDark2 = (require(4002) /* metro dependency 4002: shared */).isThemeDark(value2);
let unsafe_rawColors = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors;
const r22 = isThemeDark2 ? unsafe_rawColors.WHITE : unsafe_rawColors.GUILD_BOOSTING_PINK;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
let string = intl.string;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
const r33 = isExpanded ? Reflect.apply(string, intl, [t.DFwxsR]) : Reflect.apply(string, intl, [t.agC5xg]);
const defaultImport = importDefault(4589) /* metro dependency 4589 */;
const GUILD_BOOSTING_BLUE = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.GUILD_BOOSTING_BLUE;
const items2 = [GUILD_BOOSTING_BLUE];
const GUILD_BOOSTING_PURPLE = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.GUILD_BOOSTING_PURPLE;
items2[1] = GUILD_BOOSTING_PURPLE;
const PressableHighlight = (require(5278) /* metro dependency 5278: Pressables */).PressableHighlight;
const object6 = {expanded: isExpanded};
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const items3 = [<View style={styles.cardHeading}><Text color="always-white" style={styles.cardTierName} variant="heading-xxl/extrabold">{(require(8249) /* metro dependency 8249: GuildBoostingUtils */).getTierName(tier,
{useLevels: false})}</Text><Text color="always-white" style={styles.cardTierBoostcount} variant="text-md/medium">{intl.format((require(1244) /* metro dependency 1244: indexNative */).t.gDsyB9,
{numSubscriptions: AppliedGuildBoostsRequiredForBoostedGuildTier[tier]})}</Text></View>];
items3[1] = <View style={styles.cardFeaturesWrapper}><TierFeatures features={value3} isVisible={!isExpanded} /><TierFeatures features={features} isVisible={isExpanded} /></View>;
const text = <Text color="always-white" variant="text-md/semibold">{r33}</Text>;
const r31 = isExpanded ? (require(12327) /* metro dependency 12327: ChevronLargeUpIcon */).ChevronLargeUpIcon : (require(12329) /* metro dependency 12329: ChevronLargeDownIcon */).ChevronLargeDownIcon;
const WHITE = (importDefault(697) /* metro dependency 697: native */).colors.WHITE;
items3[2] = <View style={styles.cardFooter}>{text}{((Component) => <Component color={WHITE} style={styles.cardFooterIcon} />)(r31)}</View>;
const items6 = [((Component) => <Component angle={45} angleCenter={{'x': 0.5,
'y': 0.5}} colors={items2} locations={[0,
1]} style={styles.card} useAngle><View style={styles.pressableWrapper}><PressableHighlight onPress={onCardPress} style={styles.cardContent} accessibilityRole="button" accessibilityState={object6} accessibilityLabel={r33}>{items3}</PressableHighlight></View></Component>)(defaultImport)];
let r5 = value5 || value4 && tier === BoostedGuildTiers.TIER_3;
if (r5) {
defaultImport2 = defaultImport;
unsafe_rawColors = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors;
items7 = [unsafe_rawColors.GUILD_BOOSTING_BLUE];
unsafe_rawColors = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors;
items7[1] = unsafe_rawColors.GUILD_BOOSTING_PURPLE;
string = intl.string;
r5 = ((Component) => <Component angle={3} angleCenter={{'x': 0.5, 'y': 0.2}} colors={items7} locations={[0,
1]} style={styles.cardTierBadge} useAngle><Text color="always-white" style={styles.cardTierBadgeCopy} variant="text-xs/bold">{value5 ? Reflect.apply(string,
intl, [t['9NBo7c']]) : Reflect.apply(string, intl, [t['9JbE3J']])}</Text></Component>)(defaultImport2);
}
items6[1] = r5;
const TIER_3 = BoostedGuildTiers.TIER_3;
const value17 = tier === TIER_3;
if (value17) {
jsxRuntimeEnv0_11Binding = jsxRuntimeEnv0_11;
defaultImport3 = defaultImport;
items8 = [(require(4000) /* metro dependency 4000: ColorUtils */).hexWithOpacity(r22, 0)];
moduleValue4 = require(4000) /* metro dependency 4000: ColorUtils */;
hexWithOpacity = moduleValue4.hexWithOpacity;
items8[1] = Reflect.apply(hexWithOpacity, moduleValue4, [r22, 1]);
moduleValue5 = require(4000) /* metro dependency 4000: ColorUtils */;
hexWithOpacity = moduleValue5.hexWithOpacity;
items8[2] = Reflect.apply(hexWithOpacity, moduleValue5, [r22, 0]);
gradientHighlight = styles.gradientHighlight;
items10 = [((Component) => <Component colors={items8} start={{'x': 0, 'y': 0}} end={{'x': 1,
'y': 0}} locations={[0,
0.5, 1]} style={[gradientHighlight, styles.gradientHighlightTop]} />)(defaultImport3)];
defaultImport4 = importDefault(4589) /* metro dependency 4589 */;
items11 = [(require(4000) /* metro dependency 4000: ColorUtils */).hexWithOpacity(r22, 0)];
moduleValue7 = require(4000) /* metro dependency 4000: ColorUtils */;
hexWithOpacity = moduleValue7.hexWithOpacity;
items11[1] = Reflect.apply(hexWithOpacity, moduleValue7, [r22, 1]);
moduleValue8 = require(4000) /* metro dependency 4000: ColorUtils */;
hexWithOpacity = moduleValue8.hexWithOpacity;
items11[2] = Reflect.apply(hexWithOpacity, moduleValue8, [r22, 0]);
gradientHighlight = styles.gradientHighlight;
items10[1] = ((Component) => <Component colors={items11} start={{'x': 0, 'y': 0}} end={{'x': 1,
'y': 0}} locations={[0, 0.5, 1]} style={[gradientHighlight,
styles.gradientHighlightBottom]} />)(defaultImport4);
object = {source: importDefault(12331) /* metro dependency 12331 */};
sparkleStar = styles.sparkleStar;
sparkleStarPointed = styles.sparkleStarPointed;
object.style = [sparkleStar, sparkleStarPointed, styles.sparkleStarPointed1];
items10[2] = <Icon {...object} />;
object2 = {source: importDefault(12331) /* metro dependency 12331 */};
sparkleStar = styles.sparkleStar;
sparkleStarPointed = styles.sparkleStarPointed;
object2.style = [sparkleStar, sparkleStarPointed, styles.sparkleStarPointed2];
items10[3] = <Icon {...object2} />;
object3 = {source: importDefault(12331) /* metro dependency 12331 */};
sparkleStar = styles.sparkleStar;
sparkleStarPointed = styles.sparkleStarPointed;
object3.style = [sparkleStar, sparkleStarPointed, styles.sparkleStarPointed3];
items10[4] = <Icon {...object3} />;
object4 = {source: importDefault(12332) /* metro dependency 12332 */};
sparkleStar = styles.sparkleStar;
object4.style = [sparkleStar, styles.sparkleStarElongated, styles.sparkleStarElongated1];
items10[5] = <Icon {...object4} />;
r5 = <>{items10}</>;
} else {
r5 = value17;
}
items6[2] = r5;
return (
<View style={styles.cardWrapper} ref={a1}>
{items6}
</View>
);
}
function GuildBoostingMarketingTierCards({guild}) { // fn#94079, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12508:11759, offset: 0x020d1dfc, size: 279 bytes, params: 2, frame: 19
const styles = useStyles();
const binding = env0_4;
const value2 = binding.useRef(null);
const [env0_2, env0_3] = env0_3Binding(binding.useState(false), 2);
binding.useEffect(function() {
var env0_0 = global.window.setTimeout(_fun94083, 400);
return _fun94084;
}, [guild.premiumTier]);
const MarketingCardsScroller = (require(12333) /* metro dependency 12333: MarketingCardsScroller */).MarketingCardsScroller;
return (
<MarketingCardsScroller
ref={value2}
itemCount={env0_12.length}
cardWidth={290}
cardMarginRight={10}
contentContainerStyle={styles.cardsScrollerContent}
initialIndex={getNextTierIndex(guild.premiumTier)}
style={styles.cardsScroller}
>
{env0_12.map(_fun94085)}
</MarketingCardsScroller>
);
}
function TierFeaturesN() { // fn#94038, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12508:7818, owner: TierFeatures.n, offset: 0x020d0a10, size: 172 bytes, params: 1, frame: 23
const reanimatedRexportModule = require(4017) /* metro dependency 4017: ReanimatedRexport */;
const withDelay = reanimatedRexportModule.withDelay;
const isVisibleBinding = isVisible;
const value3 = 0;
const r2 = isVisibleBinding ? 150 : value3;
const timingModule = require(4504) /* metro dependency 4504: timing */;
const withTiming = timingModule.withTiming;
const r7 = isVisible ? 1 : value3;
const Easing = reanimatedRexportModule.Easing;
const inOut = Easing.inOut;
const Easing2 = reanimatedRexportModule.Easing;
return {opacity: Reflect.apply(withDelay, reanimatedRexportModule, [r2, Reflect.apply(withTiming, timingModule, [r7,
{duration: 150, easing: Reflect.apply(inOut, Easing, [Easing2.quad])}])])};
}
function _fun94039(a0, a1) { // fn#94039, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12508:8344, offset: 0x020d0abc, size: 278 bytes, params: 3, frame: 23
const value = environment.__proto__;
const items2 = [styles.cardFeature];
items2[1] = !a0.isIncluded && styles.cardFeatureExcluded;
items2[2] = a1 === features.length - 1 && styles.cardFeatureLast;
const IconComponent = a0.IconComponent;
const iconComponent = <IconComponent size="custom" style={styles.cardFeatureIcon} color="white" />;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
return (
<View style={items2} key={a1}>
{iconComponent}
<Text
style={[!a0.isIncluded && styles.cardFeatureExcludedCopy]}
color="always-white"
variant="text-md/semibold"
>
{a0.getCopy()}
</Text>
</View>
);
}
function _fun94076() { // fn#94076, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12508:8811, offset: 0x020d1d64, size: 46 bytes, params: 1, frame: 12
return features.filter(function(a0) {
return a0.orderCollapsed != null;
}).sort(function(a0, a1) {
return a0.orderCollapsed == null || a1.orderCollapsed == null || a0.orderCollapsed === a1.orderCollapsed ? 0 : a0.orderCollapsed > a1.orderCollapsed ? 1 : -1;
});
}
function handleCardPress() { // fn#94080, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12508:11880, owner: GuildBoostingMarketingTierCards.handleCardPress, offset: 0x020d1f13, size: 58 bytes, params: 1, frame: 11
var environment;
const value = environment.__proto__;
(require(5465) /* metro dependency 5465: DeprecatedLayoutAnimation */).DeprecatedLayoutAnimation();
env0_3(function(a0) {
return !a0;
});
}
function _fun94082() { // fn#94082, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12508:11975, offset: 0x020d1f4d, size: 47 bytes, params: 1, frame: 14
const env0_0 = global.window.setTimeout(_fun94083, 400);
return _fun94084;
}
function _fun94085({tier, features}) { // fn#94085, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12508:12368, offset: 0x020d1fd3, size: 78 bytes, params: 2, frame: 16
return ((Component) => <Component features={features} guild={guild} isExpanded={env0_2} onCardPress={handleCardPress} tier={tier} key={tier} />)(env1_15);
}
function _fun94083() { // fn#94083, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12508:12005, offset: 0x020d1f7c, size: 57 bytes, params: 1, frame: 13
var scrollToIndex;
var value2;
const current = env1_1.current;
if (current != null) {
scrollToIndex = current.scrollToIndex;
value2 = environment.__proto__.__proto__;
Reflect.apply(scrollToIndex, current, [getNextTierIndex(guild.premiumTier)]);
}
}
function _fun94084() { // fn#94084, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12508:12099, offset: 0x020d1fb5, size: 30 bytes, params: 1, frame: 11
global.window.clearTimeout(env0_0);
}
@@ -0,0 +1,111 @@
/* Metro module 12339; source: modules/guild_boosting/native/marketing_redesign/GuildBoostingMarketingTopPerksCards.tsx; dependencies: [31, 27, 4502, 33, 4501, 697, 1244, 12340, 6760, 12341, 12342, 4573, 12333, 2] */
function _fun94126(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#94126, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12525:6, offset: 0x020d33f8, size: 599 bytes, params: 8, frame: 24
var object2;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
importAll(31) /* metro dependency 31 */;
let value = require(27) /* metro dependency 27 */;
const env0_3 = value.Image;
const env0_4 = value.View;
const accessibilityStore = importDefault(4502) /* metro dependency 4502: AccessibilityStore */;
value = require(33) /* metro dependency 33 */;
const env0_6 = value.jsx;
const env0_7 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
object2 = {};
object2.wrapper = {marginTop: 50};
object2.heading = {'marginBottom': 20, 'textAlign': 'center'};
object2.scrollerContent = {'alignItems': 'stretch', 'flexDirection': 'row', 'justifyContent': 'center',
'minWidth': '100%', 'paddingHorizontal': 16, 'paddingBottom': 16};
const object5 = {'backgroundColor': null, 'borderColor': null, 'borderWidth': 1, 'borderRadius': null,
'display': 'flex', 'alignItems': 'center', 'justifyContent': 'center', 'marginRight': 16, 'padding': 24,
'width': 324};
const CARD_BACKGROUND_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.CARD_BACKGROUND_DEFAULT;
object5.backgroundColor = CARD_BACKGROUND_DEFAULT;
const BORDER_SUBTLE = (importDefault(697) /* metro dependency 697: native */).colors.BORDER_SUBTLE;
object5.borderColor = BORDER_SUBTLE;
object5.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
object2.card = object5;
const object6 = {'borderRadius': null, 'height': 128, 'marginBottom': 16, 'overflow': 'hidden', 'width': 211};
object6.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.xs;
object2.cardGraphic = object6;
object2.cardLast = {marginRight: 0};
object2.cardHeading = {'marginBottom': 4, 'textAlign': 'center'};
object2.cardBody = {textAlign: 'center'};
const env0_8 = Reflect.apply(createStyles, value, [object2]);
const items2 = [{getHeadingCopy: function() {
return require(dependencyMap[6]).intl.string(require(dependencyMap[6]).t.y4ft4D);
}, getBodyCopy: function() {
return require(dependencyMap[6]).intl.string(require(dependencyMap[6]).t.HTvLGu);
}, getGraphic: getGraphic}];
items2[1] = {getHeadingCopy: function() {
return require(dependencyMap[6]).intl.string(require(dependencyMap[6]).t.PbAyub);
}, getBodyCopy: function() {
return require(dependencyMap[6]).intl.string(require(dependencyMap[6]).t.wOYbTv);
}, getGraphic: getGraphic_94132};
items2[2] = {getHeadingCopy: function() {
return require(dependencyMap[6]).intl.string(require(dependencyMap[6]).t['/bX4Jn']);
}, getBodyCopy: function() {
return require(dependencyMap[6]).intl.string(require(dependencyMap[6]).t.yCjoUC);
}, getGraphic: getGraphic_94135};
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/guild_boosting/native/marketing_redesign/GuildBoostingMarketingTopPerksCards.tsx');
exports.default = GuildBoostingMarketingTopPerksCards;
}
function getGraphic(a0) { // fn#94129, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12525:971, offset: 0x020d36cd, size: 54 bytes, params: 2, frame: 15
return <Image style={a0} source={importDefault(12340) /* metro dependency 12340 */} />;
}
function getGraphic_94132(a0) { // fn#94132, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12525:1128, offset: 0x020d3781, size: 84 bytes, params: 2, frame: 17
const LottieAnimationView = importDefault(6760) /* metro dependency 6760: LottieAnimationView */;
const defaultImportProps = {source: require(12341) /* metro dependency 12341 */};
const useReducedMotion = AccessibilityStore.useReducedMotion;
defaultImportProps.autoPlay = !useReducedMotion;
defaultImportProps.style = a0;
return <LottieAnimationView {...defaultImportProps} />;
}
function getGraphic_94135(a0) { // fn#94135, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12525:1323, offset: 0x020d3855, size: 54 bytes, params: 2, frame: 15
return <Image style={a0} source={importDefault(12342) /* metro dependency 12342 */} />;
}
function GuildBoostingMarketingTopPerksCards() { // fn#94136, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12525:1365, offset: 0x020d388b, size: 262 bytes, params: 1, frame: 24
const styles = useStyles();
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const text = <Text style={styles.heading} variant="heading-xl/extrabold" color="mobile-text-heading-primary">{intl.string((require(1244) /* metro dependency 1244: indexNative */).t.aGdB3E)}</Text>;
const MarketingCardsScroller = (require(12333) /* metro dependency 12333: MarketingCardsScroller */).MarketingCardsScroller;
const binding = env0_9;
return (
<View style={styles.wrapper}>
{text}
<MarketingCardsScroller
itemCount={binding.length}
cardWidth={324}
cardMarginRight={16}
contentContainerStyle={styles.scrollerContent}
>
{binding.map(_fun94137)}
</MarketingCardsScroller>
</View>
);
}
function _fun94137(a0, a1) { // fn#94137, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12525:1752, offset: 0x020d3991, size: 268 bytes, params: 3, frame: 25
const items3 = [styles.card];
items3[1] = a1 === env1_9.length - 1 && styles.cardLast;
const getGraphic = a0.getGraphic;
stylesBinding = styles;
const items2 = [Reflect.apply(getGraphic, a0, [stylesBinding.cardGraphic])];
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
items2[1] = <Text style={stylesBinding.cardHeading} variant="heading-lg/extrabold" color="mobile-text-heading-primary">{a0.getHeadingCopy()}</Text>;
items2[2] = <Text style={stylesBinding.cardBody} variant="text-sm/normal" color="text-default">{a0.getBodyCopy()}</Text>;
return (
<View style={items3} key={a1}>
{items2}
</View>
);
}
@@ -0,0 +1,23 @@
/* Metro module 12313; source: modules/guild_boosting/native/marketing_redesign/GuildBoostingMarketingWave.tsx; dependencies: [31, 33, 3860, 697, 7744, 2] */
function _fun94009(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#94009, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12499:6, offset: 0x020ce9c2, size: 138 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
importAll(31) /* metro dependency 31 */;
const env0_3 = (require(33) /* metro dependency 33 */).jsx;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/guild_boosting/native/marketing_redesign/GuildBoostingMarketingWave.tsx');
exports.default = GuildBoostingMarketingWave;
}
function GuildBoostingMarketingWave(a0) { // fn#94010, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12499:124, offset: 0x020cea4c, size: 184 bytes, params: 2, frame: 18
const value2 = undefined;
const useTokenModule = require(3860) /* metro dependency 3860: useToken */;
const useToken = useTokenModule.useToken;
const BACKGROUND_BASE_LOW = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BASE_LOW;
const r6 = Reflect.apply(useToken, useTokenModule, [BACKGROUND_BASE_LOW]) ?? value2;
const defaultImport = importDefault(7744) /* metro dependency 7744 */;
const defaultImportProps = {'fill': 'none', 'viewBox': '0 0 1512 510', 'preserveAspectRatio': 'none', ...a0};
const Path = (require(7744) /* metro dependency 7744 */).Path;
return ((Component) => <Component {...defaultImportProps}><Path d="M1512,25.1c-294.3-135.3-565.2,319.2-855,322.2c-232,2.4-279-101.8-415.5-100.5C149.9,247.7,49.8,311.3,0,355.4 v154.4h1512V25.1z" fill={r6} /></Component>)(defaultImport);
}
@@ -0,0 +1,208 @@
/* Metro module 12333; source: modules/guild_boosting/native/marketing_redesign/MarketingCardsScroller.tsx; dependencies: [57, 31, 27, 4502, 33, 4501, 4000, 697, 566, 1244, 478, 5278, 11039, 11835, 2] */
function _fun94101(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#94101, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12519:6, offset: 0x020d247f, size: 459 bytes, params: 8, frame: 26
const env0_0 = require;
const getClampedIndex = function(a0, a1) {
var Math = global.Math;
var Math2 = global.Math;
return Math.max(0, Math2.min(a1 - 1, a0));
};
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(57) /* metro dependency 57 */;
let value = importAll(31) /* metro dependency 31 */;
const value2 = require(27) /* metro dependency 27 */;
const env0_5 = value2.ScrollView;
const env0_6 = value2.View;
const accessibilityStore = importDefault(4502) /* metro dependency 4502: AccessibilityStore */;
const value3 = require(33) /* metro dependency 33 */;
const env0_8 = value3.jsx;
const env0_9 = value3.jsxs;
const createStylesModule = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = createStylesModule.createStyles;
const object = {'alignItems': 'center', 'backgroundColor': null, 'borderRadius': null, 'height': 44,
'justifyContent': 'center', 'position': 'absolute', 'top': '50%', 'transform': null, 'width': 44, 'zIndex': 1};
const colorUtilsModule = require(4000) /* metro dependency 4000: ColorUtils */;
const hexWithOpacity = colorUtilsModule.hexWithOpacity;
const BLACK = (importDefault(697) /* metro dependency 697: native */).unsafe_rawColors.BLACK;
object.backgroundColor = Reflect.apply(hexWithOpacity, colorUtilsModule, [BLACK, 0.56]);
object.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round;
object.transform = [{translateY: -22}];
const env0_10 = Reflect.apply(createStyles, createStylesModule, [{wrapper: {position: 'relative'},
navigationButton: object, navigationButtonPrevious: {left: 16}, navigationButtonNext: {right: 16},
navigationButtonDisabled: {opacity: 0.32}}]);
value = value.forwardRef(_fun94103);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/guild_boosting/native/marketing_redesign/MarketingCardsScroller.tsx');
exports.MarketingCardsScroller = value;
}
function _fun94103({cardMarginRight, cardWidth, children, contentContainerStyle, initialIndex, itemCount, onScrollingChange, style}, a1) { // fn#94103, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12519:714, offset: 0x020d267f, size: 1081 bytes, params: 3, frame: 33
const closure = onPress_94104;
const closure2 = onPress_94105;
const closure3 = onScrollEndDrag;
let value = 0;
const r9 = initialIndex === undefined ? value : initialIndex;
const styles = useStyles();
const binding = env0_4;
const value3 = binding.useRef(null);
const env0_3 = value3;
const value4 = cardWidth + cardMarginRight;
const env0_5 = binding.useRef(getClampedIndex(r9, itemCount) * value4);
const value6 = env0_3(binding.useState(_fun94107), 2);
const property = value6[value];
const env0_7 = value6[1];
const useReducedMotion = (require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore],
function() {
return AccessibilityStore.useReducedMotion;
});
const env0_9 = binding.useRef(useReducedMotion);
value = property > value;
const value7 = property < itemCount - 1;
const value8 = binding.useMemo(_fun94109, [itemCount, value4]);
binding.useEffect(_fun94111, [useReducedMotion]);
binding.useEffect(_fun94112, []);
binding.useImperativeHandle(a1, _fun94114, [binding.useCallback(_fun94113, [itemCount, value4])]);
const value10 = binding.useMemo(_fun94115, [value7, value]);
const items5 = [style];
items5[1] = styles.wrapper;
const items2 = [<ScrollView accessibilityActions={value10} centerContent contentContainerStyle={contentContainerStyle} decelerationRate={0.1} horizontal onAccessibilityAction={onAccessibilityAction} onMomentumScrollEnd={function(a0) {
onScrollEndDrag(a0);
if (onScrollingChange != null) {
onScrollingChange(false);
}
}} onScrollBeginDrag={function() {
if (onScrollingChange != null) {
onScrollingChange(true);
}
}} onScrollEndDrag={closure3} ref={value3} snapToOffsets={value8}>{children}</ScrollView>];
const PressableOpacity = (require(5278) /* metro dependency 5278: Pressables */).PressableOpacity;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
let string = intl.string;
const vgfxaA = (require(1244) /* metro dependency 1244: indexNative */).t.vgfxaA;
const object = {};
const value12 = !value;
object.disabled = value12;
const items3 = [styles.navigationButton];
items3[1] = styles.navigationButtonPrevious;
items3[2] = value ? value12 : styles.navigationButtonDisabled;
const ChevronLargeLeftIcon = (require(11039) /* metro dependency 11039: ChevronLargeLeftIcon */).ChevronLargeLeftIcon;
let WHITE = (importDefault(697) /* metro dependency 697: native */).colors.WHITE;
items2[1] = <PressableOpacity accessibilityLabel={Reflect.apply(string, intl,
[vgfxaA])} accessibilityRole="button" accessibilityState={object} disabled={value12} onPress={closure} style={items3}><ChevronLargeLeftIcon color={WHITE} size="sm" /></PressableOpacity>;
string = intl.string;
const XiOHRX = (require(1244) /* metro dependency 1244: indexNative */).t.XiOHRX;
const object2 = {};
value = !value7;
object2.disabled = value;
const items4 = [styles.navigationButton];
items4[1] = styles.navigationButtonNext;
items4[2] = value7 ? value : styles.navigationButtonDisabled;
const ChevronLargeRightIcon = (require(11835) /* metro dependency 11835: ChevronLargeRightIcon */).ChevronLargeRightIcon;
WHITE = (importDefault(697) /* metro dependency 697: native */).colors.WHITE;
items2[2] = <PressableOpacity accessibilityLabel={Reflect.apply(string, intl,
[XiOHRX])} accessibilityRole="button" accessibilityState={object2} disabled={value} onPress={closure2} style={items4}><ChevronLargeRightIcon color={WHITE} size="sm" /></PressableOpacity>;
return (
<View style={items5}>
{items2}
</View>
);
}
function onPress_94104() { // fn#94104, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12519:1664, offset: 0x020d2ab8, size: 36 bytes, params: 1, frame: 11
if (result) {
env0_12(env0_6 - 1);
}
}
function onPress_94105() { // fn#94105, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12519:1708, offset: 0x020d2adc, size: 36 bytes, params: 1, frame: 11
if (result_2) {
env0_12(env0_6 + 1);
}
}
function onScrollEndDrag(a0) { // fn#94106, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12519:1748, offset: 0x020d2b00, size: 181 bytes, params: 2, frame: 19
var velocity;
const binding = env0_7;
const x = a0.nativeEvent.contentOffset.x;
const itemCountBinding = itemCount;
const binding2 = env0_4;
const getClampedIndexBinding = getClampedIndex;
const Math = global.Math;
binding(getClampedIndexBinding(Math.round(x / binding2), itemCountBinding));
const platformUtilsModule = require(478) /* metro dependency 478: PlatformUtils */;
if (platformUtilsModule.isIOS()) {
velocity = a0.nativeEvent.velocity;
if (velocity == null || velocity.x === 0 && velocity.y === 0) {
if (onScrollingChange != null) {
onScrollingChange(false);
}
}
}
}
function _fun94107() { // fn#94107, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12519:963, offset: 0x020d2bb5, size: 28 bytes, params: 1, frame: 13
return getClampedIndex(env0_0, itemCount);
}
function _fun94109() { // fn#94109, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12519:1113, offset: 0x020d2bd1, size: 69 bytes, params: 1, frame: 11
const Array = global.Array;
let array = new Array(itemCount);
array = array.fill(0);
return array.map(_fun94110);
}
function _fun94112() { // fn#94112, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12519:1214, offset: 0x020d2c26, size: 61 bytes, params: 1, frame: 12
var current2;
const current = env0_5.current;
if (current !== 0) {
current2 = env0_3.current;
if (current2 != null) {
current2.scrollTo({x: current, animated: false});
}
}
}
function _fun94113(a0) { // fn#94113, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12519:1324, offset: 0x020d2c63, size: 93 bytes, params: 2, frame: 16
const clampedIndex = getClampedIndex(a0, itemCount);
env0_7(clampedIndex);
const current = env0_3.current;
if (current != null) {
current.scrollTo({x: clampedIndex * env0_4, animated: !env0_9.current});
}
}
function _fun94114() { // fn#94114, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12519:1457, offset: 0x020d2cc0, size: 16 bytes, params: 1, frame: 2
return {scrollToIndex: env0_12};
}
function _fun94115() { // fn#94115, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12519:1504, offset: 0x020d2cd0, size: 191 bytes, params: 1, frame: 18
var push;
var value2;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
const items2 = [];
if (result) {
push = items2.push;
value2 = environment.__proto__;
Reflect.apply(push, items2, [{name: 'previous', label: intl.string(t.vgfxaA)}]);
}
if (result_2) {
push = items2.push;
value = environment.__proto__;
Reflect.apply(push, items2, [{name: 'next', label: intl.string(t.XiOHRX)}]);
}
return items2;
}
function onAccessibilityAction({nativeEvent}) { // fn#94116, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12519:2164, offset: 0x020d2d8f, size: 63 bytes, params: 2, frame: 9
const actionName = nativeEvent.actionName;
if (actionName === 'previous') {
onPress_94104();
} else if (actionName === 'next') {
onPress_94105();
}
}
function _fun94110(a0, a1) { // fn#94110, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12519:1143, offset: 0x020d2c16, size: 16 bytes, params: 3, frame: 2
return a1 * env1_4;
}