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

329 lines
20 KiB
TypeScript

/* Metro module 15387; source: modules/quests/native/QuestProgressBottomSheet.tsx; dependencies: [5, 31, 27, 7093, 6528, 8044, 33, 4501, 697, 566, 10183, 6531, 8341, 8639, 1244, 8750, 6777, 7116, 10718, 9483, 9950, 13593, 8087, 4080, 9480, 9212, 9505, 6275, 5475, 4589, 676, 9542, 9176, 13623, 4572, 4573, 4578, 2] */
import Module00005 from '../../../by-id/module-00005.js'; /* Metro dependency 5 */
import Native from '../../../external/discord_common/js/packages/tokens/native.tsx'; /* Metro dependency 697 */
import ActionSheetActionCreators from '../../action_sheet/native/ActionSheetActionCreators.tsx'; /* Metro dependency 4080 */
import defaultImport3 from '../../../by-id/module-04589-LinearGradient.js'; /* Metro dependency 4589 */
import QuestStore from '../QuestStore.tsx'; /* Metro dependency 7093 */
import FramesActionCreatorsNative from '../../frames/FramesActionCreators.native.tsx'; /* Metro dependency 8087 */
import Module09176 from '../../../by-id/module-09176.js'; /* Metro dependency 9176 */
import QuestContextMenu from './QuestContextMenu.tsx'; /* Metro dependency 13623 */
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 FluxModule from '../../../external/discord_common/js/packages/flux/index.tsx'; /* Metro dependency 566 */
import * as ConstantsIOSModule from '../../../ConstantsIOS.tsx'; /* Metro dependency 676 */
import * as StackNativeModule from '../../../design/components/Stack/native/Stack.native.tsx'; /* Metro dependency 4572 */
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 BottomSheetNativeModule from '../../../design/components/Sheet/native/BottomSheet.native.tsx'; /* Metro dependency 6275 */
import * as QuestConstantsModule from '../QuestConstants.tsx'; /* Metro dependency 6528 */
import * as QuestTypesModule from '../QuestTypes.tsx'; /* Metro dependency 6531 */
import * as UseGetOrFetchApplicationsModule from '../../applications/useGetOrFetchApplications.tsx'; /* Metro dependency 6777 */
import * as QuestTaskUtilsModule from '../utils/QuestTaskUtils.tsx'; /* Metro dependency 7116 */
import * as ActivityPanelConstantsModule from '../../activities/panel/ActivityPanelConstants.tsx'; /* Metro dependency 8044 */
import * as IconButtonNativeModule from '../../../design/components/Button/native/IconButton.native.tsx'; /* Metro dependency 8341 */
import * as UseIsScreenLandscapeNativeModule from '../../screen/useIsScreenLandscape.native.tsx'; /* Metro dependency 8750 */
import * as QuestHooksModule from '../hooks/QuestHooks.tsx'; /* Metro dependency 9483 */
import * as QuestCopyUtilsModule from '../utils/QuestCopyUtils.tsx'; /* Metro dependency 9505 */
import * as QuestCopyHooksModule from '../hooks/QuestCopyHooks.tsx'; /* Metro dependency 9950 */
import * as QuestBottomSheetFooterModule from './QuestBottomSheet/QuestBottomSheetFooter.tsx'; /* Metro dependency 13593 */
function _fun117646(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#117646, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15584:6, offset: 0x024bc0c6, size: 344 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = ReactNativeModule;
const env0_5 = value.View;
const env0_6 = value.StyleSheet;
value = require(33) /* metro dependency 33 */;
const env0_10 = value.jsx;
const env0_11 = value.jsxs;
const env0_12 = (require(4501) /* metro dependency 4501: createStyles */).createStyles(_fun117654);
const env0_13 = (require(4501) /* metro dependency 4501: createStyles */).createStyleProperties(function() {
var object = {};
object.gradientEnd = importDefault(dependencyMap[8]).colors.MOBILE_ACTIONSHEET_GRADIENT_BACKGROUND_DEFAULT;
return object;
});
(FileImportTrackerModule).fileFinishedImporting('modules/quests/native/QuestProgressBottomSheet.tsx');
exports.default = QuestProgressBottomSheetConnected;
function contextMenuButton(a0) { // fn#117647, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15584:1370, offset: 0x024bc21e, size: 164 bytes, params: 2, frame: 18
const IconButton = (IconButtonNativeModule).IconButton;
const iconButtonProps = {...a0};
iconButtonProps['icon'] = importDefault(8639) /* metro dependency 8639 */;
iconButtonProps['variant'] = 'secondary-overlay';
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
iconButtonProps['accessibilityLabel'] = intl.string((require(1244) /* metro dependency 1244: indexNative */).t['UKOtz+']);
iconButtonProps['size'] = 'sm';
return <IconButton {...iconButtonProps} />;
}
function QuestProgressBottomSheet({quest}) { // fn#117648, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15584:1551, offset: 0x024bc2c2, size: 1900 bytes, params: 2, frame: 44
const value3 = (UseIsScreenLandscapeNativeModule).useIsScreenLandscape();
const styles = useStyles(value3);
const gradientEnd = env0_13().gradientEnd;
const useGetOrFetchApplication = UseGetOrFetchApplicationsModule.useGetOrFetchApplication;
const getActivityApplicationId = QuestTaskUtilsModule.getActivityApplicationId;
const url = (importDefault(10718) /* metro dependency 10718: useEmbeddedActivityBackground */)({applicationId: Reflect.apply(useGetOrFetchApplication,
UseGetOrFetchApplicationsModule, [Reflect.apply(getActivityApplicationId, QuestTaskUtilsModule, [quest])])?.id,
size: 600, names: ['embedded_cover']}).url;
const value5 = (QuestHooksModule).useQuestTaskDetails(quest);
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const formatToPlainString = intl.formatToPlainString;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
const EAYZAr = t.EAYZAr;
const value6 = Reflect.apply(formatToPlainString, intl, [EAYZAr, {questName: quest.config.messages.questName}]);
const useQuestsInstructionsToWinReward = QuestCopyHooksModule.useQuestsInstructionsToWinReward;
object = {quest: quest, taskDetails: value5};
let QUEST_ACTIVITY_BOTTOM_SHEET = QuestsExperimentLocations.QUEST_ACTIVITY_BOTTOM_SHEET;
object.location = QUEST_ACTIVITY_BOTTOM_SHEET;
const QuestContent = (QuestTypesModule).QuestContent;
let RUNNING_ACTIVITY = QuestContent.RUNNING_ACTIVITY;
object.sourceQuestContent = RUNNING_ACTIVITY;
const value7 = Reflect.apply(useQuestsInstructionsToWinReward, QuestCopyHooksModule, [object]);
const userStatus = quest.userStatus;
const r24 = userStatus?.completedAt != null && quest.userStatus?.claimedAt == null;
const useQuestRewardClaimHandler = QuestBottomSheetFooterModule.useQuestRewardClaimHandler;
object = {quest: quest};
RUNNING_ACTIVITY = QuestContent.RUNNING_ACTIVITY;
object.questContent = RUNNING_ACTIVITY;
RUNNING_ACTIVITY = QuestContent.RUNNING_ACTIVITY;
object.sourceQuestContent = RUNNING_ACTIVITY;
const {isClaiming, claim, isLoading} = Reflect.apply(useQuestRewardClaimHandler, QuestBottomSheetFooterModule,
[object]);
const value12 = ReactModule.useCallback(Module00005(_fun117650), [claim]);
const value13 = ReactModule.useCallback(_fun117651, [quest.id]);
const value14 = ReactModule.useCallback(_fun117652, [quest.id]);
const value15 = ReactModule.useCallback(_fun117653, []);
const BottomSheet = (BottomSheetNativeModule).BottomSheet;
const items2 = [
url != null && ((Component) => <Component source={{uri: url}} style={styles.heroImg} />)(importDefault(5475) /* metro dependency 5475: FastImage */),
];
const {START, END} = (ConstantsIOSModule).VerticalGradient;
items2[1] = ((Component) => <Component style={styles.heroGradient} start={START} end={END} colors={['rgba(0, 0, 0, 0)',
gradientEnd]} />)(defaultImport3);
items2[2] = (
<View style={styles.gameTileContainer}>
{((Component) => <Component quest={quest} height={value3 ? 56 : 80} width={value3 ? 56 : 80} />)(importDefault(9542) /* metro dependency 9542: QuestRewardTile */)}
</View>
);
const IconButton = (IconButtonNativeModule).IconButton;
const iconButtonProps = {icon: Module09176, onPress: value14,
variant: 'secondary-overlay', size: 'sm'};
const string = intl.string;
const RDE0Sc = (require(1244) /* metro dependency 1244: indexNative */).t.RDE0Sc;
iconButtonProps.accessibilityLabel = Reflect.apply(string, intl, [RDE0Sc]);
const iconButton = <IconButton {...iconButtonProps} />;
QUEST_ACTIVITY_BOTTOM_SHEET = QuestsExperimentLocations.QUEST_ACTIVITY_BOTTOM_SHEET;
RUNNING_ACTIVITY = QuestContent.RUNNING_ACTIVITY;
items2[3] = (
<View style={styles.contextMenuContainer}>
{iconButton}
<QuestContextMenu
quest={quest}
showShareLink
location={QUEST_ACTIVITY_BOTTOM_SHEET}
sourceQuestContent={RUNNING_ACTIVITY}
>
{contextMenuButton}
</QuestContextMenu>
</View>
);
const view = (
<View style={styles.heroContainer}>
{items2}
</View>
);
const Stack = (StackNativeModule).Stack;
const PX_8 = (Native).space.PX_8;
const Text = (TextModule).Text;
const stack = (
<Stack
direction="vertical"
spacing={PX_8}
style={styles.textContainer}
>
<Text variant={value3 ? 'heading-md/bold' : 'heading-lg/bold'} color="mobile-text-heading-primary">
{value6}
</Text>
<Text
style={styles.questDescription}
variant={value3 ? 'text-sm/normal' : 'text-md/normal'}
color="text-muted"
>
{value7}
</Text>
</Stack>
);
const PX_12 = (Native).space.PX_12;
const Button = (ButtonNativeModule).Button;
return (
<BottomSheet handleDisabled startExpanded>
{view}
<View style={styles.contentContainer}>
{stack}
<Stack
direction="vertical"
spacing={PX_12}
style={styles.buttonsContainer}
>
<Button
size="lg"
text={intl.string(r24 ? t.cfY4PE : t.LLLLPD)}
onPress={r24 ? value12 : value13}
loading={isClaiming || isLoading}
grow
/>
<Button
size="lg"
text={intl.string((require(1244) /* metro dependency 1244: indexNative */).t.cpT0Cq)}
onPress={value15}
variant="secondary"
grow
/>
</Stack>
</View>
</BottomSheet>
);
function* _fun117650() { // fn#117650, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15584:2440, offset: 0x024bca39, size: 86 bytes, params: 1, frame: 15
var value4;
if (true) {
__proto__ = environment.__proto__;
yield importDefault();
if (false) {
return undefined;
}
if (__proto__) {
__proto__ = environment.__proto__.__proto__;
value4 = env2_1(env2_2[22]);
value4.updateFramePanelMode(env2_9.PIP);
}
}
}
function _fun117651() { // fn#117651, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15584:2527, offset: 0x024bca8f, size: 145 bytes, params: 1, frame: 15
let value = environment.__proto__;
(ActionSheetActionCreators).hideActionSheet();
const defaultImport2 = FramesActionCreatorsNative;
const updateFramePanelMode = defaultImport2.updateFramePanelMode;
const PIP = ActivityPanelModes.PIP;
Reflect.apply(updateFramePanelMode, defaultImport2, [PIP]);
value = require(9480) /* metro dependency 9480: QuestUtilsNative */;
const openQuestHome = value.openQuestHome;
const object = {};
object.scrollToQuestId = quest.id;
const QuestContent = (QuestTypesModule).QuestContent;
const QUEST_BOTTOM_SHEET = QuestContent.QUEST_BOTTOM_SHEET;
object.fromContent = QUEST_BOTTOM_SHEET;
Reflect.apply(openQuestHome, value, [object]);
}
function _fun117652() { // fn#117652, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15584:2723, offset: 0x024bcb20, size: 105 bytes, params: 1, frame: 15
let value = environment.__proto__;
(ActionSheetActionCreators).hideActionSheet();
value = require(9212) /* metro dependency 9212: showShareActionSheetAndroid */;
const showShareActionSheet = value.showShareActionSheet;
const getQuestUrl = QuestCopyUtilsModule.getQuestUrl;
Reflect.apply(showShareActionSheet, value, [{message: Reflect.apply(getQuestUrl, QuestCopyUtilsModule,
[quest.id])}]);
}
function _fun117653() { // fn#117653, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15584:2850, offset: 0x024bcb89, size: 37 bytes, params: 1, frame: 11
const value = environment.__proto__;
(ActionSheetActionCreators).hideActionSheet();
}
}
function _fun117654(a0) { // fn#117654, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15584:276, offset: 0x024bcbae, size: 654 bytes, params: 2, frame: 21
const object = {};
const object2 = {display: 'flex'};
const value2 = undefined;
let PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object2.paddingHorizontal = PX_16;
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object2.paddingBottom = PX_16;
object.contentContainer = object2;
const object3 = {};
object3.height = a0 ? 125 : 140;
object3.position = 'relative';
object3.marginBottom = a0 ? 0 : 52 + (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object.heroContainer = object3;
const object4 = {resizeMode: 'cover'};
copyDataProperties(object4, StyleSheet.absoluteFillObject, undefined);
let lg = (importDefault(697) /* metro dependency 697: native */).radii.lg;
object4['borderTopLeftRadius'] = lg;
lg = (importDefault(697) /* metro dependency 697: native */).radii.lg;
object4['borderTopRightRadius'] = lg;
object.heroImg = object4;
const object5 = {};
copyDataProperties(object5, StyleSheet.absoluteFillObject, lg);
object5['borderTopLeftRadius'] = (importDefault(697) /* metro dependency 697: native */).radii.lg;
object5['borderTopRightRadius'] = (importDefault(697) /* metro dependency 697: native */).radii.lg;
object.heroGradient = object5;
const PX_12 = a0 ? (importDefault(697) /* metro dependency 697: native */).space.PX_12 : -52;
object.gameTileContainer = {'position': 'absolute', 'bottom': null, 'left': 0, 'right': 0, 'alignItems': 'center',
bottom: PX_12};
const object7 = {'position': 'absolute', 'top': null, 'right': null, 'display': 'flex', 'flexDirection': 'row',
'gap': null, 'alignItems': 'center'};
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object7.top = PX_16;
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object7.right = PX_16;
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object7.gap = PX_16;
object.contextMenuContainer = object7;
const object8 = {alignItems: 'center'};
PX_16 = a0 ? value2 : (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object8.paddingTop = PX_16;
const PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object8.gap = PX_8;
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object8.marginBottom = PX_16;
object8.textAlign = 'center';
object.textContainer = object8;
object.questDescription = {textAlign: 'center'};
PX_16 = a0 ? value2 : (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object.buttonsContainer = {paddingTop: PX_16};
return object;
}
function QuestProgressBottomSheetConnected({questId}) { // fn#117656, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15584:4466, offset: 0x024bce69, size: 201 bytes, params: 2, frame: 19
var r0;
var QuestContentImpressionTrackerNative;
const QuestContent = (QuestTypesModule).QuestContent;
var RUNNING_ACTIVITY;
const useStateFromStores = FluxModule.useStateFromStores;
let object = [QuestStore];
const quest = Reflect.apply(useStateFromStores, FluxModule, [object, function() {
return QuestStore.getQuest(questId);
}]);
if (quest == null) {
r0 = null;
} else {
QuestContentImpressionTrackerNative = (require(10183) /* metro dependency 10183: QuestContentImpressionTrackerNative */).QuestContentImpressionTrackerNative;
object = {overrideVisibility: true, questOrQuests: quest};
RUNNING_ACTIVITY = QuestContent.RUNNING_ACTIVITY;
object.questContent = RUNNING_ACTIVITY;
RUNNING_ACTIVITY = QuestContent.RUNNING_ACTIVITY;
object.sourceQuestContent = RUNNING_ACTIVITY;
r0 = (
<QuestContentImpressionTrackerNative {...object}>
{children_117658}
</QuestContentImpressionTrackerNative>
);
}
return r0;
function QuestProgressBottomSheetConnectedChildren() { // fn#117658, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15584:4805, owner: QuestProgressBottomSheetConnected.children, offset: 0x024bcf32, size: 35 bytes, params: 1, frame: 13
return <QuestProgressBottomSheet quest={quest} />;
}
}
}
global.__d(_fun117646, 15387, [5, 31, 27, 7093, 6528, 8044, 33, 4501, 697, 566, 10183, 6531, 8341, 8639, 1244, 8750,
6777, 7116, 10718, 9483, 9950, 13593, 8087, 4080, 9480, 9212, 9505, 6275, 5475, 4589, 676, 9542, 9176, 13623,
4572, 4573, 4578,
2]) /* metro module 15387, dependencies: [5, 31, 27, 7093, 6528, 8044, 33, 4501, 697, 566, 10183, 6531, 8341, 8639, 1244, 8750, 6777, 7116, 10718, 9483, 9950, 13593, 8087, 4080, 9480, 9212, 9505, 6275, 5475, 4589, 676, 9542, 9176, 13623, 4572, 4573, 4578, 2] */;