This commit is contained in:
janisslsm committed 2026-07-28 01:06:53 +03:00
1 parent af3b49f756
commit 1781d25a15
22448 files changed
+2731829 -2650550

No files matched your search

@@ -1,22 +1,23 @@
/* Metro module 14632; source: modules/guild_boosting/GuildBoostingMarketingConstants.tsx; dependencies: [661, 1880, 8249, 1244, 2] */
import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ConstantsModule from '../../Constants.tsx'; /* Metro dependency 661 */
import * as PremiumConstantsModule from '../premium/PremiumConstants.tsx'; /* Metro dependency 1880 */
import * as GuildBoostingUtilsModule from '../../utils/GuildBoostingUtils.tsx'; /* Metro dependency 8249 */
function _fun110592(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#110592, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14829:6, offset: 0x0237ecd5, size: 804 bytes, params: 8, frame: 22
var object2;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const constantsModule = require(661) /* metro dependency 661: Constants */;
const BoostedGuildTiers = constantsModule.BoostedGuildTiers;
const env0_3 = constantsModule.MAX_STAGE_VIDEO_USER_LIMIT_TIER3;
const env0_4 = (require(1880) /* metro dependency 1880: PremiumConstants */).BoostedGuildFeatures;
object2 = {};
const BoostedGuildTiers = ConstantsModule.BoostedGuildTiers;
object = {};
const TIER_1 = BoostedGuildTiers.TIER_1;
object2.tier = TIER_1;
const PerkIcons = (require(8249) /* metro dependency 8249: GuildBoostingUtils */).PerkIcons;
object.tier = TIER_1;
const PerkIcons = (GuildBoostingUtilsModule).PerkIcons;
const EMOJI = PerkIcons.EMOJI;
const SOUNDBOARD = PerkIcons.SOUNDBOARD;
let ANIMATED = PerkIcons.ANIMATED;
let AUDIO = PerkIcons.AUDIO;
object2.perks = [{perkIcon: EMOJI, getCopy: function() {
object.perks = [{perkIcon: EMOJI, getCopy: function() {
var intl = require(dependencyMap[3]).intl;
var Tlz0x1 = require(dependencyMap[3]).t.Tlz0x1;
return intl.formatToPlainString(Tlz0x1,
@@ -29,7 +30,7 @@ function _fun110592(global, require, importDefault, importAll, module, exports,
}}, {perkIcon: AUDIO, getCopy: function() {
return require(dependencyMap[3]).intl.string(require(dependencyMap[3]).t['WH+OeI']);
}}];
const items2 = [object2];
const items2 = [object];
const TIER_2 = BoostedGuildTiers.TIER_2;
const STREAM = PerkIcons.STREAM;
let UPLOAD = PerkIcons.UPLOAD;
@@ -70,7 +71,9 @@ function _fun110592(global, require, importDefault, importAll, module, exports,
return require(dependencyMap[3]).intl.formatToPlainString(require(dependencyMap[3]).t.hsZ88d,
{numStageSeats: MAX_STAGE_VIDEO_USER_LIMIT_TIER3});
}}]};
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/guild_boosting/GuildBoostingMarketingConstants.tsx');
(FileImportTrackerModule).fileFinishedImporting('modules/guild_boosting/GuildBoostingMarketingConstants.tsx');
exports.TIER_CARDS = items2;
}
global.__d(_fun110592, 14632, [661, 1880, 8249, 1244,
2]) /* metro module 14632, dependencies: [661, 1880, 8249, 1244, 2] */;
@@ -1,25 +1,29 @@
/* Metro module 14692; source: modules/guild_boosting/GuildBoostingProgressBarActionCreators.tsx; dependencies: [694, 2] */
import Dispatcher from '../../Dispatcher.tsx'; /* Metro dependency 694 */
import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
function _fun110856(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#110856, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14889:6, offset: 0x023899ad, size: 114 bytes, params: 8, frame: 17
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/guild_boosting/GuildBoostingProgressBarActionCreators.tsx');
(FileImportTrackerModule).fileFinishedImporting('modules/guild_boosting/GuildBoostingProgressBarActionCreators.tsx');
exports.updateGuildPremiumSubscriptionCount = updateGuildPremiumSubscriptionCount;
exports.resetGuildPremiumSubscriptionCount = resetGuildPremiumSubscriptionCount;
function updateGuildPremiumSubscriptionCount(a0, a1) { // fn#110857, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14889:229, offset: 0x02389a1f, size: 60 bytes, params: 3, frame: 12
const env0_0 = a0;
const env0_1 = a1;
(Dispatcher).wait(_fun110858);
function _fun110858() { // fn#110858, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14889:251, offset: 0x02389a5b, size: 68 bytes, params: 1, frame: 14
const value = environment.__proto__;
(Dispatcher).dispatch({type: 'APPLIED_GUILD_BOOST_COUNT_UPDATE',
guildId: env0_0, premiumCount: require});
}
}
function resetGuildPremiumSubscriptionCount() { // fn#110859, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14889:382, offset: 0x02389a9f, size: 48 bytes, params: 1, frame: 13
(Dispatcher).dispatch({type: 'APPLIED_GUILD_BOOST_COUNT_RESET'});
}
}
function updateGuildPremiumSubscriptionCount(a0, a1) { // fn#110857, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14889:229, offset: 0x02389a1f, size: 60 bytes, params: 3, frame: 12
const env0_0 = a0;
const env0_1 = a1;
(importDefault(694) /* metro dependency 694: Dispatcher */).wait(_fun110858);
}
function resetGuildPremiumSubscriptionCount() { // fn#110859, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14889:382, offset: 0x02389a9f, size: 48 bytes, params: 1, frame: 13
(importDefault(694) /* metro dependency 694: Dispatcher */).dispatch({type: 'APPLIED_GUILD_BOOST_COUNT_RESET'});
}
function _fun110858() { // fn#110858, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14889:251, offset: 0x02389a5b, size: 68 bytes, params: 1, frame: 14
const value = environment.__proto__;
(importDefault(694) /* metro dependency 694: Dispatcher */).dispatch({type: 'APPLIED_GUILD_BOOST_COUNT_UPDATE',
guildId: env0_0, premiumCount: require});
}
global.__d(_fun110856, 14692, [694, 2]) /* metro module 14692, dependencies: [694, 2] */;
@@ -1,14 +1,17 @@
/* Metro module 14690; source: modules/guild_boosting/GuildBoostingProgressBarPersistedStore.tsx; dependencies: [6, 7, 15, 17, 18, 566, 694, 2] */
import ClassCallCheck from '../../by-id/module-00006-ClassCallCheck.js'; /* Metro dependency 6 */
import CreateClass from '../../by-id/module-00007-CreateClass.js'; /* Metro dependency 7 */
import PossibleConstructorReturn from '../../by-id/module-00015-PossibleConstructorReturn.js'; /* Metro dependency 15 */
import Module00017 from '../../by-id/module-00017.js'; /* Metro dependency 17 */
import Inherits from '../../by-id/module-00018-Inherits.js'; /* Metro dependency 18 */
import Flux from '../../external/discord_common/js/packages/flux/index.tsx'; /* Metro dependency 566 */
import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
function _fun110841(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#110841, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14887:6, offset: 0x02389586, size: 299 bytes, params: 8, frame: 18
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_0 = importDefault(6) /* metro dependency 6 */;
const env0_1 = importDefault(7) /* metro dependency 7 */;
const env0_2 = importDefault(15) /* metro dependency 15 */;
const env0_3 = importDefault(17) /* metro dependency 17 */;
const env0_4 = importDefault(18) /* metro dependency 18 */;
let env0_5 = {};
const PersistedStore = (importDefault(566) /* metro dependency 566: flux */).PersistedStore;
const PersistedStore = (Flux).PersistedStore;
let value = _fun110845(PersistedStore);
value.displayName = 'GuildBoostingProgressBarPersistedStore';
value.persistKey = 'PremiumGuildProgressBarPersistedStore';
@@ -17,50 +20,76 @@ function _fun110841(global, require, importDefault, importAll, module, exports,
APPLIED_GUILD_BOOST_COUNT_RESET: function() {
env0_5 = {};
}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/guild_boosting/GuildBoostingProgressBarPersistedStore.tsx');
(FileImportTrackerModule).fileFinishedImporting('modules/guild_boosting/GuildBoostingProgressBarPersistedStore.tsx');
exports.default = value;
}
function _isNativeReflectConstruct_110842() { // fn#110842, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14887:148, offset: 0x023896b1, size: 98 bytes, params: 1, frame: 18
var Boolean;
var prototype;
var valueOf;
var call;
var Reflect;
var construct;
var closure;
var value;
var error;
try {
Boolean = global.Boolean;
prototype = Boolean.prototype;
valueOf = prototype.valueOf;
call = valueOf.call;
Reflect = global.Reflect;
construct = Reflect.construct;
Boolean = global.Boolean;
closure = function() {
};
value = Reflect.apply(construct, Reflect, [Boolean, [], closure]);
value = Reflect.apply(call, valueOf, [value]);
var result = !value;
} catch (error) {
function _isNativeReflectConstruct_110842() { // fn#110842, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14887:148, offset: 0x023896b1, size: 98 bytes, params: 1, frame: 18
var Boolean;
var prototype;
var valueOf;
var call;
var Reflect;
var construct;
var closure;
var value;
var error;
try {
Boolean = global.Boolean;
prototype = Boolean.prototype;
valueOf = prototype.valueOf;
call = valueOf.call;
Reflect = global.Reflect;
construct = Reflect.construct;
Boolean = global.Boolean;
closure = function() {
};
value = Reflect.apply(construct, Reflect, [Boolean, [], closure]);
value = Reflect.apply(call, valueOf, [value]);
var result = !value;
} catch (error) {
}
return (_isNativeReflectConstruct_110842_isNativeReflectConstruct = function() {
return !!result;
})();
}
return (_isNativeReflectConstruct_110842_isNativeReflectConstruct = function() {
return !!result;
})();
}
function _fun110845(a0) { // fn#110845, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14887:356, offset: 0x02389713, size: 124 bytes, params: 2, frame: 16
const closure = GuildBoostingProgressBarPersistedStore;
env0_4(closure, a0);
return env0_1(closure, [{key: 'initialize', value: value_110847}, {key: 'getState', value: value_110848},
{key: 'getCountForGuild', value: value_110849}]);
}
function _fun110845(a0) { // fn#110845, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14887:356, offset: 0x02389713, size: 124 bytes, params: 2, frame: 16
const GuildBoostingProgressBarPersistedStore2 = GuildBoostingProgressBarPersistedStore;
Inherits(GuildBoostingProgressBarPersistedStore2, a0);
return CreateClass(GuildBoostingProgressBarPersistedStore2, [{key: 'initialize', value: value_110847}, {key: 'getState',
value: value_110848}, {key: 'getCountForGuild', value: value_110849}]);
function GuildBoostingProgressBarPersistedStore() { // fn#110846, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14887:368, offset: 0x00c7a0d6, size: 113 bytes, params: 1, frame: 20
const value = environment.__proto__;
env1_0(this, GuildBoostingProgressBarPersistedStore);
const value3 = env1_3(GuildBoostingProgressBarPersistedStore);
return env1_2(this, _isNativeReflectConstruct_110842() ? global.Reflect.construct(value3, arguments,
env1_3(this).constructor) : value3.apply(this, arguments));
}
function value_110847(a0) { // fn#110847, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14887:776, offset: 0x00e404db, size: 20 bytes, params: 2, frame: 2
var value;
if (a0 != null) {
value = environment.__proto__;
env1_5 = a0;
}
}
function value_110848() { // fn#110848, offset: 0x00e40571, size: 9 bytes, params: 1, frame: 1
return env1_5;
}
function value_110849(a0) { // fn#110849, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14887:879, offset: 0x01e1641f, size: 16 bytes, params: 2, frame: 2
return env1_5[a0];
}
}
function APPLIED_GUILD_BOOST_COUNT_UPDATE({guildId, premiumCount}) { // fn#110850, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14887:1094, offset: 0x0238978f, size: 43 bytes, params: 2, frame: 14
const object = {};
copyDataProperties(object, env0_5, undefined);
object[guildId] = premiumCount;
}
function APPLIED_GUILD_BOOST_COUNT_UPDATE({guildId, premiumCount}) { // fn#110850, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14887:1094, offset: 0x0238978f, size: 43 bytes, params: 2, frame: 14
const object2 = {};
copyDataProperties(object2, env0_5, undefined);
object2[guildId] = premiumCount;
}
global.__d(_fun110841, 14690, [6, 7, 15, 17, 18, 566, 694,
2]) /* metro module 14690, dependencies: [6, 7, 15, 17, 18, 566, 694, 2] */;
@@ -1,11 +1,12 @@
/* Metro module 6794; source: modules/guild_boosting/RoleIconUtils.tsx; dependencies: [661, 477, 3797, 1457, 1423, 2] */
import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as PlatformUtilsModule from '../../utils/PlatformUtils.tsx'; /* Metro dependency 477 */
import * as ConstantsModule from '../../Constants.tsx'; /* Metro dependency 661 */
function _fun53491(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#53491, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6972:6, offset: 0x0134d670, size: 323 bytes, params: 8, frame: 23
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const constantsModule = require(661) /* metro dependency 661: Constants */;
const env0_3 = constantsModule.Endpoints;
const env0_4 = constantsModule.GuildFeatures;
let protocol = global.location.protocol;
let GLOBAL_ENV = global.window.GLOBAL_ENV;
const CDN_HOST = GLOBAL_ENV.CDN_HOST;
@@ -14,98 +15,100 @@ function _fun53491(global, require, importDefault, importAll, module, exports, d
GLOBAL_ENV = global.window.GLOBAL_ENV;
const API_ENDPOINT = GLOBAL_ENV.API_ENDPOINT;
const env0_6 = '' + protocol + API_ENDPOINT;
const env0_7 = (require(477) /* metro dependency 477: PlatformUtils */).isAndroid();
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/guild_boosting/RoleIconUtils.tsx');
const env0_7 = (PlatformUtilsModule).isAndroid();
(FileImportTrackerModule).fileFinishedImporting('modules/guild_boosting/RoleIconUtils.tsx');
exports.getRoleIconData = getRoleIconData;
exports.replaceRoleIconSourceSize = replaceRoleIconSourceSize;
exports.isRoleIconAssetUrl = isRoleIconAssetUrl;
exports.canGuildUseRoleIcons = canGuildUseRoleIcons;
}
function getRoleIconSource({id, icon}, a1) { // fn#53492, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6972:303, offset: 0x0134d7b3, size: 336 bytes, params: 3, frame: 32
var r10;
var r1;
var r7;
var r8;
var value;
var value4;
var moduleValue;
var getBestMediaProxySize;
var moduleValue2;
var value7;
var binding;
if (icon != null) {
if (icon.startsWith('data:')) {
return icon;
function getRoleIconSource({id, icon}, a1) { // fn#53492, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6972:303, offset: 0x0134d7b3, size: 336 bytes, params: 3, frame: 32
var r10;
var r1;
var r7;
var r8;
var value;
var value4;
var moduleValue;
var getBestMediaProxySize;
var moduleValue2;
var value7;
var binding;
if (icon != null) {
if (icon.startsWith('data:')) {
return icon;
}
r10 = (require(1423) /* metro dependency 1423: AvatarUtils */).SUPPORTS_WEBP ? 'webp' : 'png';
value4 = '';
if (a1 != null) {
moduleValue = require(1457) /* metro dependency 1457: ImageLoaderUtils */;
getBestMediaProxySize = moduleValue.getBestMediaProxySize;
moduleValue2 = require(1457) /* metro dependency 1457: ImageLoaderUtils */;
value7 = 'size=' + Reflect.apply(getBestMediaProxySize, moduleValue,
[a1 * moduleValue2.getDevicePixelRatio()]);
r1 = env0_7 ? value4 : '&quality=lossless';
r7 = value7;
r8 = r1;
} else {
r7 = value4;
r8 = 'quality=lossless';
}
if (global.window.GLOBAL_ENV.CDN_HOST != null) {
r1 = value4 + env0_5 + '/' + id + '/' + icon + '.' + r10 + '?' + r7 + r8;
} else {
binding = env0_6;
value = Endpoints.ROLE_ICON(id, icon);
value = value4 + binding + value + '?' + r7;
r1 = value;
}
return r1;
}
r10 = (require(1423) /* metro dependency 1423: AvatarUtils */).SUPPORTS_WEBP ? 'webp' : 'png';
value4 = '';
if (a1 != null) {
moduleValue = require(1457) /* metro dependency 1457: ImageLoaderUtils */;
getBestMediaProxySize = moduleValue.getBestMediaProxySize;
moduleValue2 = require(1457) /* metro dependency 1457: ImageLoaderUtils */;
value7 = 'size=' + Reflect.apply(getBestMediaProxySize, moduleValue,
[a1 * moduleValue2.getDevicePixelRatio()]);
r1 = env0_7 ? value4 : '&quality=lossless';
r7 = value7;
r8 = r1;
}
function getRoleIconData(a0, a1) { // fn#53493, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6972:729, offset: 0x0134d903, size: 136 bytes, params: 3, frame: 19
var r3;
var defaultImport;
var getByName;
var defaultImport2;
if (a0 == null) {
return null;
}
const unicodeEmoji = a0.unicodeEmoji;
const value = undefined;
if (unicodeEmoji != null) {
defaultImport = importDefault(3797) /* metro dependency 3797: UnicodeEmojis */;
getByName = defaultImport.getByName;
defaultImport2 = importDefault(3797) /* metro dependency 3797: UnicodeEmojis */;
r3 = Reflect.apply(getByName, defaultImport, [defaultImport2.convertSurrogateToName(a0.unicodeEmoji, false)]);
} else {
r7 = value4;
r8 = 'quality=lossless';
r3 = value;
}
if (global.window.GLOBAL_ENV.CDN_HOST != null) {
r1 = value4 + env0_5 + '/' + id + '/' + icon + '.' + r10 + '?' + r7 + r8;
} else {
binding = env0_6;
value = Endpoints.ROLE_ICON(id, icon);
value = value4 + binding + value + '?' + r7;
r1 = value;
}
return r1;
const object = {};
object.customIconSrc = getRoleIconSource(a0, a1);
object.unicodeEmoji = r3 ?? value;
return object;
}
}
function getRoleIconData(a0, a1) { // fn#53493, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6972:729, offset: 0x0134d903, size: 136 bytes, params: 3, frame: 19
var r3;
var defaultImport;
var getByName;
var defaultImport2;
if (a0 == null) {
return null;
function replaceRoleIconSourceSize(a0, a1) { // fn#53494, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6972:967, offset: 0x0134d98b, size: 116 bytes, params: 3, frame: 17
const replace = a0.replace;
var value;
const getBestMediaProxySize = (require(1457) /* metro dependency 1457: ImageLoaderUtils */).getBestMediaProxySize;
value = Reflect.apply(getBestMediaProxySize, value,
[a1 * (require(1457) /* metro dependency 1457: ImageLoaderUtils */).getDevicePixelRatio()]);
value = 'size=' + value;
return Reflect.apply(replace, a0, [RegExp('size=[0-9]+', 'g'), value]);
}
const unicodeEmoji = a0.unicodeEmoji;
const value = undefined;
if (unicodeEmoji != null) {
defaultImport = importDefault(3797) /* metro dependency 3797: UnicodeEmojis */;
getByName = defaultImport.getByName;
defaultImport2 = importDefault(3797) /* metro dependency 3797: UnicodeEmojis */;
r3 = Reflect.apply(getByName, defaultImport, [defaultImport2.convertSurrogateToName(a0.unicodeEmoji, false)]);
} else {
r3 = value;
function isRoleIconAssetUrl(a0) { // fn#53495, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6972:1094, offset: 0x0134d9ff, size: 92 bytes, params: 2, frame: 16
return a0.startsWith(env0_5) || a0.startsWith('' + env0_6 + '/roles') && a0.includes('/icons/');
}
const object2 = {};
object2.customIconSrc = getRoleIconSource(a0, a1);
object2.unicodeEmoji = r3 ?? value;
return object2;
}
function replaceRoleIconSourceSize(a0, a1) { // fn#53494, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6972:967, offset: 0x0134d98b, size: 116 bytes, params: 3, frame: 17
const replace = a0.replace;
var value;
const getBestMediaProxySize = (require(1457) /* metro dependency 1457: ImageLoaderUtils */).getBestMediaProxySize;
value = Reflect.apply(getBestMediaProxySize, value,
[a1 * (require(1457) /* metro dependency 1457: ImageLoaderUtils */).getDevicePixelRatio()]);
value = 'size=' + value;
return Reflect.apply(replace, a0, [RegExp('size=[0-9]+', 'g'), value]);
}
function canGuildUseRoleIcons(a0, a1) { // fn#53496, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6972:1187, offset: 0x0134da5b, size: 76 bytes, params: 3, frame: 13
let value = undefined;
value = (a1 == null || a1.tags == null ? value : a1.tags.subscription_listing_id) != null;
return value || a0.features.has(GuildFeatures.ROLE_ICONS);
}
function isRoleIconAssetUrl(a0) { // fn#53495, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6972:1094, offset: 0x0134d9ff, size: 92 bytes, params: 2, frame: 16
return a0.startsWith(env0_5) || a0.startsWith('' + env0_6 + '/roles') && a0.includes('/icons/');
}
function canGuildUseRoleIcons(a0, a1) { // fn#53496, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:6972:1187, offset: 0x0134da5b, size: 76 bytes, params: 3, frame: 13
let value = undefined;
value = (a1 == null || a1.tags == null ? value : a1.tags.subscription_listing_id) != null;
return value || a0.features.has(GuildFeatures.ROLE_ICONS);
}
global.__d(_fun53491, 6794, [661, 477, 3797, 1457, 1423,
2]) /* metro module 6794, dependencies: [661, 477, 3797, 1457, 1423, 2] */;
@@ -1,119 +1,128 @@
/* Metro module 7021; source: modules/guild_boosting/native/GuildBoostPurchasingUtils.tsx; dependencies: [5, 3808, 661, 1880, 4496, 1244, 683, 4223, 7022, 7026, 3802, 2] */
import Module00005 from '../../../by-id/module-00005.js'; /* Metro dependency 5 */
import SubscriptionStore from '../../../stores/billing/SubscriptionStore.tsx'; /* Metro dependency 3808 */
import * as FileImportTrackerModule from '../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ConstantsModule from '../../../Constants.tsx'; /* Metro dependency 661 */
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 */;
let value = ConstantsModule;
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');
(FileImportTrackerModule).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 = Module00005(_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 object;
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;
object = {};
binding3 = env2_0;
intl = binding3(binding2[5]).intl;
object.title = intl.string(binding3(binding2[5]).t['8P7MX0']);
object.body = externalManagementMessage;
Reflect.apply(show, value9, [object]);
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;
object = {};
binding3 = env2_0;
intl = binding3(binding2[5]).intl;
object.title = intl.string(binding3(binding2[5]).t['8P7MX0']);
object.body = externalManagementMessage;
Reflect.apply(show, value9, [object]);
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;
}
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 _fun55644() { // fn#55644, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7199:941, offset: 0x00c3945f, size: 30 bytes, params: 1, frame: 13
return env0_0.apply(this, arguments);
}
}
}
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;
}
global.__d(_fun55639, 7021, [5, 3808, 661, 1880, 4496, 1244, 683, 4223, 7022, 7026, 3802,
2]) /* metro module 7021, dependencies: [5, 3808, 661, 1880, 4496, 1244, 683, 4223, 7022, 7026, 3802, 2] */;
@@ -1,57 +1,63 @@
/* Metro module 14634; source: modules/guild_boosting/native/GuildBoostingMarketingUtils.tsx; dependencies: [8249, 7950, 10284, 9820, 10319, 12323, 7948, 9097, 9781, 8633, 6707, 10976, 2] */
import * as FileImportTrackerModule from '../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactionIconModule from '../../../design/components/Icon/native/redesign/generated/ReactionIcon.tsx'; /* Metro dependency 7950 */
import * as GuildBoostingUtilsModule from '../../../utils/GuildBoostingUtils.tsx'; /* Metro dependency 8249 */
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');
(FileImportTrackerModule).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;
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 = (GuildBoostingUtilsModule).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 (ReactionIconModule).ReactionIcon;
}
return (require(7950) /* metro dependency 7950: ReactionIcon */).ReactionIcon;
}
global.__d(_fun110608, 14634, [8249, 7950, 10284, 9820, 10319, 12323, 7948, 9097, 9781, 8633, 6707, 10976,
2]) /* metro module 14634, dependencies: [8249, 7950, 10284, 9820, 10319, 12323, 7948, 9097, 9781, 8633, 6707, 10976, 2] */;
@@ -1,115 +1,134 @@
/* 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] */
import Module00005 from '../../../by-id/module-00005.js'; /* Metro dependency 5 */
import UseAnalyticsLocations from '../../app_analytics/useAnalyticsLocations.tsx'; /* Metro dependency 6771 */
import GuildBoostSlotStore from '../../../stores/billing/GuildBoostSlotStore.tsx'; /* Metro dependency 7020 */
import UseFetchGuildBoostSlots from '../../../components_native/premium/premium_guild_subscribe_modal/useFetchGuildBoostSlots.tsx'; /* Metro dependency 12299 */
import UseGuildBoostPurchaseHandler from './hooks/useGuildBoostPurchaseHandler.tsx'; /* Metro dependency 12300 */
import * as FileImportTrackerModule from '../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as JsxRuntimeModule from '../../../by-id/module-00033-JsxRuntime.js'; /* Metro dependency 33 */
import * as UseStateFromStoresModule from '../../../external/discord_common/js/packages/flux/useStateFromStores.tsx'; /* Metro dependency 632 */
import * as ConstantsModule from '../../../Constants.tsx'; /* Metro dependency 661 */
import * as IndexNativeModule from '../../../intl/index.native.tsx'; /* Metro dependency 1244 */
import * as UseNavigationNativeModule from '../../../design/components/Navigator/native/useNavigation.native.tsx'; /* Metro dependency 1484 */
import * as PremiumConstantsModule from '../../premium/PremiumConstants.tsx'; /* Metro dependency 1880 */
import * as ButtonNativeModule from '../../../design/components/Button/native/Button.native.tsx'; /* Metro dependency 4578 */
import * as PremiumGuildSubscribeConstantsModule from '../../../components_native/premium/premium_guild_subscribe_modal/PremiumGuildSubscribeConstants.tsx'; /* Metro dependency 6524 */
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');
(FileImportTrackerModule).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 = Module00005(_fun55613);
return _fun55615;
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 _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 _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 _fun55615() { // fn#55615, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7197:541, offset: 0x00c3945f, size: 30 bytes, params: 1, frame: 13
return env0_0.apply(this, arguments);
}
}
}
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 _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 intent2 = intent;
const value3 = (UseFetchGuildBoostSlots)();
const value4 = (UseNavigationNativeModule).useNavigation();
const analyticsLocations = (UseAnalyticsLocations)().analyticsLocations;
const value5 = (UseStateFromStoresModule).useStateFromStores([GuildBoostSlotStore],
_fun55617);
const value6 = intent2.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} = (UseGuildBoostPurchaseHandler)('guild_boost_subscribe_button');
const env0_13 = intent2.useCallback(_fun55620, [value3, shouldUseMobileWebRedirectCheckout,
handleMobileWebRedirectCheckout, guild.id, analyticsSection, value5, previousGuildSubscriptionSlot,
analyticsLocations, value6]);
const Button = (ButtonNativeModule).Button;
const object2 = {loading: value3, variant: 'primary', onPress: onPress_55621, disabled: r8};
const intl = (IndexNativeModule).intl;
const string = intl.string;
const t = (IndexNativeModule).t;
object2.text = useShortenedCTA ? Reflect.apply(string, intl, [t.Uj0md3]) : Reflect.apply(string, intl, [t.gKmQ1G]);
object2.icon = (
r8
? ((LockIcon) => <LockIcon size="xs" color="white" />)((require(6705) /* metro dependency 6705: LockIcon */).LockIcon)
: undefined
);
return (
<View style={styles}>
<Button {...object2} />
</View>
);
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 _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();
}
}
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 push = ConstantsModule.AnalyticsObjects.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, ConstantsModule.AnalyticsObjects, [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 : ConstantsModule.AnalyticsPages ? (0, ConstantsModule.NOOP)(guild.id,
previousGuildSubscriptionSlot) : shouldUseMobileWebRedirectCheckout && guild.id != null ? handleMobileWebRedirectCheckout(analyticsLocations,
guild.id) : env1_14(analyticsLocations, analyticsSection);
}
function _default_55616OnPress() { // fn#55621, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7197:1639, owner: _default_55616.onPress, offset: 0x00e719ed, size: 15 bytes, params: 1, frame: 9
return env0_13();
}
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();
}
global.__d(_fun55610, 7019, [5, 31, 27, 7020, 661, 6524, 1880, 33, 7021, 5080, 6522, 12299, 1484, 6771, 632, 1895,
12300, 4578, 1244, 6705,
2]) /* metro module 7019, dependencies: [5, 31, 27, 7020, 661, 6524, 1880, 33, 7021, 5080, 6522, 12299, 1484, 6771, 632, 1895, 12300, 4578, 1244, 6705, 2] */;
@@ -1,113 +1,120 @@
/* Metro module 6793; source: modules/guild_boosting/native/RoleIconUtils.tsx; dependencies: [31, 1938, 1867, 33, 566, 6794, 6795, 1244, 2] */
import GuildStore from '../../../stores/GuildStore.tsx'; /* Metro dependency 1867 */
import GuildRoleStore from '../../../stores/GuildRoleStore.tsx'; /* Metro dependency 1938 */
import * as FileImportTrackerModule from '../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactModule from '../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as JsxRuntimeModule from '../../../by-id/module-00033-JsxRuntime.js'; /* Metro dependency 33 */
import * as FluxModule from '../../../external/discord_common/js/packages/flux/index.tsx'; /* Metro dependency 566 */
import * as IndexNativeModule from '../../../intl/index.native.tsx'; /* Metro dependency 1244 */
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');
(FileImportTrackerModule).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;
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 = (FluxModule).useStateFromStoresObject([GuildStore,
GuildRoleStore], _fun53488, [guildId, roleId]);
const guild = value2.guild;
return guild.useMemo(_fun53489, [guild, value2.role, roleId, size]);
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 guildStoreBinding = GuildStore;
const getGuild = guildStoreBinding.getGuild;
const guildIdBinding = guildId;
return {guild: Reflect.apply(getGuild, guildStoreBinding, [guildIdBinding]),
role: guildIdBinding != null && roleId != null ? GuildRoleStore.getRole(guildId, roleId) : undefined};
}
var role = GuildRoleStore.getRole(guild.id, roleId);
if (role == null) {
return 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;
}
}
}
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;
}
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 object;
var customIconSrc;
var unicodeEmoji;
var name;
const intl = (IndexNativeModule).intl;
var formatToPlainString;
const t = (IndexNativeModule).t;
var property;
const guild = GuildStore.getGuild(guildId);
if (guild != null) {
if (roleId == null) {
return undefined;
}
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;
var role = GuildRoleStore.getRole(guild.id, roleId);
if (role == null) {
return undefined;
}
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 */);
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) {
object = {source: customIconSrc};
name = role.name;
object.name = name;
object.size = size;
object.unicodeEmoji = unicodeEmoji == null ? value4 : unicodeEmoji.surrogates;
formatToPlainString = intl.formatToPlainString;
property = t['9+YWrE'];
name = role.name;
object.alt = Reflect.apply(formatToPlainString, intl, [property, {name: name}]);
return object;
}
if ((unicodeEmoji == null ? value4 : unicodeEmoji.surrogates) != null) {
object = {source: customIconSrc};
name = role.name;
object.name = name;
object.size = size;
object.unicodeEmoji = unicodeEmoji == null ? value4 : unicodeEmoji.surrogates;
formatToPlainString = intl.formatToPlainString;
property = t['9+YWrE'];
name = role.name;
object.alt = Reflect.apply(formatToPlainString, intl, [property, {name: name}]);
return object;
}
return undefined;
}
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;
}
}
}
global.__d(_fun53486, 6793, [31, 1938, 1867, 33, 566, 6794, 6795, 1244,
2]) /* metro module 6793, dependencies: [31, 1938, 1867, 33, 566, 6794, 6795, 1244, 2] */;
@@ -1,86 +1,95 @@
/* Metro module 12300; source: modules/guild_boosting/native/hooks/useGuildBoostPurchaseHandler.tsx; dependencies: [5, 31, 661, 3, 4247, 7294, 7023, 683, 4496, 1244, 6522, 2] */
import Logger from '../../../debug/Logger.tsx'; /* Metro dependency 3 */
import Module00005 from '../../../../by-id/module-00005.js'; /* Metro dependency 5 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactModule from '../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as ConstantsModule from '../../../../Constants.tsx'; /* Metro dependency 661 */
import * as MobileWebRedirectCheckoutUtilsModule from '../../../payments/utils/MobileWebRedirectCheckoutUtils.tsx'; /* Metro dependency 4247 */
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 */;
let value = Logger;
value = new value('useGuildBoostPurchaseHandler');
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/guild_boosting/native/hooks/useGuildBoostPurchaseHandler.tsx');
(FileImportTrackerModule).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 = (MobileWebRedirectCheckoutUtilsModule).isMobileWebRedirectCheckoutEnabled();
const useCallback = ReactModule.useCallback;
let value = _fun93942();
value = Reflect.apply(useCallback, ReactModule, [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 object = {};
object.guild_id = require;
object.load_id = env0_2;
binding = env0_0;
const items2 = [];
arraySpread(items2, binding, 0, undefined);
object.location_stack = items2;
object.custom_checkout_flow = env4_0(binding2[4]).getCustomCheckoutFlowForAnalytics();
Reflect.apply(track, value2, [MOBILE_OPEN_STANDALONE_GUILD_BOOST_CHECKOUT_PAGE, object]);
env4_6.log('Successfully opened mobile web Guild Boost Management page');
}
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 _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 object = {};
binding = env4_0;
let intl = binding(binding2[9]).intl;
const string = intl.string;
const NrBVjw = binding(binding2[9]).t.NrBVjw;
object.title = Reflect.apply(string, intl, [NrBVjw]);
intl = binding(binding2[9]).intl;
object.body = intl.string(binding(binding2[9]).t['gD+grx']);
object.hideActionSheet = true;
Reflect.apply(show, value2, [object]);
}
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 _fun93947() { // fn#93947, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12486:1060, offset: 0x00c3945f, size: 30 bytes, params: 1, frame: 13
return env0_0.apply(this, arguments);
}
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]);
}
global.__d(_fun93940, 12300, [5, 31, 661, 3, 4247, 7294, 7023, 683, 4496, 1244, 6522,
2]) /* metro module 12300, dependencies: [5, 31, 661, 3, 4247, 7294, 7023, 683, 4496, 1244, 6522, 2] */;
@@ -1,79 +1,119 @@
/* 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] */
import Native from '../../../../external/discord_common/js/packages/tokens/native.tsx'; /* Metro dependency 697 */
import Module12335 from '../../../../by-id/module-12335.js'; /* Metro dependency 12335 */
import Module12336 from '../../../../by-id/module-12336.js'; /* Metro dependency 12336 */
import Module12337 from '../../../../by-id/module-12337.js'; /* Metro dependency 12337 */
import Module12338 from '../../../../by-id/module-12338.js'; /* Metro dependency 12338 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as JsxRuntimeModule from '../../../../by-id/module-00033-JsxRuntime.js'; /* Metro dependency 33 */
import * as TextModule from '../../../../design/components/Text/native/Text.tsx'; /* Metro dependency 4573 */
import * as BoostGemIconModule from '../../../../design/components/Icon/native/redesign/generated/BoostGemIcon.tsx'; /* Metro dependency 7958 */
import * as HeartIconModule from '../../../../design/components/Icon/native/redesign/generated/HeartIcon.tsx'; /* Metro dependency 8663 */
import * as ShieldUserIconModule from '../../../../design/components/Icon/native/redesign/generated/ShieldUserIcon.tsx'; /* Metro dependency 9097 */
import * as BoostTier3IconModule from '../../../../design/components/Icon/native/redesign/generated/BoostTier3Icon.tsx'; /* Metro dependency 12252 */
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 */;
ReactModule;
let value = JsxRuntimeModule;
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',
const object2 = {'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'},
object2.backgroundColor = BACKGROUND_SURFACE_HIGH;
object2.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
const env0_6 = Reflect.apply(createStyles, value, [{card: object2, 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');
(FileImportTrackerModule).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}
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 = (Native).unsafe_rawColors.GUILD_BOOSTING_PINK;
const view = (
<View style={styles.iconContainer}>
<IconComponent size="lg" color={GUILD_BOOSTING_PINK} />
</View>
</View>
);
);
const Text = (TextModule).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 = (TextModule).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: Module12335};
const BoostGemIcon = (BoostGemIconModule).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: Module12336};
const BoostTier3Icon = (BoostTier3IconModule).BoostTier3Icon;
object.IconComponent = BoostTier3Icon;
items2[1] = (
<Card_94120 {...object}>
{intl.string((require(1244) /* metro dependency 1244: indexNative */).t.hjQuV2)}
</Card_94120>
);
const object4 = {icon: Module12337};
const ShieldUserIcon = (ShieldUserIconModule).ShieldUserIcon;
object4.IconComponent = ShieldUserIcon;
items2[2] = (
<Card_94120 {...object4}>
{intl.string((require(1244) /* metro dependency 1244: indexNative */).t['2RUcaM'])}
</Card_94120>
);
const object5 = {icon: Module12338};
const HeartIcon = (HeartIconModule).HeartIcon;
object5.IconComponent = HeartIcon;
items2[3] = (
<Card_94120 {...object5}>
{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>
);
}
}
global.__d(_fun94119, 12334, [31, 27, 33, 4501, 697, 4573, 1244, 12335, 7958, 12336, 12252, 12337, 9097, 12338,
8663,
2]) /* metro module 12334, dependencies: [31, 27, 33, 4501, 697, 4573, 1244, 12335, 7958, 12336, 12252, 12337, 9097, 12338, 8663, 2] */;
@@ -1,273 +1,375 @@
/* 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] */
import Module00057 from '../../../../by-id/module-00057.js'; /* Metro dependency 57 */
import Durations from '../../../../utils/Durations.tsx'; /* Metro dependency 672 */
import Native from '../../../../external/discord_common/js/packages/tokens/native.tsx'; /* Metro dependency 697 */
import UserStore from '../../../../stores/UserStore.tsx'; /* Metro dependency 1878 */
import PremiumUtils from '../../../../utils/PremiumUtils.tsx'; /* Metro dependency 3802 */
import ReanimatedRexport from '../../../reanimated/ReanimatedRexport.tsx'; /* Metro dependency 4017 */
import defaultImport7 from '../../../../by-id/module-04589-LinearGradient.js'; /* Metro dependency 4589 */
import UseAnalyticsLocations from '../../../app_analytics/useAnalyticsLocations.tsx'; /* Metro dependency 6771 */
import AnalyticsLocation from '../../../app_analytics/AnalyticsLocation.tsx'; /* Metro dependency 6789 */
import GuildIcon from '../../../guild/native/GuildIcon.tsx'; /* Metro dependency 6819 */
import GuildBoostingSubscribeButton from '../GuildBoostingSubscribeButton.tsx'; /* Metro dependency 7019 */
import GuildBoostSlotStore from '../../../../stores/billing/GuildBoostSlotStore.tsx'; /* Metro dependency 7020 */
import UseGuildPowerupsBoostCount from '../../../premium/powerups/hooks/useGuildPowerupsBoostCount.tsx'; /* Metro dependency 8254 */
import UseFPDurationLeft from '../../../billing/hooks/useFPDurationLeft.tsx'; /* Metro dependency 12192 */
import Module12229 from '../../../../by-id/module-12229.js'; /* Metro dependency 12229 */
import GuildPowerupsMarketingHeader from '../../../premium/powerups/native/GuildPowerupsMarketingHeader.tsx'; /* Metro dependency 12302 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as ConstantsModule from '../../../../Constants.tsx'; /* Metro dependency 661 */
import * as NativeModule from '../../../../design/void/native.tsx'; /* Metro dependency 1305 */
import * as PremiumConstantsModule from '../../../premium/PremiumConstants.tsx'; /* Metro dependency 1880 */
import * as UserModule from '../../../../external/discord_common/js/packages/protos/discord_protos/users/v1/user.tsx'; /* Metro dependency 1895 */
import * as ReanimatedRexportModule from '../../../reanimated/ReanimatedRexport.tsx'; /* Metro dependency 4017 */
import * as TextModule from '../../../../design/components/Text/native/Text.tsx'; /* Metro dependency 4573 */
import * as ButtonNativeModule from '../../../../design/components/Button/native/Button.native.tsx'; /* Metro dependency 4578 */
import * as PressablesModule from '../../../../design/void/Pressables/native/Pressables.tsx'; /* Metro dependency 5278 */
import * as GuildIconModule from '../../../guild/native/GuildIcon.tsx'; /* Metro dependency 6819 */
import * as ReverseTrialUtilsNativeModule from '../../../premium/ReverseTrialUtils.native.tsx'; /* Metro dependency 7288 */
import * as UseFPDurationLeftModule from '../../../billing/hooks/useFPDurationLeft.tsx'; /* Metro dependency 12192 */
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 */;
let value = ConstantsModule;
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 Millis = (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,
object = {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,
object.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',
object.guildIconText = {color: MOBILE_TEXT_HEADING_PRIMARY};
object.guildName = {'alignSelf': 'center', 'maxWidth': '50%', 'textAlign': 'center'};
object.guildBoostCountWrapper = {position: 'relative'};
object.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]),
object.guildBoostCountIcon = {'flexGrow': 0, 'flexShrink': 0, 'marginRight': 3};
object.guildBoostCount = {'flexGrow': 0, 'flexShrink': 1, 'opacity': 0.6};
object.guildBoostCurrentUserCountWrapper = {'position': 'absolute', 'top': 3, 'width': '100%'};
object.guildBoostCurrentUserCount = {alignSelf: 'center'};
const object5 = {'alignSelf': 'center', 'borderRadius': null, 'maxWidth': 300, 'width': '90%'};
object5.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.xl;
object.cta = object5;
const object6 = {};
const generateBoxShadowStyle = NativeModule.generateBoxShadowStyle;
const EIGHT_DP_ELEVATION_SHADOW_PARAMS = NativeModule.EIGHT_DP_ELEVATION_SHADOW_PARAMS;
copyDataProperties(object6, 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%',
object.ctaPrimary = object6;
object.ctaSecondary = {marginTop: 10};
object.giftIcon = {marginRight: 8};
object.gradient = {overflow: 'visible'};
object.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,
object.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');
object.boostingUnavailablePill = {'marginTop': -13, 'marginBottom': 23};
const env0_15 = Reflect.apply(createStyles, value, [object]);
object = {code: 'function GuildBoostingMarketingCtaBarTsx1(){const{withTiming,isVisible}=this.__closure;return{opacity:withTiming(isVisible?1:0,{duration:250})};}'};
(FileImportTrackerModule).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 useAnimatedStyle = ReanimatedRexportModule.useAnimatedStyle;
const useBoostCountAnimatedStylesO2 = useBoostCountAnimatedStylesO;
const object = {};
object.withTiming = (require(4504) /* metro dependency 4504: timing */).withTiming;
object.isVisible = a0;
useBoostCountAnimatedStylesO2.__closure = object;
useBoostCountAnimatedStylesO2.__workletHash = 6895237370657;
useBoostCountAnimatedStylesO2.__initData = env0_16;
return Reflect.apply(useAnimatedStyle, ReanimatedRexportModule, [useBoostCountAnimatedStylesO2]);
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 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} />
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 object2;
var object6;
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 [property, env0_2] = analyticsLocations(ReactModule.useState(false), 2);
const defaultImport = UseAnalyticsLocations;
const BOOSTED_GUILD_PERKS_MODAL = (AnalyticsLocation).BOOSTED_GUILD_PERKS_MODAL;
var analyticsLocations = defaultImport(BOOSTED_GUILD_PERKS_MODAL).analyticsLocations;
const currentUser = (require(632) /* metro dependency 632: useStateFromStores */).useStateFromStores([UserStore],
function() {
return UserStore.getCurrentUser();
});
const value4 = ReactModule.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 = UseFPDurationLeft;
const endsAt = fractionalPremiumInfo.endsAt;
const CountDownMessageTypes = (UseFPDurationLeftModule).CountDownMessageTypes;
const LONG_TIME_LEFT = CountDownMessageTypes.LONG_TIME_LEFT;
const value7 = defaultImport2(endsAt, LONG_TIME_LEFT);
const value8 = (ReverseTrialUtilsNativeModule).useIsInReverseTrial();
const total = (UseGuildPowerupsBoostCount)(a0.guild.id).total;
const env0_6 = ReactModule.useRef(-1);
ReactModule.useEffect(_fun93956, [property, value4]);
const isPremium2 = (PremiumUtils).isPremium(currentUser);
const PremiumSubscriptionGroupRole = (UserModule).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 object7 = {onLayout: onLayout, angle: 160, angleCenter: {'x': 0.5, 'y': 0.5}};
const PREMIUM_TIER_0_HEADER_GRADIENT_1 = (Native).unsafe_rawColors.PREMIUM_TIER_0_HEADER_GRADIENT_1;
const items4 = [PREMIUM_TIER_0_HEADER_GRADIENT_1];
const PREMIUM_TIER_0_HEADER_GRADIENT_2 = (Native).unsafe_rawColors.PREMIUM_TIER_0_HEADER_GRADIENT_2;
items4[1] = PREMIUM_TIER_0_HEADER_GRADIENT_2;
const PREMIUM_TIER_0_HEADER_GRADIENT_3 = (Native).unsafe_rawColors.PREMIUM_TIER_0_HEADER_GRADIENT_3;
items4[2] = PREMIUM_TIER_0_HEADER_GRADIENT_3;
const PREMIUM_TIER_0_HEADER_GRADIENT_4 = (Native).unsafe_rawColors.PREMIUM_TIER_0_HEADER_GRADIENT_4;
items4[3] = PREMIUM_TIER_0_HEADER_GRADIENT_4;
const PREMIUM_TIER_0_HEADER_GRADIENT_5 = (Native).unsafe_rawColors.PREMIUM_TIER_0_HEADER_GRADIENT_5;
items4[4] = PREMIUM_TIER_0_HEADER_GRADIENT_5;
object7.colors = items4;
object7.locations = [0, 0.3221, 0.429, 0.7606, 1];
object7.useAngle = true;
let gradient = styles.gradient;
object7.style = gradient;
const defaultImport8 = defaultImport7;
gradient = styles.gradient;
const items2 = [
((Component) => <Component guild={guild} />)(GuildPowerupsMarketingHeader),
];
const Text = (TextModule).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 GuildIconSizes = (GuildIconModule).GuildIconSizes;
const LARGE = GuildIconSizes.LARGE;
items3[1] = (
<GuildIcon
style={styles.guildIcon}
textStyle={styles.guildIconText}
guild={guild}
size={LARGE}
/>
);
const PressableOpacity = (PressablesModule).PressableOpacity;
const object8 = {onPress: onPress_93960};
const text = (
<Text
style={styles.guildName}
color="always-white"
variant="text-md/bold"
>
{guild.name}
</Text>
);
const View2 = (ReanimatedRexport).View;
const items5 = [value6];
items5[1] = styles.totalBoostCountWrapper;
const Icon = (require(1305) /* metro dependency 1305: native */).Icon;
const iconProps = {style: styles.guildBoostCountIcon, source: Module12229};
const GUILD_BOOSTING_PINK = (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 = (ReanimatedRexport).View;
items3[2] = (
<PressableOpacity {...object8}>
{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 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>
</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 {...object7}>{((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 = (ButtonNativeModule).Button;
if (isPremium2) {
object6 = {variant: 'secondary'};
object6.text = intl.string((require(1244) /* metro dependency 1244: indexNative */).t['8MYSQw']);
object6.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});
};
object6.icon = (
<Icon
size={(require(1305) /* metro dependency 1305: native */).Icon.Sizes.SMALL}
source={importDefault(12314) /* metro dependency 12314 */}
style={styles.giftIcon}
/>
);
object6.grow = true;
r7 = object6;
} else {
object2 = {variant: 'secondary'};
object2.text = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.pj0XBN);
object2.onPress = onPress_93963;
object2.grow = true;
r7 = object2;
}
return (
<View>
{defaultImport72}
<View style={items12}>
<Button {...r7} />
</View>
</View>
);
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 _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 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 (ReactNativeModule.View > 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 _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);
}
}
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 _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);
}
global.__d(_fun93948, 12301, [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]) /* metro module 12301, 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] */;
@@ -1,42 +1,49 @@
/* 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] */
import Module00057 from '../../../../by-id/module-00057.js'; /* Metro dependency 57 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as JsxRuntimeModule from '../../../../by-id/module-00033-JsxRuntime.js'; /* Metro dependency 33 */
import * as ConstantsModule from '../../../../Constants.tsx'; /* Metro dependency 661 */
import * as IndexNativeModule from '../../../../intl/index.native.tsx'; /* Metro dependency 1244 */
import * as NativeModule from '../../../../design/void/native.tsx'; /* Metro dependency 1305 */
import * as TextModule from '../../../../design/components/Text/native/Text.tsx'; /* Metro dependency 4573 */
import * as PressablesModule from '../../../../design/void/Pressables/native/Pressables.tsx'; /* Metro dependency 5278 */
import * as GuildBoostingMarketingPersistentCtaModule from './GuildBoostingMarketingPersistentCta.tsx'; /* Metro dependency 7018 */
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 */;
let value = JsxRuntimeModule;
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,
object = {};
const VISIBILITY_OFFSET = (GuildBoostingMarketingPersistentCtaModule).VISIBILITY_OFFSET;
object.wrapper = {'alignSelf': 'center', 'marginTop': 50, 'marginBottom': null, 'maxWidth': 800,
'paddingHorizontal': 16, 'width': '100%', marginBottom: VISIBILITY_OFFSET};
const object4 = {};
const object3 = {};
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'};
object3.backgroundColor = BACKGROUND_MOD_NORMAL;
object3.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
object3.paddingHorizontal = 16;
object3.paddingVertical = 28;
object.content = object3;
object.heading = {'marginBottom': 20, 'textAlign': 'center'};
let BORDER_MUTED = (importDefault(697) /* metro dependency 697: native */).colors.BORDER_MUTED;
object2.list = {borderTopColor: BORDER_MUTED, borderTopWidth: 1};
object.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};
object.listItem = {borderBottomColor: BORDER_MUTED, borderBottomWidth: 1};
object.questionWrapper = {'display': 'flex', 'flexDirection': 'row', 'paddingVertical': 10};
object.questionWrapperExpanded = {paddingBottom: 6};
object.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]);
object.questionIcon = {'flexGrow': 0, 'flexShrink': 0, tintColor: ICON_MUTED};
object.questionIconExpanded = {transform: [{rotate: '45deg'}]};
object.answer = {marginBottom: 10};
const env0_9 = Reflect.apply(createStyles, value, [object]);
const items2 = [{getQuestion: function() {
return require(dependencyMap[8]).intl.string(require(dependencyMap[8]).t.C4J8UB);
}, getAnswer: function() {
@@ -86,61 +93,71 @@ function _fun94141(global, require, importDefault, importAll, module, exports, d
}, 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');
(FileImportTrackerModule).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)}
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] = Module00057(ReactModule.useState(null), 2);
const Text = (TextModule).Text;
const intl = (IndexNativeModule).intl;
const string = intl.string;
const HPJ6Nj = (IndexNativeModule).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>
</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 = (TextModule).Text;
const env0_0 = a1;
const value2 = env0_1 === a1;
let stylesBinding = styles;
const listItem = stylesBinding.listItem;
const PressableOpacity = (PressablesModule).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 = (NativeModule).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;
});
}
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;
});
}
global.__d(_fun94141, 12343, [57, 31, 27, 661, 33, 4501, 7018, 697, 1244, 1948, 4573, 5278, 1305, 12344,
2]) /* metro module 12343, dependencies: [57, 31, 27, 661, 33, 4501, 7018, 697, 1244, 1948, 4573, 5278, 1305, 12344, 2] */;
@@ -1,165 +1,188 @@
/* 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] */
import Module00057 from '../../../../by-id/module-00057.js'; /* Metro dependency 57 */
import AnalyticsUtils from '../../../../utils/AnalyticsUtils.tsx'; /* Metro dependency 683 */
import Dispatcher from '../../../../Dispatcher.tsx'; /* Metro dependency 694 */
import GuildStore from '../../../../stores/GuildStore.tsx'; /* Metro dependency 1867 */
import UserStore from '../../../../stores/UserStore.tsx'; /* Metro dependency 1878 */
import UseFractionalPremiumInfo from '../../../billing/hooks/useFractionalPremiumInfo.tsx'; /* Metro dependency 5180 */
import UseAnalyticsLocations from '../../../app_analytics/useAnalyticsLocations.tsx'; /* Metro dependency 6771 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as ConstantsModule from '../../../../Constants.tsx'; /* Metro dependency 661 */
import * as UseNavigationNativeModule from '../../../../design/components/Navigator/native/useNavigation.native.tsx'; /* Metro dependency 1484 */
import * as BillingActionCreatorsModule from '../../../billing/actions/BillingActionCreators.tsx'; /* Metro dependency 4223 */
import * as CreateStylesModule from '../../../../design/components/Styles/native/createStyles.tsx'; /* Metro dependency 4501 */
import * as SubscriptionPlanActionCreatorsModule from '../../../../actions/SubscriptionPlanActionCreators.tsx'; /* Metro dependency 6847 */
import * as UseGiftCardMobileConsumptionHalfsheetModule from '../../../checkout/native/useGiftCardMobileConsumptionHalfsheet.tsx'; /* Metro dependency 7010 */
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 */;
let value = ConstantsModule;
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');
const env0_13 = (CreateStylesModule).createStyles({wrapper: {paddingBottom: 24}});
(FileImportTrackerModule).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();
(UseGiftCardMobileConsumptionHalfsheetModule).useGiftCardMobileConsumptionHalfsheet();
const r12 = guildBoostSlots?.[0];
const guild = (require(566) /* metro dependency 566: flux */).useStateFromStores([GuildStore], function() {
return GuildStore.getGuild(guildId);
});
const value4 = (UseNavigationNativeModule).useNavigation();
const env0_3 = value4;
const analyticsLocations = (UseAnalyticsLocations)().analyticsLocations;
const analyticsLocations2 = analyticsLocations;
let binding = analyticsLocations2;
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 = (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;
analyticsLocations2.useLayoutEffect(_fun55500, [value4, guildBoostSlots, guild?.name]);
binding = analyticsLocations2;
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 _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 = AnalyticsUtils;
const track = defaultImport.track;
const MODAL_DISMISSED = AnalyticEvents.MODAL_DISMISSED;
const object = {};
const PREMIUM_GUILD_USER_MODAL = AnalyticsPages.PREMIUM_GUILD_USER_MODAL;
object.type = PREMIUM_GUILD_USER_MODAL;
object.location_stack = analyticsLocations;
object.guild_id = guildId;
const Date = global.Date;
object.duration_open_ms = Date.now() - env1_9;
Reflect.apply(track, defaultImport, [MODAL_DISMISSED, object]);
}
}
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__;
(Dispatcher).wait(_fun55504);
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__;
(SubscriptionPlanActionCreatorsModule).fetchPremiumSubscriptionPlans();
(BillingActionCreatorsModule).fetchPaymentSources();
}
}
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 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();
}
global.__d(_fun55495, 7009, [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]) /* metro module 7009, 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] */;
@@ -1,100 +1,127 @@
/* 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] */
import Native from '../../../../external/discord_common/js/packages/tokens/native.tsx'; /* Metro dependency 697 */
import ReanimatedRexport from '../../../reanimated/ReanimatedRexport.tsx'; /* Metro dependency 4017 */
import AccessibilityStore from '../../../a11y/AccessibilityStore.tsx'; /* Metro dependency 4502 */
import LinearGradient from '../../../../by-id/module-04589-LinearGradient.js'; /* Metro dependency 4589 */
import GuildIcon from '../../../guild/native/GuildIcon.tsx'; /* Metro dependency 6819 */
import GuildBoostingSubscribeButton from '../GuildBoostingSubscribeButton.tsx'; /* Metro dependency 7019 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as JsxRuntimeModule from '../../../../by-id/module-00033-JsxRuntime.js'; /* Metro dependency 33 */
import * as ConstantsModule from '../../../../Constants.tsx'; /* Metro dependency 661 */
import * as ReanimatedRexportModule from '../../../reanimated/ReanimatedRexport.tsx'; /* Metro dependency 4017 */
import * as TextModule from '../../../../design/components/Text/native/Text.tsx'; /* Metro dependency 4573 */
import * as GuildIconModule from '../../../guild/native/GuildIcon.tsx'; /* Metro dependency 6819 */
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 */;
ReactModule;
let value = JsxRuntimeModule;
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',
object = {wrapper: {'display': 'flex', 'alignItems': 'center', 'position': 'absolute', 'width': '100%', 'zIndex': 1,
'bottom': -76}};
const BACKGROUND_MOD_NORMAL = (Native).colors.BACKGROUND_MOD_NORMAL;
object.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,
object.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,
const BACKGROUND_SURFACE_HIGH = (Native).colors.BACKGROUND_SURFACE_HIGH;
object.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');
const MOBILE_TEXT_HEADING_PRIMARY = (Native).colors.MOBILE_TEXT_HEADING_PRIMARY;
object.guildIconText = {color: MOBILE_TEXT_HEADING_PRIMARY};
object.guildName = {'flexGrow': 1, 'flexShrink': 1, 'flexBasis': 'auto'};
object.buttonContainer = {height: 40};
object.button = {minWidth: 100};
object.border = {'padding': 2, 'borderRadius': 80};
const env0_9 = Reflect.apply(createStyles, value, [object]);
object = {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)};}'};
(FileImportTrackerModule).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
const styles = useStyles();
const useReducedMotion = (require(632) /* metro dependency 632: useStateFromStores */).useStateFromStores([AccessibilityStore],
function() {
return AccessibilityStore.useReducedMotion;
});
const useAnimatedStyle = ReanimatedRexportModule.useAnimatedStyle;
const GuildBoostingMarketingPersistentCta_2 = GuildBoostingMarketingPersistentCta_;
object = {useReducedMotion: useReducedMotion, VISIBILITY_OFFSET: 120};
object.withSpring = (require(4577) /* metro dependency 4577: spring */).withSpring;
object.isVisible = isVisible;
object.SPRING_CONFIG = env0_8;
GuildBoostingMarketingPersistentCta_2.__closure = object;
GuildBoostingMarketingPersistentCta_2.__workletHash = 14370895185277;
GuildBoostingMarketingPersistentCta_2.__initData = env0_10;
const value2 = Reflect.apply(useAnimatedStyle, ReanimatedRexportModule, [GuildBoostingMarketingPersistentCta_2]);
const View2 = (ReanimatedRexport).View;
const items3 = [styles.wrapper, value2];
const defaultImport = LinearGradient;
const GUILD_BOOSTING_BLUE = (Native).unsafe_rawColors.GUILD_BOOSTING_BLUE;
const items2 = [GUILD_BOOSTING_BLUE];
const GUILD_BOOSTING_PURPLE = (Native).unsafe_rawColors.GUILD_BOOSTING_PURPLE;
items2[1] = GUILD_BOOSTING_PURPLE;
const GuildIconSizes = (GuildIconModule).GuildIconSizes;
const LARGE = GuildIconSizes.LARGE;
const guildIcon = (
<GuildIcon
style={styles.guildIcon}
textStyle={styles.guildIconText}
guild={guild}
size={LARGE}
/>
);
const Text = (TextModule).Text;
const view = (
<View style={styles.guildInfoContainer}>
{guildIcon}
<Text
style={styles.guildName}
variant="text-md/bold"
lineClamp={1}
>
{guild.name}
</Text>
</View>
);
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 object = {};
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);
}
object.transform = [{translateY: r1}];
const springModule = require(4577) /* metro dependency 4577: spring */;
object.opacity = springModule.withSpring(isVisible ? 1 : 0, env1_8);
return object;
}
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;
}
global.__d(_fun55606, 7018, [31, 27, 4502, 661, 33, 4501, 697, 632, 4017, 4577, 4589, 6819, 4573, 7019,
2]) /* metro module 7018, dependencies: [31, 27, 4502, 661, 33, 4501, 697, 632, 4017, 4577, 4589, 6819, 4573, 7019, 2] */;
@@ -1,26 +1,39 @@
/* 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] */
import Module00057 from '../../../../by-id/module-00057.js'; /* Metro dependency 57 */
import Native from '../../../../external/discord_common/js/packages/tokens/native.tsx'; /* Metro dependency 697 */
import ReanimatedRexport from '../../../reanimated/ReanimatedRexport.tsx'; /* Metro dependency 4017 */
import UseTheme from '../../../../hooks/useTheme.tsx'; /* Metro dependency 4048 */
import AccessibilityStore from '../../../a11y/AccessibilityStore.tsx'; /* Metro dependency 4502 */
import LinearGradient from '../../../../by-id/module-04589-LinearGradient.js'; /* Metro dependency 4589 */
import GuildBoostingMarketingProgressBarMarker from './GuildBoostingMarketingProgressBarMarker.tsx'; /* Metro dependency 12316 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as JsxRuntimeModule from '../../../../by-id/module-00033-JsxRuntime.js'; /* Metro dependency 33 */
import * as ConstantsModule from '../../../../Constants.tsx'; /* Metro dependency 661 */
import * as ReanimatedRexportModule from '../../../reanimated/ReanimatedRexport.tsx'; /* Metro dependency 4017 */
import * as SpringModule from '../../../../design/animation/reanimated/spring/spring.tsx'; /* Metro dependency 4577 */
import * as GuildBoostingUtilsModule from '../../../../utils/GuildBoostingUtils.tsx'; /* Metro dependency 8249 */
import * as GuildBoostingMarketingProgressBarMarkerModule from './GuildBoostingMarketingProgressBarMarker.tsx'; /* Metro dependency 12316 */
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 BoostedGuildTiers = (ConstantsModule).BoostedGuildTiers;
let value = JsxRuntimeModule;
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;
const MARKER_DIMENSIONS = (GuildBoostingMarketingProgressBarMarkerModule).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;
const SPINE_DEFAULT = (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};
@@ -38,126 +51,133 @@ function _fun94012(global, require, importDefault, importAll, module, exports, d
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');
(FileImportTrackerModule).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}
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
const styles = useStyles();
const value2 = (UseTheme)();
const useReducedMotion = (require(632) /* metro dependency 632: useStateFromStores */).useStateFromStores([AccessibilityStore],
function() {
return AccessibilityStore.useReducedMotion;
});
const value3 = (ReanimatedRexportModule).useSharedValue(0);
let binding = ReactModule;
const useState = binding.useState;
const NONE = BoostedGuildTiers.NONE;
const value5 = Module00057(Reflect.apply(useState, binding, [NONE]), 2);
const property = value5[0];
const property2 = value5[1];
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 useAnimatedReaction = ReanimatedRexportModule.useAnimatedReaction;
closure = ProgressBarP;
closure.__closure = {width: value3};
closure.__workletHash = 5482324713221;
closure.__initData = env0_14;
const ProgressBarW2 = ProgressBarW;
object = {BoostedGuildTiers: BoostedGuildTiers, TIER_REACHED_OFFSET: 5, revealedTier: property};
object.runOnJS = ReanimatedRexportModule.runOnJS;
object.setRevealedTier = property2;
ProgressBarW2.__closure = object;
ProgressBarW2.__workletHash = 4844648302516;
ProgressBarW2.__initData = env0_15;
Reflect.apply(useAnimatedReaction, ReanimatedRexportModule, [closure, ProgressBarW2]);
const useMemo = binding.useMemo;
binding.useEffect(_fun94019, [Reflect.apply(useMemo, binding, [_fun94018, [guild]]).fillFactor, value3,
useReducedMotion]);
const View2 = (ReanimatedRexport).View;
const items2 = [styles.progressBarFill, value6];
const defaultImport = LinearGradient;
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>
</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 object = {};
object.width = '' + env0_2.get() + '%';
return object;
}
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 ProgressBarP() { // fn#94016, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12501:2043, owner: ProgressBar.p, offset: 0x010c549b, size: 18 bytes, params: 1, frame: 9
return env0_2.get();
}
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 !== Module00057) {
value = require(4017) /* metro dependency 4017: ReanimatedRexport */;
value.runOnJS(ReactModule)(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 (GuildBoostingUtilsModule).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 _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;
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);
}
}
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 guildBinding = guild;
return (
<GuildBoostingMarketingProgressBarMarker
guild={guildBinding}
tier={a0}
revealedTier={Module00057}
useReducedMotion={useReducedMotion}
isDisabled={guildBinding.premiumTier <= a0 && fillFactor > (require(12316) /* metro dependency 12316: GuildBoostingMarketingProgressBarMarker */).TierMarkerPositions[a0]}
key={a0}
/>
);
}
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);
}
global.__d(_fun94012, 12315, [57, 31, 27, 4502, 661, 33, 4501, 12316, 697, 4048, 632, 4017, 8249, 4577, 4589, 4002,
2]) /* metro module 12315, dependencies: [57, 31, 27, 4502, 661, 33, 4501, 12316, 697, 4048, 632, 4017, 8249, 4577, 4589, 4002, 2] */;
@@ -1,33 +1,40 @@
/* 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] */
import ReanimatedRexport from '../../../reanimated/ReanimatedRexport.tsx'; /* Metro dependency 4017 */
import UseTheme from '../../../../hooks/useTheme.tsx'; /* Metro dependency 4048 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as ConstantsModule from '../../../../Constants.tsx'; /* Metro dependency 661 */
import * as ReanimatedRexportModule from '../../../reanimated/ReanimatedRexport.tsx'; /* Metro dependency 4017 */
import * as TextModule from '../../../../design/components/Text/native/Text.tsx'; /* Metro dependency 4573 */
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 */;
let value = ReactNativeModule;
const env0_4 = value.View;
const env0_5 = value.Image;
const BoostedGuildTiers = (require(661) /* metro dependency 661: Constants */).BoostedGuildTiers;
const BoostedGuildTiers = (ConstantsModule).BoostedGuildTiers;
value = require(33) /* metro dependency 33 */;
const env0_7 = value.jsx;
const env0_8 = value.jsxs;
object3 = {};
object = {};
const NONE = BoostedGuildTiers.NONE;
object3[NONE] = 0;
object[NONE] = 0;
let TIER_1 = BoostedGuildTiers.TIER_1;
object3[TIER_1] = 0.3333333333333333;
object[TIER_1] = 0.3333333333333333;
let TIER_2 = BoostedGuildTiers.TIER_2;
object3[TIER_2] = 0.6666666666666666;
object[TIER_2] = 0.6666666666666666;
let TIER_3 = BoostedGuildTiers.TIER_3;
object3[TIER_3] = 1;
const object4 = {};
object[TIER_3] = 1;
const object2 = {};
TIER_1 = BoostedGuildTiers.TIER_1;
object4[TIER_1] = importDefault(12317) /* metro dependency 12317 */;
object2[TIER_1] = importDefault(12317) /* metro dependency 12317 */;
TIER_2 = BoostedGuildTiers.TIER_2;
object4[TIER_2] = importDefault(12318) /* metro dependency 12318 */;
object2[TIER_2] = importDefault(12318) /* metro dependency 12318 */;
TIER_3 = BoostedGuildTiers.TIER_3;
object4[TIER_3] = importDefault(12319) /* metro dependency 12319 */;
object2[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;
@@ -40,78 +47,102 @@ function _fun94023(global, require, importDefault, importAll, module, exports, d
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',
const object6 = {};
object6.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',
object6.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,
object6.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};
object6.progressBarMarkerLabelWithIcon = {transform: [{translateX: -7}]};
object6.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,
object6.progressBarMarkerUnlockedIcon = {'height': 12, 'width': 12, 'marginRight': 2,
tintColor: MOBILE_TEXT_HEADING_PRIMARY};
const env0_14 = Reflect.apply(createStyles, value, [object5]);
const env0_14 = Reflect.apply(createStyles, value, [object6]);
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');
(FileImportTrackerModule).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" />;
exports.TierMarkerPositions = object;
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 = (UseTheme)();
const value4 = (ReanimatedRexportModule).useSharedValue(1);
const r13 = isTierUnlocked && isTierAnimated;
const useEffect = ReactModule.useEffect;
let object = [r13, value4];
Reflect.apply(useEffect, ReactModule, [_fun94025, object]);
const useAnimatedStyle = ReanimatedRexportModule.useAnimatedStyle;
const ProgressBarMarkerInnerContentY2 = ProgressBarMarkerInnerContentY;
ProgressBarMarkerInnerContentY2.__closure = {scale: value4};
ProgressBarMarkerInnerContentY2.__workletHash = 7240908357686;
ProgressBarMarkerInnerContentY2.__initData = env0_13;
const value5 = Reflect.apply(useAnimatedStyle, ReanimatedRexportModule, [ProgressBarMarkerInnerContentY2]);
const NONE = BoostedGuildTiers.NONE;
if (tier === NONE) {
r6 = null;
} 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} />;
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;
}
r6 = r1;
}
if (isCurrentTier) {
if (r13) {
r0 = r6;
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;
@@ -132,64 +163,73 @@ function ProgressBarMarkerInnerContent({tier, isTierUnlocked, isTierAnimated, is
}
items3[2] = {backgroundColor: r11};
value = <View2 style={items3} />;
value = <View {...viewBindingProps}>{value}{r6}</View>;
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;
return r0;
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)]);
}
}
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;
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 object2 = {};
object2.scale = env0_0.get();
return {transform: [object2]};
}
}
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 = (UseTheme)();
const value3 = (ReanimatedRexportModule).useSharedValue(1);
const value4 = tier === guild.premiumTier;
const value5 = revealedTier >= tier;
const value6 = guild.premiumTier >= tier;
let r10 = value6 && value5;
ReactModule.useEffect(_fun94028, [r10, value3, value4]);
const useAnimatedStyle = ReanimatedRexportModule.useAnimatedStyle;
const ProgressBarMarkerP2 = ProgressBarMarkerP;
ProgressBarMarkerP2.__closure = {scale: value3};
ProgressBarMarkerP2.__workletHash = 6884434326805;
ProgressBarMarkerP2.__initData = env0_15;
const value7 = Reflect.apply(useAnimatedStyle, ReanimatedRexportModule, [ProgressBarMarkerP2]);
const items5 = [styles.progressBarMarker];
items5[1] = {left: 100 * env0_9[tier] + '%'};
const View2 = (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 */;
@@ -198,62 +238,62 @@ function ProgressBarMarker({guild, tier, revealedTier, useReducedMotion, isDisab
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>
);
}
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 = (TextModule).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 _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)]);
}
}
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 ProgressBarMarkerP() { // fn#94029, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12502:3116, owner: ProgressBarMarker.P, offset: 0x020cf915, size: 39 bytes, params: 1, frame: 11
const object2 = {};
object2.scale = env0_0.get();
return {transform: [object2]};
}
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)]);
}
}
global.__d(_fun94023, 12316, [31, 27, 661, 33, 12317, 12318, 12319, 4501, 697, 4048, 4017, 4577, 12320, 4000, 4002,
11365, 4573, 8249,
2]) /* metro module 12316, dependencies: [31, 27, 661, 33, 12317, 12318, 12319, 4501, 697, 4048, 4017, 4577, 12320, 4000, 4002, 11365, 4573, 8249, 2] */;
@@ -1,29 +1,63 @@
/* Metro module 12312; source: modules/guild_boosting/native/marketing_redesign/GuildBoostingMarketingStars.tsx; dependencies: [31, 33, 7744, 2] */
import Module07744 from '../../../../by-id/module-07744.js'; /* Metro dependency 7744 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactModule from '../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as JsxRuntimeModule from '../../../../by-id/module-00033-JsxRuntime.js'; /* Metro dependency 33 */
import * as Module07744Module from '../../../../by-id/module-07744.js'; /* Metro dependency 7744 */
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');
ReactModule;
(FileImportTrackerModule).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 = Module07744;
const defaultImportProps = {'viewBox': '0 0 336 129', 'fill': 'none', 'preserveAspectRatio': 'xMidYMid', ...a0};
const Path = (Module07744Module).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);
}
}
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);
}
global.__d(_fun94007, 12312, [31, 33, 7744, 2]) /* metro module 12312, dependencies: [31, 33, 7744, 2] */;
@@ -1,62 +1,83 @@
/* 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] */
import Module00057 from '../../../../by-id/module-00057.js'; /* Metro dependency 57 */
import ReanimatedRexport from '../../../reanimated/ReanimatedRexport.tsx'; /* Metro dependency 4017 */
import UseTheme from '../../../../hooks/useTheme.tsx'; /* Metro dependency 4048 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as JsxRuntimeModule from '../../../../by-id/module-00033-JsxRuntime.js'; /* Metro dependency 33 */
import * as ConstantsModule from '../../../../Constants.tsx'; /* Metro dependency 661 */
import * as IndexNativeModule from '../../../../intl/index.native.tsx'; /* Metro dependency 1244 */
import * as NativeModule from '../../../../design/void/native.tsx'; /* Metro dependency 1305 */
import * as PremiumConstantsModule from '../../../premium/PremiumConstants.tsx'; /* Metro dependency 1880 */
import * as SharedModule from '../../../../design/shared.tsx'; /* Metro dependency 4002 */
import * as ReanimatedRexportModule from '../../../reanimated/ReanimatedRexport.tsx'; /* Metro dependency 4017 */
import * as LinkIconModule from '../../../../design/components/Icon/native/redesign/generated/LinkIcon.tsx'; /* Metro dependency 4056 */
import * as CreateStylesModule from '../../../../design/components/Styles/native/createStyles.tsx'; /* Metro dependency 4501 */
import * as TimingModule from '../../../../design/animation/reanimated/timing/timing.tsx'; /* Metro dependency 4504 */
import * as TextModule from '../../../../design/components/Text/native/Text.tsx'; /* Metro dependency 4573 */
import * as PressablesModule from '../../../../design/void/Pressables/native/Pressables.tsx'; /* Metro dependency 5278 */
import * as DeprecatedLayoutAnimationModule from '../../../animations/native/DeprecatedLayoutAnimation.tsx'; /* Metro dependency 5465 */
import * as LegacyTokensModule from '../../../../design/migrations/native/LegacyTokens.tsx'; /* Metro dependency 6235 */
import * as StageIconModule from '../../../../design/components/Icon/native/redesign/generated/StageIcon.tsx'; /* Metro dependency 6707 */
import * as VoiceNormalIconModule from '../../../../design/components/Icon/native/redesign/generated/VoiceNormalIcon.tsx'; /* Metro dependency 6711 */
import * as UploadIconModule from '../../../../design/components/Icon/native/redesign/generated/UploadIcon.tsx'; /* Metro dependency 7948 */
import * as ReactionIconModule from '../../../../design/components/Icon/native/redesign/generated/ReactionIcon.tsx'; /* Metro dependency 7950 */
import * as GuildBoostingUtilsModule from '../../../../utils/GuildBoostingUtils.tsx'; /* Metro dependency 8249 */
import * as GifIconModule from '../../../../design/components/Icon/native/redesign/generated/GifIcon.tsx'; /* Metro dependency 9820 */
import * as StickerIconModule from '../../../../design/components/Icon/native/redesign/generated/StickerIcon.tsx'; /* Metro dependency 10976 */
import * as GuildBoostingMarketingProgressBarModule from './GuildBoostingMarketingProgressBar.tsx'; /* Metro dependency 12315 */
import * as ScreenArrowIconModule from '../../../../design/components/Icon/native/redesign/generated/ScreenArrowIcon.tsx'; /* Metro dependency 12323 */
import * as ServerGridIconModule from '../../../../design/components/Icon/native/redesign/generated/ServerGridIcon.tsx'; /* Metro dependency 12324 */
import * as MarketingCardsScrollerModule from './MarketingCardsScroller.tsx'; /* Metro dependency 12333 */
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 BoostedGuildTiers = ConstantsModule.BoostedGuildTiers;
object = {};
const TIER_1 = BoostedGuildTiers.TIER_1;
object2.tier = TIER_1;
const ReactionIcon = (require(7950) /* metro dependency 7950: ReactionIcon */).ReactionIcon;
object.tier = TIER_1;
const ReactionIcon = (ReactionIconModule).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;
const StickerIcon = (StickerIconModule).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;
const ScreenArrowIcon = (ScreenArrowIconModule).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;
const VoiceNormalIcon = (VoiceNormalIconModule).VoiceNormalIcon;
items3[3] = {'orderCollapsed': 2, 'isIncluded': true, IconComponent: VoiceNormalIcon, getCopy: getCopy_94045};
const StageIcon = (require(6707) /* metro dependency 6707: StageIcon */).StageIcon;
const StageIcon = (StageIconModule).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;
const GifIcon = (GifIconModule).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;
const ServerGridIcon = (ServerGridIconModule).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;
const UploadIcon = (UploadIconModule).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']);
@@ -64,12 +85,12 @@ function _fun94036(global, require, importDefault, importAll, module, exports, d
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;
const LinkIcon = (LinkIconModule).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];
object.features = items3;
const items2 = [object];
const TIER_2 = BoostedGuildTiers.TIER_2;
items2[1] = {tier: TIER_2, features: [{isIncluded: true, IconComponent: ReactionIcon, getCopy: function() {
var intl = require(dependencyMap[7]).intl;
@@ -130,397 +151,467 @@ function _fun94036(global, require, importDefault, importAll, module, exports, d
}}, {'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,
const createStyles = CreateStylesModule.createStyles;
object = {cardWrapper: {'marginRight': 10, 'width': 290}};
const object6 = {};
object6.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
object6.height = '100%';
object.card = object6;
object.cardContent = {'display': 'flex', 'padding': 24, 'height': '100%'};
const object7 = {'borderRadius': null, 'overflow': 'hidden', 'height': '100%'};
object7.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
object.pressableWrapper = object7;
object.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',
object.cardTierName = {marginRight: 10};
object.cardTierBoostcount = {opacity: 0.7};
object.cardFeatures = {'flexGrow': 1, 'flexShrink': 0};
object.cardFeaturesInvisible = {'position': 'absolute', 'top': 0, 'left': 0, 'height': '100%', 'width': '100%'};
object.cardFeaturesWrapper = {'alignSelf': 'stretch', 'flexGrow': 1, 'position': 'relative'};
object.cardFeature = {'alignItems': 'center', 'display': 'flex', 'flexDirection': 'row', 'marginBottom': 10};
object.cardFeatureExcluded = {opacity: 0.5};
object.cardFeatureExcludedCopy = {textDecorationLine: 'line-through'};
object.cardFeatureLast = {marginBottom: 0};
const PROGRESS_BAR_SPACING = (GuildBoostingMarketingProgressBarModule).PROGRESS_BAR_SPACING;
object.cardsScroller = {flex: 1, marginTop: PROGRESS_BAR_SPACING};
object.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',
object.cardFeatureIcon = {'height': 24, 'marginRight': 6, 'width': 24};
object.cardFooter = {'display': 'flex', 'flexDirection': 'row', 'marginTop': 24};
object.cardFooterIcon = {'flexGrow': 0, 'flexShrink': 0, 'height': 24, 'marginLeft': 8, 'width': 24};
const object8 = {'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');
object8.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
object.cardTierBadge = object8;
object.cardTierBadgeCopy = {textTransform: 'uppercase'};
const DARK_WHITE_500_LIGHT_GUILD_BOOSTING_PINK = (LegacyTokensModule).DARK_WHITE_500_LIGHT_GUILD_BOOSTING_PINK;
object.sparkleStar = {position: 'absolute', tintColor: DARK_WHITE_500_LIGHT_GUILD_BOOSTING_PINK};
object.sparkleStarPointed = {'height': 15, 'width': 18};
object.sparkleStarElongated = {'height': 45, 'width': 23};
object.sparkleStarPointed1 = {'top': -7, 'right': 35};
object.sparkleStarPointed2 = {'top': 20, 'right': 55};
object.sparkleStarPointed3 = {'bottom': -7, 'left': 70};
object.sparkleStarElongated1 = {'right': 15, 'top': 10};
object.gradientHighlight = {'position': 'absolute', 'height': 1, 'width': 60};
object.gradientHighlightTop = {'right': 15, 'top': 0};
object.gradientHighlightBottom = {'left': 48, 'bottom': 0};
const env0_13 = Reflect.apply(createStyles, CreateStylesModule, [object]);
object = {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 = ReactModule.forwardRef(_fun94075);
(FileImportTrackerModule).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"
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 useAnimatedStyle = ReanimatedRexportModule.useAnimatedStyle;
const TierFeaturesN2 = TierFeaturesN;
const object = {};
object.withDelay = ReanimatedRexportModule.withDelay;
object.isVisible = isVisible;
object.TIER_FEATURE_ANIMATION_DURATION_MS = 150;
object.withTiming = (require(4504) /* metro dependency 4504: timing */).withTiming;
const Easing = ReanimatedRexportModule.Easing;
object.Easing = Easing;
TierFeaturesN2.__closure = object;
TierFeaturesN2.__workletHash = 13329849944491;
TierFeaturesN2.__initData = env0_14;
const value3 = Reflect.apply(useAnimatedStyle, ReanimatedRexportModule, [TierFeaturesN2]);
const View = (ReanimatedRexport).View;
const value = !isVisible;
return (
<View
accessibilityElementsHidden={value}
importantForAccessibility={isVisible ? undefined : 'no-hide-descendants'}
style={[styles.cardFeatures, isVisible ? value : styles.cardFeaturesInvisible, value3]}
>
{a0.getCopy()}
</Text>
</View>
);
}
{features.map(_fun94039)}
</View>
);
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 withDelay = ReanimatedRexportModule.withDelay;
const isVisibleBinding = isVisible;
const value3 = 0;
const r2 = isVisibleBinding ? 150 : value3;
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 _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 _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 = (TextModule).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 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 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 _fun94041({tier}) { // fn#94041, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12508:11720, offset: 0x01be60c3, size: 22 bytes, params: 2, frame: 2
return tier === env0_0;
}
}
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 = (IndexNativeModule).intl;
const formatToPlainString = intl.formatToPlainString;
const t = (IndexNativeModule).t;
const vBfZzD = t.vBfZzD;
const intl2 = (IndexNativeModule).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 = (IndexNativeModule).intl;
const formatToPlainString = intl.formatToPlainString;
const t = (IndexNativeModule).t;
const aFRl53 = t.aFRl53;
const intl2 = (IndexNativeModule).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 = (IndexNativeModule).intl;
const formatToPlainString = intl.formatToPlainString;
const Jbg8oY = (IndexNativeModule).t.Jbg8oY;
const object = {};
object.resolution = (require(12326) /* metro dependency 12326: ServerBoostStreamQualityMarketingExperiment */).getServerBoostStreamQualityMarketingResolution('GuildBoostingMarketingTierCards');
return Reflect.apply(formatToPlainString, intl, [Jbg8oY, object]);
}
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 = (IndexNativeModule).intl;
const formatToPlainString = intl.formatToPlainString;
const t = (IndexNativeModule).t;
const vBfZzD = t.vBfZzD;
const intl2 = (IndexNativeModule).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_94060() { // fn#94060, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12508:3212, offset: 0x020d0ed7, size: 165 bytes, params: 1, frame: 20
const intl = (IndexNativeModule).intl;
const formatToPlainString = intl.formatToPlainString;
const t = (IndexNativeModule).t;
const aFRl53 = t.aFRl53;
const intl2 = (IndexNativeModule).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_94066() { // fn#94066, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12508:4127, offset: 0x020d10fe, size: 99 bytes, params: 1, frame: 17
const intl = (IndexNativeModule).intl;
const formatToPlainString = intl.formatToPlainString;
const Jbg8oY = (IndexNativeModule).t.Jbg8oY;
const object = {};
object.resolution = (require(12326) /* metro dependency 12326: ServerBoostStreamQualityMarketingExperiment */).getServerBoostStreamQualityMarketingResolution('GuildBoostingMarketingTierCards');
return Reflect.apply(formatToPlainString, intl, [Jbg8oY, object]);
}
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 = (IndexNativeModule).intl;
const formatToPlainString = intl.formatToPlainString;
const t = (IndexNativeModule).t;
const vBfZzD = t.vBfZzD;
const intl2 = (IndexNativeModule).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 = (IndexNativeModule).intl;
const formatToPlainString = intl.formatToPlainString;
const t = (IndexNativeModule).t;
const aFRl53 = t.aFRl53;
const intl2 = (IndexNativeModule).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 = (NativeModule).Icon;
var object5;
var sparkleStar;
var sparkleStarPointed;
var object7;
var object8;
var object9;
const styles = useStyles();
const value2 = (UseTheme)();
const value3 = env0_4.useMemo(_fun94076, [features]);
const value4 = guild.premiumTier === tier;
const value5 = tier === guild.premiumTier + 1;
const isThemeDark2 = (SharedModule).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 = (IndexNativeModule).intl;
let string = intl.string;
const t = (IndexNativeModule).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 = (PressablesModule).PressableHighlight;
const object10 = {expanded: isExpanded};
const Text = (TextModule).Text;
const items3 = [
<View style={styles.cardHeading}>
<Text
color="always-white"
style={styles.cardTierName}
variant="heading-xxl/extrabold"
>
{(GuildBoostingUtilsModule).getTierName(tier, {useLevels: false})}
</Text>
<Text
color="always-white"
style={styles.cardTierBoostcount}
variant="text-md/medium"
>
{intl.format((IndexNativeModule).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={object10} 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);
object5 = {source: importDefault(12331) /* metro dependency 12331 */};
sparkleStar = styles.sparkleStar;
sparkleStarPointed = styles.sparkleStarPointed;
object5.style = [sparkleStar, sparkleStarPointed, styles.sparkleStarPointed1];
items10[2] = <Icon {...object5} />;
object7 = {source: importDefault(12331) /* metro dependency 12331 */};
sparkleStar = styles.sparkleStar;
sparkleStarPointed = styles.sparkleStarPointed;
object7.style = [sparkleStar, sparkleStarPointed, styles.sparkleStarPointed2];
items10[3] = <Icon {...object7} />;
object8 = {source: importDefault(12331) /* metro dependency 12331 */};
sparkleStar = styles.sparkleStar;
sparkleStarPointed = styles.sparkleStarPointed;
object8.style = [sparkleStar, sparkleStarPointed, styles.sparkleStarPointed3];
items10[4] = <Icon {...object8} />;
object9 = {source: importDefault(12332) /* metro dependency 12332 */};
sparkleStar = styles.sparkleStar;
object9.style = [sparkleStar, styles.sparkleStarElongated, styles.sparkleStarElongated1];
items10[5] = <Icon {...object9} />;
r5 = (
<>
{items10}
</>
);
} else {
r5 = value17;
}
items6[2] = r5;
return (
<View style={styles.cardWrapper} ref={a1}>
{items6}
</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 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 = (MarketingCardsScrollerModule).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 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__;
(DeprecatedLayoutAnimationModule).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 _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);
}
}
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 _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);
}
global.__d(_fun94036, 12322, [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]) /* metro module 12322, 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] */;
@@ -1,40 +1,50 @@
/* 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] */
import AccessibilityStore from '../../../a11y/AccessibilityStore.tsx'; /* Metro dependency 4502 */
import LottieAnimationView from '../../../../components_native/common/LottieAnimationView.tsx'; /* Metro dependency 6760 */
import Module12340 from '../../../../by-id/module-12340.js'; /* Metro dependency 12340 */
import Module12342 from '../../../../by-id/module-12342.js'; /* Metro dependency 12342 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as IndexNativeModule from '../../../../intl/index.native.tsx'; /* Metro dependency 1244 */
import * as TextModule from '../../../../design/components/Text/native/Text.tsx'; /* Metro dependency 4573 */
import * as MarketingCardsScrollerModule from './MarketingCardsScroller.tsx'; /* Metro dependency 12333 */
import * as Module12341Module from '../../../../by-id/module-12341.js'; /* Metro dependency 12341 */
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 */;
ReactModule;
let value = ReactNativeModule;
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',
object = {};
object.wrapper = {marginTop: 50};
object.heading = {'marginBottom': 20, 'textAlign': 'center'};
object.scrollerContent = {'alignItems': 'stretch', 'flexDirection': 'row', 'justifyContent': 'center',
'minWidth': '100%', 'paddingHorizontal': 16, 'paddingBottom': 16};
const object5 = {'backgroundColor': null, 'borderColor': null, 'borderWidth': 1, 'borderRadius': null,
const object3 = {'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;
object3.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]);
object3.borderColor = BORDER_SUBTLE;
object3.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
object.card = object3;
const object4 = {'borderRadius': null, 'height': 128, 'marginBottom': 16, 'overflow': 'hidden', 'width': 211};
object4.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.xs;
object.cardGraphic = object4;
object.cardLast = {marginRight: 0};
object.cardHeading = {'marginBottom': 4, 'textAlign': 'center'};
object.cardBody = {textAlign: 'center'};
const env0_8 = Reflect.apply(createStyles, value, [object]);
const items2 = [{getHeadingCopy: function() {
return require(dependencyMap[6]).intl.string(require(dependencyMap[6]).t.y4ft4D);
}, getBodyCopy: function() {
@@ -50,62 +60,87 @@ function _fun94126(global, require, importDefault, importAll, module, exports, d
}, 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');
(FileImportTrackerModule).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={Module12340} />;
}
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 defaultImportProps = {source: Module12341Module};
const useReducedMotion = AccessibilityStore.useReducedMotion;
defaultImportProps.autoPlay = !useReducedMotion;
defaultImportProps.style = a0;
return <LottieAnimationView {...defaultImportProps} />;
}
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={Module12342} />;
}
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}
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 = (TextModule).Text;
const intl = (IndexNativeModule).intl;
const text = (
<Text
style={styles.heading}
variant="heading-xl/extrabold"
color="mobile-text-heading-primary"
>
{binding.map(_fun94137)}
</MarketingCardsScroller>
</View>
);
}
{intl.string((IndexNativeModule).t.aGdB3E)}
</Text>
);
const MarketingCardsScroller = (MarketingCardsScrollerModule).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 = (TextModule).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>
);
}
}
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>
);
}
global.__d(_fun94126, 12339, [31, 27, 4502, 33, 4501, 697, 1244, 12340, 6760, 12341, 12342, 4573, 12333,
2]) /* metro module 12339, dependencies: [31, 27, 4502, 33, 4501, 697, 1244, 12340, 6760, 12341, 12342, 4573, 12333, 2] */;
@@ -1,23 +1,31 @@
/* Metro module 12313; source: modules/guild_boosting/native/marketing_redesign/GuildBoostingMarketingWave.tsx; dependencies: [31, 33, 3860, 697, 7744, 2] */
import Native from '../../../../external/discord_common/js/packages/tokens/native.tsx'; /* Metro dependency 697 */
import Module07744 from '../../../../by-id/module-07744.js'; /* Metro dependency 7744 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactModule from '../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as JsxRuntimeModule from '../../../../by-id/module-00033-JsxRuntime.js'; /* Metro dependency 33 */
import * as UseTokenModule from '../../../../design/tokens/native/useToken.tsx'; /* Metro dependency 3860 */
import * as Module07744Module from '../../../../by-id/module-07744.js'; /* Metro dependency 7744 */
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');
ReactModule;
(FileImportTrackerModule).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 useToken = UseTokenModule.useToken;
const BACKGROUND_BASE_LOW = (Native).colors.BACKGROUND_BASE_LOW;
const r6 = Reflect.apply(useToken, UseTokenModule, [BACKGROUND_BASE_LOW]) ?? value2;
const defaultImport = Module07744;
const defaultImportProps = {'fill': 'none', 'viewBox': '0 0 1512 510', 'preserveAspectRatio': 'none', ...a0};
const Path = (Module07744Module).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);
}
}
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);
}
global.__d(_fun94009, 12313, [31, 33, 3860, 697, 7744,
2]) /* metro module 12313, dependencies: [31, 33, 3860, 697, 7744, 2] */;
@@ -1,4 +1,18 @@
/* 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] */
import Module00057 from '../../../../by-id/module-00057.js'; /* Metro dependency 57 */
import AccessibilityStore from '../../../a11y/AccessibilityStore.tsx'; /* Metro dependency 4502 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as JsxRuntimeModule from '../../../../by-id/module-00033-JsxRuntime.js'; /* Metro dependency 33 */
import * as PlatformUtilsModule from '../../../../external/discord_common/js/shared/utils/PlatformUtils.tsx'; /* Metro dependency 478 */
import * as IndexNativeModule from '../../../../intl/index.native.tsx'; /* Metro dependency 1244 */
import * as ColorUtilsModule from '../../../../utils/ColorUtils.tsx'; /* Metro dependency 4000 */
import * as CreateStylesModule from '../../../../design/components/Styles/native/createStyles.tsx'; /* Metro dependency 4501 */
import * as PressablesModule from '../../../../design/void/Pressables/native/Pressables.tsx'; /* Metro dependency 5278 */
import * as ChevronLargeLeftIconModule from '../../../../design/components/Icon/native/redesign/generated/ChevronLargeLeftIcon.tsx'; /* Metro dependency 11039 */
import * as ChevronLargeRightIconModule from '../../../../design/components/Icon/native/redesign/generated/ChevronLargeRightIcon.tsx'; /* Metro dependency 11835 */
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) {
@@ -8,201 +22,232 @@ function _fun94101(global, require, importDefault, importAll, module, exports, d
};
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,
let value = ReactModule;
const createStyles = CreateStylesModule.createStyles;
const object2 = {'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 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},
object2.backgroundColor = Reflect.apply(hexWithOpacity, ColorUtilsModule, [BLACK, 0.56]);
object2.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round;
object2.transform = [{translateY: -22}];
const env0_10 = Reflect.apply(createStyles, CreateStylesModule, [{wrapper: {position: 'relative'},
navigationButton: object2, 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');
(FileImportTrackerModule).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) {
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 onPress_941042 = onPress_94104;
const onPress_941052 = onPress_94105;
const onScrollEndDrag2 = 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_94116}
onMomentumScrollEnd={function(a0) {
onScrollEndDrag(a0);
if (onScrollingChange != null) {
onScrollingChange(false);
}
}}
onScrollBeginDrag={function() {
if (onScrollingChange != null) {
onScrollingChange(true);
}
}}
onScrollEndDrag={onScrollEndDrag2}
ref={value3}
snapToOffsets={value8}
>
{children}
</ScrollView>,
];
const PressableOpacity = (PressablesModule).PressableOpacity;
const intl = (IndexNativeModule).intl;
let string = intl.string;
const vgfxaA = (IndexNativeModule).t.vgfxaA;
const object3 = {};
const value12 = !value;
object3.disabled = value12;
const items3 = [styles.navigationButton];
items3[1] = styles.navigationButtonPrevious;
items3[2] = value ? value12 : styles.navigationButtonDisabled;
const ChevronLargeLeftIcon = (ChevronLargeLeftIconModule).ChevronLargeLeftIcon;
let WHITE = (importDefault(697) /* metro dependency 697: native */).colors.WHITE;
items2[1] = (
<PressableOpacity
accessibilityLabel={Reflect.apply(string, intl, [vgfxaA])}
accessibilityRole="button"
accessibilityState={object3}
disabled={value12}
onPress={onPress_941042}
style={items3}
>
<ChevronLargeLeftIcon color={WHITE} size="sm" />
</PressableOpacity>
);
string = intl.string;
const XiOHRX = (IndexNativeModule).t.XiOHRX;
const object4 = {};
value = !value7;
object4.disabled = value;
const items4 = [styles.navigationButton];
items4[1] = styles.navigationButtonNext;
items4[2] = value7 ? value : styles.navigationButtonDisabled;
const ChevronLargeRightIcon = (ChevronLargeRightIconModule).ChevronLargeRightIcon;
WHITE = (importDefault(697) /* metro dependency 697: native */).colors.WHITE;
items2[2] = (
<PressableOpacity
accessibilityLabel={Reflect.apply(string, intl, [XiOHRX])}
accessibilityRole="button"
accessibilityState={object4}
disabled={value}
onPress={onPress_941052}
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(ReactNativeModule.View - 1);
}
}
}
}
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 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(ReactNativeModule.View + 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));
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 _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;
}
}
function _fun94111() { // fn#94111, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12519:1177, offset: 0x01f55925, size: 21 bytes, params: 1, frame: 2
env0_9.current = useReducedMotion;
}
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 = (IndexNativeModule).intl;
const t = (IndexNativeModule).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_94116({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 _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;
}
global.__d(_fun94101, 12333, [57, 31, 27, 4502, 33, 4501, 4000, 697, 566, 1244, 478, 5278, 11039, 11835,
2]) /* metro module 12333, dependencies: [57, 31, 27, 4502, 33, 4501, 4000, 697, 566, 1244, 478, 5278, 11039, 11835, 2] */;