202 lines
14 KiB
TypeScript
202 lines
14 KiB
TypeScript
/* Metro module 9511; source: modules/quests/experiments/index.tsx; dependencies: [57, 31, 6528, 1854, 9502, 9503, 9512, 672, 2] */
|
|
function _fun74201(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#74201, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9697:6, offset: 0x01d84540, size: 2175 bytes, params: 8, frame: 47
|
|
var object2;
|
|
const env0_0 = require;
|
|
const Object = global.Object;
|
|
Object.defineProperty(exports, '__esModule', {value: true});
|
|
const env0_2 = importDefault(57) /* metro dependency 57 */;
|
|
const env0_3 = importAll(31) /* metro dependency 31 */;
|
|
const env0_4 = (require(6528) /* metro dependency 6528: QuestConstants */).QuestsExperimentLocations;
|
|
let value = require(1854) /* metro dependency 1854: apex */;
|
|
let createApexExperiment = value.createApexExperiment;
|
|
value = Reflect.apply(createApexExperiment, value, [{'name': '2025-11-video-end-card-v2', 'kind': 'user',
|
|
defaultConfig: {enabled: false}, variations: {[1]: {enabled: true}}}]);
|
|
const apexExperiment = (require(1854) /* metro dependency 1854: apex */).createApexExperiment({'name': '2026-02-new-video-quest-progress-bar-styling',
|
|
'kind': 'user', defaultConfig: {enabled: false}, variations: {[0]: {enabled: false}, [1]: {enabled: true}}});
|
|
const apexExperiment2 = (require(1854) /* metro dependency 1854: apex */).createApexExperiment({'name': '2026-03-desktop-activity-quest-header',
|
|
'kind': 'user', defaultConfig: {'enabled': false, 'showSkipButton': false}, variations: {[1]: {'enabled': true,
|
|
'showSkipButton': true}, [2]: {'enabled': true, 'showSkipButton': false}}});
|
|
const apexExperiment3 = (require(1854) /* metro dependency 1854: apex */).createApexExperiment({'name': '2026-05-app-store-overlay-feature-gate',
|
|
'kind': 'user', defaultConfig: {enabled: false}, variations: {[1]: {enabled: true}}});
|
|
const apexExperiment4 = (require(1854) /* metro dependency 1854: apex */).createApexExperiment({'name': '2026-03-quest-reload-video-on-obscured',
|
|
'kind': 'user', defaultConfig: {enabled: false}, variations: {[1]: {enabled: true}}});
|
|
object2 = {DEFAULT: 0};
|
|
object2[0] = 'DEFAULT';
|
|
object2.AUTO_ENABLE_CAPTIONS = 1;
|
|
object2[1] = 'AUTO_ENABLE_CAPTIONS';
|
|
object2.AUTO_UNMUTE = 2;
|
|
object2[2] = 'AUTO_UNMUTE';
|
|
const apexModule = require(1854) /* metro dependency 1854: apex */;
|
|
createApexExperiment = apexModule.createApexExperiment;
|
|
const object3 = {'name': '2026-03-muted-video-quest-new-defaults', 'kind': 'user'};
|
|
let DEFAULT = object2.DEFAULT;
|
|
object3.defaultConfig = {enabled: false, variant: DEFAULT};
|
|
DEFAULT = object2.DEFAULT;
|
|
const AUTO_ENABLE_CAPTIONS = object2.AUTO_ENABLE_CAPTIONS;
|
|
const AUTO_UNMUTE = object2.AUTO_UNMUTE;
|
|
object3.variations = {[0]: {enabled: false, variant: DEFAULT}, [1]: {enabled: true, variant: AUTO_ENABLE_CAPTIONS},
|
|
[2]: {enabled: true, variant: AUTO_UNMUTE}};
|
|
const apexExperiment5 = Reflect.apply(createApexExperiment, apexModule, [object3]);
|
|
const env0_5 = apexModule.createApexExperiment({'name': '2026-04-quests-premium-orb-multiplier-marketing',
|
|
'kind': 'user', defaultConfig: {enabled: false}, variations: {[0]: {enabled: false}, [1]: {enabled: true}}});
|
|
const apexExperiment6 = apexModule.createApexExperiment({'name': '2026-03-video-quest-player-refactor',
|
|
'kind': 'user', defaultConfig: {enabled: false}, variations: {[1]: {enabled: true}}});
|
|
const apexExperiment7 = apexModule.createApexExperiment({'name': '2026-04-composed-quest-player', 'kind': 'user',
|
|
defaultConfig: {enabled: false}, variations: {[1]: {enabled: true}}});
|
|
const object4 = {CONTROL: 0};
|
|
object4[0] = 'CONTROL';
|
|
object4.EARN_ORBS_PRIMARY = 1;
|
|
object4[1] = 'EARN_ORBS_PRIMARY';
|
|
object4.EARN_ORBS_ONLY = 2;
|
|
object4[2] = 'EARN_ORBS_ONLY';
|
|
const value10 = apexModule;
|
|
createApexExperiment = value10.createApexExperiment;
|
|
const object5 = {'name': '2026-04-mobile-quest-orb-reward-modal-cta-priority', 'kind': 'user'};
|
|
let CONTROL = object4.CONTROL;
|
|
object5.defaultConfig = {enabled: false, variant: CONTROL};
|
|
CONTROL = object4.CONTROL;
|
|
const EARN_ORBS_PRIMARY = object4.EARN_ORBS_PRIMARY;
|
|
const EARN_ORBS_ONLY = object4.EARN_ORBS_ONLY;
|
|
object5.variations = {[0]: {enabled: false, variant: CONTROL}, [1]: {enabled: true, variant: EARN_ORBS_PRIMARY},
|
|
[2]: {enabled: true, variant: EARN_ORBS_ONLY}};
|
|
const env0_6 = Reflect.apply(createApexExperiment, value10, [object5]);
|
|
const apexExperiment8 = apexModule.createApexExperiment({'name': '2026-03-mobile-quest-home-red-dot-notification',
|
|
'kind': 'user', defaultConfig: {enabled: false}, variations: {[0]: {enabled: false}, [1]: {enabled: true}}});
|
|
const apexExperiment9 = apexModule.createApexExperiment({'name': '2026-04-quest-heartbeat-executable-fingerprint',
|
|
'kind': 'user', defaultConfig: {enabled: false}, variations: {[0]: {enabled: false}, [1]: {enabled: true}}});
|
|
const object6 = {CONTROL: 0};
|
|
object6[0] = 'CONTROL';
|
|
object6.NEW_LAYOUT_NO_SEARCH = 1;
|
|
object6[1] = 'NEW_LAYOUT_NO_SEARCH';
|
|
object6.NEW_LAYOUT_WITH_SEARCH = 2;
|
|
object6[2] = 'NEW_LAYOUT_WITH_SEARCH';
|
|
const value13 = apexModule;
|
|
createApexExperiment = value13.createApexExperiment;
|
|
const object7 = {'name': '2026-05-quest-home-new-layout', 'kind': 'user'};
|
|
CONTROL = object6.CONTROL;
|
|
object7.defaultConfig = {enabled: false, variant: CONTROL};
|
|
CONTROL = object6.CONTROL;
|
|
const NEW_LAYOUT_NO_SEARCH = object6.NEW_LAYOUT_NO_SEARCH;
|
|
const NEW_LAYOUT_WITH_SEARCH = object6.NEW_LAYOUT_WITH_SEARCH;
|
|
object7.variations = {[0]: {enabled: false, variant: CONTROL}, [1]: {enabled: true, variant: NEW_LAYOUT_NO_SEARCH},
|
|
[2]: {enabled: true, variant: NEW_LAYOUT_WITH_SEARCH}};
|
|
const apexExperiment10 = Reflect.apply(createApexExperiment, value13, [object7]);
|
|
const apexExperiment11 = apexModule.createApexExperiment({'name': '2026-05-quest-home-tile-redesign',
|
|
'kind': 'user', defaultConfig: {'useNewLayoutWithSearch': false, 'useNewTile': false,
|
|
'useLargeFeaturedTiles': false, 'ctaOnHover': false}, variations: {[0]: {'useNewLayoutWithSearch': false,
|
|
'useNewTile': false, 'useLargeFeaturedTiles': false, 'ctaOnHover': false}, [1]: {'useNewLayoutWithSearch': true,
|
|
'useNewTile': false, 'useLargeFeaturedTiles': false, 'ctaOnHover': false}, [2]: {'useNewLayoutWithSearch': true,
|
|
'useNewTile': true, 'useLargeFeaturedTiles': true, 'ctaOnHover': true}, [3]: {'useNewLayoutWithSearch': true,
|
|
'useNewTile': true, 'useLargeFeaturedTiles': false, 'ctaOnHover': true}, [4]: {'useNewLayoutWithSearch': true,
|
|
'useNewTile': true, 'useLargeFeaturedTiles': true, 'ctaOnHover': false}}});
|
|
const apexExperiment12 = apexModule.createApexExperiment({'name': '2026-05-quest-home-remove-expired-quests',
|
|
'kind': 'user', defaultConfig: {enabled: false}, variations: {[0]: {enabled: false}, [1]: {enabled: true}}});
|
|
const apexExperiment13 = apexModule.createApexExperiment({'name': '2026-05-bounty-stale-refresh-quest-home',
|
|
'kind': 'user', defaultConfig: {enabled: false}, variations: {[0]: {enabled: false}, [1]: {enabled: true}}});
|
|
const env0_7 = apexModule.createApexExperiment({'name': '2026-06-remove-quest-home-hero', 'kind': 'user',
|
|
defaultConfig: {enabled: false}, variations: {[0]: {enabled: false}, [1]: {enabled: true}}});
|
|
let Date = global.Date;
|
|
let date = new Date('2026-06-20T10:00:00-07:00');
|
|
Date = global.Date;
|
|
date = new Date('2026-06-23T10:00:00-07:00');
|
|
const Millis = (importDefault(672) /* metro dependency 672: Durations */).Millis;
|
|
const MINUTE = Millis.MINUTE;
|
|
const env0_10 = 5 * MINUTE;
|
|
const object8 = {CONTROL: 0};
|
|
object8[0] = 'CONTROL';
|
|
object8.LARGE_MASK_MARGIN = 1;
|
|
object8[1] = 'LARGE_MASK_MARGIN';
|
|
object8.REMOVE_QUEST_TITLE_SUFFIX = 2;
|
|
object8[2] = 'REMOVE_QUEST_TITLE_SUFFIX';
|
|
object8.REPLACE_QUEST_NAME_WITH_GAME_PUBLISHER = 3;
|
|
object8[3] = 'REPLACE_QUEST_NAME_WITH_GAME_PUBLISHER';
|
|
const value22 = apexModule;
|
|
createApexExperiment = value22.createApexExperiment;
|
|
const object9 = {'name': '2026-06-quest-home-layout-visual-tweaks', 'kind': 'user'};
|
|
CONTROL = object8.CONTROL;
|
|
object9.defaultConfig = {enabled: false, variant: CONTROL};
|
|
CONTROL = object8.CONTROL;
|
|
const LARGE_MASK_MARGIN = object8.LARGE_MASK_MARGIN;
|
|
const REMOVE_QUEST_TITLE_SUFFIX = object8.REMOVE_QUEST_TITLE_SUFFIX;
|
|
const REPLACE_QUEST_NAME_WITH_GAME_PUBLISHER = object8.REPLACE_QUEST_NAME_WITH_GAME_PUBLISHER;
|
|
object9.variations = {[0]: {enabled: false, variant: CONTROL}, [1]: {enabled: true, variant: LARGE_MASK_MARGIN},
|
|
[2]: {enabled: true, variant: REMOVE_QUEST_TITLE_SUFFIX}, [3]: {enabled: true,
|
|
variant: REPLACE_QUEST_NAME_WITH_GAME_PUBLISHER}};
|
|
const apexExperiment14 = Reflect.apply(createApexExperiment, value22, [object9]);
|
|
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/quests/experiments/index.tsx');
|
|
exports.VideoEndCardV2Experiment = value;
|
|
exports.NewVideoQuestProgressBarStylingExperiment = apexExperiment;
|
|
exports.DesktopActivityQuestHeaderExperiment = apexExperiment2;
|
|
exports.AppStoreBottomSheetOverlayFeatureGate = apexExperiment3;
|
|
exports.QuestReloadVideoOnObscuredExperiment = apexExperiment4;
|
|
exports.MutedVideoQuestNewDefaultsVariant = object2;
|
|
exports.MutedVideoQuestNewDefaultsExperiment = apexExperiment5;
|
|
exports.useQuestOrbsMultiplierMarketing = useQuestOrbsMultiplierMarketing;
|
|
exports.VideoQuestPlayerRefactorExperiment = apexExperiment6;
|
|
exports.ComposedQuestPlayerExperiment = apexExperiment7;
|
|
exports.MobileQuestOrbRewardModalCtaPriorityVariant = object4;
|
|
exports.useMobileQuestOrbRewardModalCtaPriorityExperiment = useMobileQuestOrbRewardModalCtaPriorityExperiment;
|
|
exports.MobileQuestHomeRedDotNotificationExperiment = apexExperiment8;
|
|
exports.QuestHeartbeatExecutableFingerprintExperiment = apexExperiment9;
|
|
exports.QuestHomeNewLayoutVariant = object6;
|
|
exports.QuestHomeNewLayout = apexExperiment10;
|
|
exports.QuestHomeTileRedesignExperiment = apexExperiment11;
|
|
exports.QuestHomeRemoveExpiredQuestsExperiment = apexExperiment12;
|
|
exports.BountyStaleRefreshQuestHomeExperiment = apexExperiment13;
|
|
exports.useShouldRemoveQuestHomeHero = useShouldRemoveQuestHomeHero;
|
|
exports.QuestHomeLayoutVisualTweakVariant = object8;
|
|
exports.QuestHomeLayoutVisualTweaksExperiment = apexExperiment14;
|
|
}
|
|
|
|
function useQuestOrbsMultiplierMarketing(a0) { // fn#74202, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9697:5179, offset: 0x01d84dbf, size: 189 bytes, params: 2, frame: 17
|
|
var object2;
|
|
const binding = env0_5;
|
|
const useConfig = binding.useConfig;
|
|
const enabled = Reflect.apply(useConfig, binding, [{location: a0}]).enabled;
|
|
const value2 = (require(9502) /* metro dependency 9502: QuestOrbMultiplierHooks */).useQuestOrbMultiplierEligibility();
|
|
object2 = {};
|
|
const QuestOrbMultiplierEligibilityType = (require(9503) /* metro dependency 9503: QuestOrbMultiplierUtils */).QuestOrbMultiplierEligibilityType;
|
|
const INELIGIBLE = QuestOrbMultiplierEligibilityType.INELIGIBLE;
|
|
object2.shouldShowBonusOrbsUX = value2 !== INELIGIBLE && value2 !== QuestOrbMultiplierEligibilityType.CREPE && enabled;
|
|
const QuestOrbsMultiplier = (require(9512) /* metro dependency 9512: QuestOrbsMultiplier */).QuestOrbsMultiplier;
|
|
const PREMIUM_TIER_2_MULTIPLIER_PERCENTAGE_POINTS = QuestOrbsMultiplier.PREMIUM_TIER_2_MULTIPLIER_PERCENTAGE_POINTS;
|
|
object2.multiplier = PREMIUM_TIER_2_MULTIPLIER_PERCENTAGE_POINTS / 100;
|
|
return object2;
|
|
}
|
|
|
|
function useMobileQuestOrbRewardModalCtaPriorityExperiment() { // fn#74203, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9697:5712, offset: 0x01d84e7c, size: 36 bytes, params: 1, frame: 12
|
|
const binding = env0_6;
|
|
const useConfig = binding.useConfig;
|
|
const ORBS_REWARD_MODAL = QuestsExperimentLocations.ORBS_REWARD_MODAL;
|
|
return Reflect.apply(useConfig, binding, [{location: ORBS_REWARD_MODAL}]);
|
|
}
|
|
|
|
function useShouldRemoveQuestHomeHero() { // fn#74204, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9697:6128, offset: 0x01d84ea0, size: 154 bytes, params: 1, frame: 16
|
|
let binding = env0_3;
|
|
const [property, env0_0] = env0_2(binding.useState(function() {
|
|
var Date = global.Date;
|
|
var value = Object.create(Date.prototype, {constructor: {value: Date}});
|
|
var value2 = new Date();
|
|
return value2 instanceof Object ? value2 : value;
|
|
}), 2);
|
|
binding.useEffect(_fun74206, []);
|
|
const r2 = property >= env0_8 && property < env0_9;
|
|
binding = env0_7;
|
|
const useConfig = binding.useConfig;
|
|
return r2 ? Reflect.apply(useConfig, binding,
|
|
[{location: r2 ? 'remove-quest-home-hero-eligible' : 'remove-quest-home-hero-ineligible'}]).enabled : !!r2;
|
|
}
|
|
|
|
function _fun74206() { // fn#74206, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9697:6237, offset: 0x01d84f58, size: 45 bytes, params: 1, frame: 14
|
|
const env0_0 = global.setInterval(_fun74207, env1_10);
|
|
return _fun74208;
|
|
}
|
|
|
|
function _fun74207() { // fn#74207, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9697:6261, offset: 0x01d84f85, size: 44 bytes, params: 1, frame: 11
|
|
const value = environment.__proto__;
|
|
const binding = env1_0;
|
|
const Date = global.Date;
|
|
return binding(new Date());
|
|
}
|
|
|