Files
discord-decomp/sources/modules/quests/native/QuestDock/QuestDockUnenrolledBody.tsx
T
2026-07-27 16:20:00 +03:00

180 lines
12 KiB
TypeScript

/* Metro module 13662; source: modules/quests/native/QuestDock/QuestDockUnenrolledBody.tsx; dependencies: [5, 31, 27, 7093, 13570, 6528, 13572, 33, 4501, 697, 13650, 632, 13568, 9483, 1585, 5176, 9502, 9503, 13576, 9484, 7120, 6531, 13595, 9950, 13634, 13631, 9542, 13635, 4573, 1244, 1305, 9480, 2] */
function _fun104330(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#104330, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13859:6, offset: 0x02292031, size: 642 bytes, params: 8, frame: 23
var object2;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(5) /* metro dependency 5 */;
let value = importAll(31) /* metro dependency 31 */;
const env0_5 = (require(27) /* metro dependency 27 */).View;
const questStore = importDefault(7093) /* metro dependency 7093: QuestStore */;
const questDockStore = importDefault(13570) /* metro dependency 13570: QuestDockStore */;
const questConstantsModule = require(6528) /* metro dependency 6528: QuestConstants */;
const env0_8 = questConstantsModule.QuestDockMode;
const env0_9 = questConstantsModule.QuestsExperimentLocations;
const {QUEST_DOCK_EXPANDED_PADDING_BOTTOM,
QUEST_DOCK_EXPANDED_PADDING_HORIZONTAL} = require(13572) /* metro dependency 13572: QuestDockConstants */;
const value4 = require(33) /* metro dependency 33 */;
const env0_11 = value4.jsx;
const env0_12 = value4.jsxs;
const createStylesModule = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = createStylesModule.createStyles;
object2 = {};
object2.wrapper = {'flexGrow': 1, 'flexShrink': 0, 'justifyContent': 'flex-end',
paddingHorizontal: QUEST_DOCK_EXPANDED_PADDING_HORIZONTAL, paddingBottom: QUEST_DOCK_EXPANDED_PADDING_BOTTOM};
const QUEST_DOCK_BORDER_RADIUS = (importDefault(697) /* metro dependency 697: native */).modules.mobile.QUEST_DOCK_BORDER_RADIUS;
object2.rewardContentWrapper = {'borderRadius': null, 'overflow': 'hidden', 'padding': 8, 'paddingRight': 16,
borderRadius: QUEST_DOCK_BORDER_RADIUS};
object2.rewardContent = {'alignItems': 'center', 'flexDirection': 'row', 'gap': 16};
object2.rewardContentCopy = {'flexGrow': 1, 'flexShrink': 1, 'gap': 4};
object2.premiumRewardPerkPill = {alignSelf: 'flex-start'};
const PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object2.titleRow = {'flexDirection': 'row', 'alignItems': 'center', 'gap': null, 'flexWrap': 'wrap', gap: PX_8};
const object3 = {};
object3.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
object2.questDockRewardTile = object3;
object2.questDockCtaWrapper = {'marginTop': 12, 'paddingHorizontal': 4, 'paddingTop': 16, 'position': 'relative'};
const object4 = {};
object4.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round;
object2.questDockCta = object4;
object2.questDockCtaRow = {alignSelf: 'stretch'};
const BORDER_SUBTLE = (importDefault(697) /* metro dependency 697: native */).colors.BORDER_SUBTLE;
object2.questDockCtaSaparator = {'position': 'absolute', 'left': -12, 'right': -12, 'top': 0,
'backgroundColor': null, 'height': 1, 'opacity': 1, backgroundColor: BORDER_SUBTLE};
const env0_13 = Reflect.apply(createStyles, createStylesModule, [object2]);
value = value.memo(QuestDockUnenrolledBody);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/quests/native/QuestDock/QuestDockUnenrolledBody.tsx');
exports.default = value;
}
function QuestDockUnenrolledBody() { // fn#104331, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13859:1202, offset: 0x022922b3, size: 1382 bytes, params: 1, frame: 44
var object2;
let binding = env0_4;
let useContext = binding.useContext;
const {isRendered, quest} = Reflect.apply(useContext, binding,
[importDefault(13650) /* metro dependency 13650: QuestDockContext */]);
const styles = useStyles();
const value3 = (require(632) /* metro dependency 632: useStateFromStores */).useStateFromStores([QuestDockStore],
function() {
return QuestDockStore.prevRestingQuestDockMode === QuestDockMode.EXPANDED;
});
const value4 = (require(632) /* metro dependency 632: useStateFromStores */).useStateFromStores([QuestStore],
function() {
return QuestStore.isEnrolling(quest.id);
});
const value5 = (require(13568) /* metro dependency 13568: QuestHooksNative */).useHasWatchVideoOnMobileTasks(quest.config);
const value6 = (require(9483) /* metro dependency 9483: QuestHooks */).useQuestTaskDetails(quest);
const {isMobileActivityQuest, questApplication,
launchMobileActivity} = (require(13568) /* metro dependency 13568: QuestHooksNative */).useMobileActivityQuest(quest);
const env0_3 = launchMobileActivity;
const bottom = (importDefault(1585) /* metro dependency 1585: useSafeAreaInsetsNative */)().bottom;
const value8 = (require(5176) /* metro dependency 5176: YouBarExperiment */).useYouBarEnabled('QuestDockUnenrolledBody');
const value9 = (require(9502) /* metro dependency 9502: QuestOrbMultiplierHooks */).useQuestOrbMultiplierEligibility();
const value10 = (require(9483) /* metro dependency 9483: QuestHooks */).useShouldShowBonusOrbsUX(quest, value9);
const r6 = value10 && value9 === (require(9503) /* metro dependency 9503: QuestOrbMultiplierUtils */).QuestOrbMultiplierEligibilityType.NITRO;
binding = env0_4;
useContext = binding.useContext;
const QuestDockExternalCoordinationContext = (require(13576) /* metro dependency 13576: QuestDockExternalCoordinationContext */).QuestDockExternalCoordinationContext;
const value13 = binding.useCallback(env0_3(_fun104335), [quest.id, value5, Reflect.apply(useContext, binding,
[QuestDockExternalCoordinationContext]).setRestingQuestDockMode, isMobileActivityQuest, launchMobileActivity]);
const value14 = (require(9950) /* metro dependency 9950: QuestCopyHooks */).usePrimaryCtaCopy({quest: quest,
application: questApplication, shortText: true});
const questCopyHooksModule = require(9950) /* metro dependency 9950: QuestCopyHooks */;
const useQuestsInstructionsToWinReward = questCopyHooksModule.useQuestsInstructionsToWinReward;
object2 = {quest: quest};
const QUESTS_BAR_MOBILE = QuestsExperimentLocations.QUESTS_BAR_MOBILE;
object2.location = QUESTS_BAR_MOBILE;
object2.taskDetails = value6;
const QuestContent = (require(6531) /* metro dependency 6531: QuestTypes */).QuestContent;
const QUEST_BAR_MOBILE = QuestContent.QUEST_BAR_MOBILE;
object2.sourceQuestContent = QUEST_BAR_MOBILE;
const value15 = Reflect.apply(useQuestsInstructionsToWinReward, questCopyHooksModule, [object2]);
const PremiumRewardGradient = importDefault(13634) /* metro dependency 13634: PremiumRewardGradient */;
const premiumRewardGradientProps = {visible: r6, glow: true, style: [styles.wrapper,
value8 ? {paddingBottom: global.Math.max(bottom, QUEST_DOCK_EXPANDED_PADDING_BOTTOM)} : null]};
const value17 = ((Component) => <Component />)(importDefault(13631) /* metro dependency 13631: QuestDockBlurredContentBackground */);
const QuestRewardTile = importDefault(9542) /* metro dependency 9542: QuestRewardTile */;
const value18 = !value3;
const questRewardTile = <QuestRewardTile paused={value3 ? !isRendered : value18} height={80} width={80} quest={quest} style={styles.questDockRewardTile} withAnimation={value3 && isRendered} />;
const items4 = [value10 && <View style={styles.premiumRewardPerkPill}>{((QuestOrbMultiplierPerkPill) => <QuestOrbMultiplierPerkPill questId={quest.config.id} orbMultiplierEligibility={value9} />)((require(13635) /* metro dependency 13635: QuestOrbMultiplierPerkPill */).QuestOrbMultiplierPerkPill)}</View>];
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const format = intl.format;
const EQa7os = (require(1244) /* metro dependency 1244: indexNative */).t.EQa7os;
items4[1] = <View style={styles.titleRow}><Text variant="heading-md/medium" color="mobile-text-heading-primary">{Reflect.apply(format,
intl, [EQa7os, {questName: quest.config.messages.questName}])}</Text></View>;
items4[2] = <Text color="text-default" variant="text-sm/normal">{value15}</Text>;
const view2 = <View style={styles.rewardContentWrapper}>{value17}<View style={styles.rewardContent}>{questRewardTile}<View style={styles.rewardContentCopy}>{items4}</View></View></View>;
const view = <View style={styles.questDockCtaSaparator} />;
const ShinyButton = (require(1305) /* metro dependency 1305: native */).ShinyButton;
return (
<PremiumRewardGradient {...premiumRewardGradientProps}>
{view2}
<View style={styles.questDockCtaWrapper}>
{view}
<View style={styles.questDockCtaRow}>
<ShinyButton
style={styles.questDockCta}
onPress={value13}
loading={value4}
renderIcon={renderIcon}
text={value14}
shineDisabled={value18}
/>
</View>
</View>
</PremiumRewardGradient>
);
}
function* _fun104335() { // fn#104335, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13859:1958, offset: 0x02292861, size: 316 bytes, params: 1, frame: 21
var binding3;
var value7;
if (true) {
value = environment.__proto__.__proto__;
var binding = env2_0;
var binding2 = env2_2;
var value3 = binding(binding2[19]);
var enrollInQuest = value3.enrollInQuest;
var id = require.id;
var object2 = {};
var QuestContentCTA = binding(binding2[20]).QuestContentCTA;
var ACCEPT_QUEST = QuestContentCTA.ACCEPT_QUEST;
object2.questContentCTA = ACCEPT_QUEST;
var QuestContent = binding(binding2[21]).QuestContent;
var QUEST_BAR_MOBILE = QuestContent.QUEST_BAR_MOBILE;
object2.questContent = QUEST_BAR_MOBILE;
QuestContent = binding(binding2[21]).QuestContent;
QUEST_BAR_MOBILE = QuestContent.QUEST_BAR_MOBILE;
object2.sourceQuestContent = QUEST_BAR_MOBILE;
yield Reflect.apply(enrollInQuest, value3, [id, object2]);
if (false) {
return undefined;
}
if (dependencyMap) {
yield env1_3();
if (false) {
return undefined;
}
env1_4(env2_8.COLLAPSED);
} else if (importDefault) {
binding = env2_1;
binding3 = env2_2;
value7 = binding(binding3[22]);
object2 = {};
object2.questId = require.id;
binding = env2_0;
object2.sourceQuestContent = binding(binding3[21]).QuestContent.QUEST_BAR_MOBILE;
value7(object2);
binding = env1_4;
binding(env2_8.COLLAPSED);
}
}
}
function QuestDockUnenrolledBodyRenderIcon() { // fn#104336, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13859:3507, owner: QuestDockUnenrolledBody.renderIcon, offset: 0x0229299d, size: 48 bytes, params: 1, frame: 13
const value = environment.__proto__;
return (require(9480) /* metro dependency 9480: QuestUtilsNative */).getPrimaryCtaIcon(quest, true);
}