Files
discord-decomp/sources/modules/quests/experiments/index.tsx
T
2026-07-28 01:06:53 +03:00

209 lines
14 KiB
TypeScript

/* Metro module 9511; source: modules/quests/experiments/index.tsx; dependencies: [57, 31, 6528, 1854, 9502, 9503, 9512, 672, 2] */
import Module00057 from '../../../by-id/module-00057.js'; /* Metro dependency 57 */
import Durations from '../../../utils/Durations.tsx'; /* Metro dependency 672 */
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 ApexModule from '../../experiments/apex/index.tsx'; /* Metro dependency 1854 */
import * as QuestConstantsModule from '../QuestConstants.tsx'; /* Metro dependency 6528 */
import * as QuestOrbMultiplierHooksModule from '../hooks/QuestOrbMultiplierHooks.tsx'; /* Metro dependency 9502 */
import * as QuestOrbMultiplierUtilsModule from '../utils/QuestOrbMultiplierUtils.tsx'; /* Metro dependency 9503 */
import * as QuestOrbsMultiplierModule from '../../../external/discord_common/js/shared/shared-constants/QuestOrbsMultiplier.tsx'; /* Metro dependency 9512 */
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
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = ApexModule;
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 = (ApexModule).createApexExperiment({'name': '2026-02-new-video-quest-progress-bar-styling',
'kind': 'user', defaultConfig: {enabled: false}, variations: {[0]: {enabled: false}, [1]: {enabled: true}}});
const apexExperiment2 = (ApexModule).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 = (ApexModule).createApexExperiment({'name': '2026-05-app-store-overlay-feature-gate',
'kind': 'user', defaultConfig: {enabled: false}, variations: {[1]: {enabled: true}}});
const apexExperiment4 = (ApexModule).createApexExperiment({'name': '2026-03-quest-reload-video-on-obscured',
'kind': 'user', defaultConfig: {enabled: false}, variations: {[1]: {enabled: true}}});
object = {DEFAULT: 0};
object[0] = 'DEFAULT';
object.AUTO_ENABLE_CAPTIONS = 1;
object[1] = 'AUTO_ENABLE_CAPTIONS';
object.AUTO_UNMUTE = 2;
object[2] = 'AUTO_UNMUTE';
createApexExperiment = ApexModule.createApexExperiment;
const object10 = {'name': '2026-03-muted-video-quest-new-defaults', 'kind': 'user'};
let DEFAULT = object.DEFAULT;
object10.defaultConfig = {enabled: false, variant: DEFAULT};
DEFAULT = object.DEFAULT;
const AUTO_ENABLE_CAPTIONS = object.AUTO_ENABLE_CAPTIONS;
const AUTO_UNMUTE = object.AUTO_UNMUTE;
object10.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, [object10]);
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 object11 = {CONTROL: 0};
object11[0] = 'CONTROL';
object11.EARN_ORBS_PRIMARY = 1;
object11[1] = 'EARN_ORBS_PRIMARY';
object11.EARN_ORBS_ONLY = 2;
object11[2] = 'EARN_ORBS_ONLY';
createApexExperiment = ApexModule.createApexExperiment;
const object12 = {'name': '2026-04-mobile-quest-orb-reward-modal-cta-priority', 'kind': 'user'};
let CONTROL = object11.CONTROL;
object12.defaultConfig = {enabled: false, variant: CONTROL};
CONTROL = object11.CONTROL;
const EARN_ORBS_PRIMARY = object11.EARN_ORBS_PRIMARY;
const EARN_ORBS_ONLY = object11.EARN_ORBS_ONLY;
object12.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, ApexModule, [object12]);
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 object13 = {CONTROL: 0};
object13[0] = 'CONTROL';
object13.NEW_LAYOUT_NO_SEARCH = 1;
object13[1] = 'NEW_LAYOUT_NO_SEARCH';
object13.NEW_LAYOUT_WITH_SEARCH = 2;
object13[2] = 'NEW_LAYOUT_WITH_SEARCH';
createApexExperiment = ApexModule.createApexExperiment;
const object14 = {'name': '2026-05-quest-home-new-layout', 'kind': 'user'};
CONTROL = object13.CONTROL;
object14.defaultConfig = {enabled: false, variant: CONTROL};
CONTROL = object13.CONTROL;
const NEW_LAYOUT_NO_SEARCH = object13.NEW_LAYOUT_NO_SEARCH;
const NEW_LAYOUT_WITH_SEARCH = object13.NEW_LAYOUT_WITH_SEARCH;
object14.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, ApexModule, [object14]);
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 = (Durations).Millis;
const MINUTE = Millis.MINUTE;
const env0_10 = 5 * MINUTE;
const object15 = {CONTROL: 0};
object15[0] = 'CONTROL';
object15.LARGE_MASK_MARGIN = 1;
object15[1] = 'LARGE_MASK_MARGIN';
object15.REMOVE_QUEST_TITLE_SUFFIX = 2;
object15[2] = 'REMOVE_QUEST_TITLE_SUFFIX';
object15.REPLACE_QUEST_NAME_WITH_GAME_PUBLISHER = 3;
object15[3] = 'REPLACE_QUEST_NAME_WITH_GAME_PUBLISHER';
createApexExperiment = ApexModule.createApexExperiment;
const object16 = {'name': '2026-06-quest-home-layout-visual-tweaks', 'kind': 'user'};
CONTROL = object15.CONTROL;
object16.defaultConfig = {enabled: false, variant: CONTROL};
CONTROL = object15.CONTROL;
const LARGE_MASK_MARGIN = object15.LARGE_MASK_MARGIN;
const REMOVE_QUEST_TITLE_SUFFIX = object15.REMOVE_QUEST_TITLE_SUFFIX;
const REPLACE_QUEST_NAME_WITH_GAME_PUBLISHER = object15.REPLACE_QUEST_NAME_WITH_GAME_PUBLISHER;
object16.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, ApexModule, [object16]);
(FileImportTrackerModule).fileFinishedImporting('modules/quests/experiments/index.tsx');
exports.VideoEndCardV2Experiment = value;
exports.NewVideoQuestProgressBarStylingExperiment = apexExperiment;
exports.DesktopActivityQuestHeaderExperiment = apexExperiment2;
exports.AppStoreBottomSheetOverlayFeatureGate = apexExperiment3;
exports.QuestReloadVideoOnObscuredExperiment = apexExperiment4;
exports.MutedVideoQuestNewDefaultsVariant = object;
exports.MutedVideoQuestNewDefaultsExperiment = apexExperiment5;
exports.useQuestOrbsMultiplierMarketing = useQuestOrbsMultiplierMarketing;
exports.VideoQuestPlayerRefactorExperiment = apexExperiment6;
exports.ComposedQuestPlayerExperiment = apexExperiment7;
exports.MobileQuestOrbRewardModalCtaPriorityVariant = object11;
exports.useMobileQuestOrbRewardModalCtaPriorityExperiment = useMobileQuestOrbRewardModalCtaPriorityExperiment;
exports.MobileQuestHomeRedDotNotificationExperiment = apexExperiment8;
exports.QuestHeartbeatExecutableFingerprintExperiment = apexExperiment9;
exports.QuestHomeNewLayoutVariant = object13;
exports.QuestHomeNewLayout = apexExperiment10;
exports.QuestHomeTileRedesignExperiment = apexExperiment11;
exports.QuestHomeRemoveExpiredQuestsExperiment = apexExperiment12;
exports.BountyStaleRefreshQuestHomeExperiment = apexExperiment13;
exports.useShouldRemoveQuestHomeHero = useShouldRemoveQuestHomeHero;
exports.QuestHomeLayoutVisualTweakVariant = object15;
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
const binding = env0_5;
const useConfig = binding.useConfig;
const enabled = Reflect.apply(useConfig, binding, [{location: a0}]).enabled;
const value2 = (QuestOrbMultiplierHooksModule).useQuestOrbMultiplierEligibility();
object = {};
const QuestOrbMultiplierEligibilityType = (QuestOrbMultiplierUtilsModule).QuestOrbMultiplierEligibilityType;
const INELIGIBLE = QuestOrbMultiplierEligibilityType.INELIGIBLE;
object.shouldShowBonusOrbsUX = value2 !== INELIGIBLE && value2 !== QuestOrbMultiplierEligibilityType.CREPE && enabled;
const QuestOrbsMultiplier = (QuestOrbsMultiplierModule).QuestOrbsMultiplier;
const PREMIUM_TIER_2_MULTIPLIER_PERCENTAGE_POINTS = QuestOrbsMultiplier.PREMIUM_TIER_2_MULTIPLIER_PERCENTAGE_POINTS;
object.multiplier = PREMIUM_TIER_2_MULTIPLIER_PERCENTAGE_POINTS / 100;
return object;
}
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 = ReactModule;
const [property, env0_0] = Module00057(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());
}
function _fun74208() { // fn#74208, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9697:6287, offset: 0x013378b1, size: 24 bytes, params: 1, frame: 11
return global.clearInterval(env0_0);
}
}
}
}
global.__d(_fun74201, 9511, [57, 31, 6528, 1854, 9502, 9503, 9512, 672,
2]) /* metro module 9511, dependencies: [57, 31, 6528, 1854, 9502, 9503, 9512, 672, 2] */;