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

253 lines
16 KiB
TypeScript

/* Metro module 9947; source: modules/quests/native/QuestRewardCodeClaimBottomSheet.native.tsx; dependencies: [31, 27, 7093, 6528, 33, 4501, 697, 1585, 566, 9948, 3857, 1244, 8947, 4080, 9500, 6797, 4060, 9950, 6275, 6758, 4573, 6622, 6231, 6238, 4578, 10183, 2] */
import Native from '../../../external/discord_common/js/packages/tokens/native.tsx'; /* Metro dependency 697 */
import UseSafeAreaInsetsNative from '../../safe_area/useSafeAreaInsets.native.tsx'; /* Metro dependency 1585 */
import ToastActionCreators from '../../toast/native/ToastActionCreators.tsx'; /* Metro dependency 3857 */
import QuestStore from '../QuestStore.tsx'; /* Metro dependency 7093 */
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 CopyIconModule from '../../../design/components/Icon/native/redesign/generated/CopyIcon.tsx'; /* Metro dependency 4060 */
import * as CreateStylesModule from '../../../design/components/Styles/native/createStyles.tsx'; /* Metro dependency 4501 */
import * as ButtonNativeModule from '../../../design/components/Button/native/Button.native.tsx'; /* Metro dependency 4578 */
import * as TableRowGroupNativeModule from '../../../design/components/TableRow/native/TableRowGroup.native.tsx'; /* Metro dependency 6231 */
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 BottomSheetTitleHeaderNativeModule from '../../../design/components/Sheet/native/BottomSheetTitleHeader.native.tsx'; /* Metro dependency 6758 */
import * as QuestRewardUtilsModule from '../utils/QuestRewardUtils.tsx'; /* Metro dependency 9500 */
import * as RewardCodeClaimHooksModule from '../hooks/RewardCodeClaimHooks.tsx'; /* Metro dependency 9948 */
import * as QuestCopyHooksModule from '../hooks/QuestCopyHooks.tsx'; /* Metro dependency 9950 */
function _fun77854(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#77854, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10133:6, offset: 0x01e0e463, size: 264 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = ReactNativeModule;
const env0_4 = value.ActivityIndicator;
const env0_5 = value.View;
value = require(33) /* metro dependency 33 */;
const env0_8 = value.jsx;
const env0_9 = value.jsxs;
const env0_10 = (CreateStylesModule).createStyles(_fun77863);
(FileImportTrackerModule).fileFinishedImporting('modules/quests/native/QuestRewardCodeClaimBottomSheet.native.tsx');
exports.default = QuestRewardCodeClaimBottomSheetConnected;
function QuestRewardCodeClaimBottomSheet({quest, questContent, questContentPosition, sourceQuestContent}) { // fn#77855, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10133:530, offset: 0x01e0e56b, size: 1446 bytes, params: 2, frame: 49
const styles = useStyles((UseSafeAreaInsetsNative)().bottom);
const {rewardCode, isFetchingRewardCode,
isClaimingReward} = (require(566) /* metro dependency 566: flux */).useStateFromStoresObject([QuestStore],
function() {
var object = {};
var questStoreBinding = QuestStore;
var questBinding = quest;
object.rewardCode = questStoreBinding.getRewardCode(questBinding.id);
object.isFetchingRewardCode = QuestStore.isFetchingRewardCode(questBinding.id);
object.isClaimingReward = QuestStore.isClaimingReward(questBinding.id);
return object;
});
const {claimCode, fetchCode,
hasError} = (RewardCodeClaimHooksModule).useClaimOrFetchRewardCode({isClaimingReward: isClaimingReward,
isFetchingRewardCode: isFetchingRewardCode, quest: quest, questContent: questContent, rewardCode: rewardCode});
let binding = isTieredRewardCodeQuest22;
binding.useEffect(_fun77857, [hasError]);
const isTieredRewardCodeQuest2 = QuestRewardUtilsModule.isTieredRewardCodeQuest({quest: quest});
var isTieredRewardCodeQuest22 = isTieredRewardCodeQuest2;
binding = isTieredRewardCodeQuest22;
const useMemo = binding.useMemo;
const value6 = isTieredRewardCodeQuest22.useMemo(_fun77859, [Reflect.apply(useMemo, binding, [_fun77858,
[isTieredRewardCodeQuest2, quest, rewardCode?.tier]]), rewardCode]);
const useClaimRewardCodePrimaryCtaClickHandler = RewardCodeClaimHooksModule.useClaimRewardCodePrimaryCtaClickHandler;
object = {claimCode: claimCode, fetchCode: fetchCode, hasError: hasError};
object.onDismiss = (importDefault(4080) /* metro dependency 4080: ActionSheetActionCreators */).hideActionSheet;
object.quest = quest;
object.questContent = questContent;
object.questContentPosition = questContentPosition;
object.redemptionLink = value6;
object.sourceQuestContent = sourceQuestContent;
const value7 = Reflect.apply(useClaimRewardCodePrimaryCtaClickHandler, RewardCodeClaimHooksModule, [object]);
const value8 = isTieredRewardCodeQuest22.useCallback(_fun77860, [rewardCode]);
const rewardCodeRedemptionInstructions = (QuestCopyHooksModule).getRewardCodeRedemptionInstructions({quest: quest,
rewardCode: rewardCode});
let r20 = isFetchingRewardCode || isClaimingReward;
r20 = !r20 ? rewardCode?.code == null : r20;
const BottomSheet = (BottomSheetNativeModule).BottomSheet;
object = {};
const BottomSheetTitleHeader = (BottomSheetTitleHeaderNativeModule).BottomSheetTitleHeader;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
object.header = (
<BottomSheetTitleHeader title={intl.string((require(1244) /* metro dependency 1244: indexNative */).t.srzsU2)} />
);
object.startExpanded = true;
const r12 = rewardCode != null && rewardCodeRedemptionInstructions != null && ((Text) => <Text style={styles.redemptionInstructions} variant="text-md/normal" color="text-default">{(importDefault(6622) /* metro dependency 6622: MarkupUtils */).parse(rewardCodeRedemptionInstructions,
true, {allowLinks: true})}</Text>)((require(4573) /* metro dependency 4573: Text */).Text);
const r25 = rewardCode?.code == null && styles.codeCopyWrapperLoading;
const TableRowGroup = (TableRowGroupNativeModule).TableRowGroup;
const TableRow = (require(6238) /* metro dependency 6238: TableRowNative */).TableRow;
const view = (
<View>
{r12}
<View>
<View style={r25}>
<TableRowGroup hasIcons={false}>
<TableRow
label={rewardCode?.code}
trailing={rewardCode?.code != null && ((Icon) => <Icon IconComponent={(require(4060) /* metro dependency 4060: CopyIcon */).CopyIcon} />)((require(6238) /* metro dependency 6238: TableRowNative */).TableRow.Icon)}
onPress={rewardCode?.code != null ? value8 : undefined}
/>
</TableRowGroup>
</View>
{rewardCode?.code == null && <ActivityIndicator style={styles.claimingIndicator} size={24} />}
</View>
</View>
);
const Button = (ButtonNativeModule).Button;
return (
<BottomSheet {...object}>
<View style={styles.wrapper}>
{view}
<View style={styles.footer}>
<Button
disabled={r20}
onPress={value7}
grow
text={value6 == null ? intl.string((require(1244) /* metro dependency 1244: indexNative */).t['23SS+z']) : value6 !== '' ? intl.string((require(1244) /* metro dependency 1244: indexNative */).t['+zx47d']) : intl.string((require(1244) /* metro dependency 1244: indexNative */).t['23SS+z'])}
/>
</View>
</View>
</BottomSheet>
);
function _fun77857() { // fn#77857, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10133:1078, offset: 0x01e0eb6c, size: 158 bytes, params: 1, frame: 18
var defaultImport;
var open;
var object;
var intl;
var value;
if (hasError) {
value = environment.__proto__;
defaultImport = importDefault(3857) /* metro dependency 3857: ToastActionCreators */;
open = defaultImport.open;
object = {key: 'CLAIM_QUEST_REWARD_ERROR'};
intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
object.content = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.CKsXk3);
object.icon = importDefault(8947) /* metro dependency 8947 */;
Reflect.apply(open, defaultImport, [object]);
value = importDefault(4080) /* metro dependency 4080: ActionSheetActionCreators */;
value.hideActionSheet();
}
}
function _fun77858() { // fn#77858, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10133:1295, offset: 0x01e0ec0a, size: 103 bytes, params: 1, frame: 16
var r0;
const value3 = undefined;
const getRewardCodeQuestReward = QuestRewardUtilsModule.getRewardCodeQuestReward;
const object = {};
object.quest = quest;
if (ReactModule) {
object.idx = rewardCode == null ? value3 : rewardCode.tier;
r0 = Reflect.apply(getRewardCodeQuestReward, QuestRewardUtilsModule, [object]);
} else {
object.idx = 0;
r0 = Reflect.apply(getRewardCodeQuestReward, QuestRewardUtilsModule, [object]);
}
return r0;
}
function _fun77859() { // fn#77859, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10133:1466, offset: 0x01e0ec71, size: 157 bytes, params: 1, frame: 16
const value2 = undefined;
if ((env0_4 == null ? value2 : env0_4.redemptionLink) != null) {
if (env0_4.redemptionLink !== '') {
return (rewardCode == null ? value2 : rewardCode.code) == null || rewardCode.code === '' ? env0_4.redemptionLink : env0_4.redemptionLink.replace(REWARD_CODE_PLACEHOLDER,
global.encodeURIComponent(rewardCode.code));
}
}
return value2;
}
function _fun77860() { // fn#77860, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10133:1893, offset: 0x01e0ed0e, size: 72 bytes, params: 1, frame: 13
var environment;
var value2;
var moduleValue;
if (rewardCode != null) {
value2 = environment.__proto__;
moduleValue = require(6797) /* metro dependency 6797: ClipboardUtilsNative */;
moduleValue.copy(rewardCode.code, function() {
var defaultImport = importDefault(dependencyMap[10]);
var object = {key: 'TOAST_QUEST_REWARD_CODE_COPIED'};
object.content = require(dependencyMap[11]).intl.string(require(dependencyMap[11]).t.MSaeTe);
object.icon = _fun77862;
return defaultImport.open(object);
});
}
function _fun77861() { // fn#77861, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10133:1929, offset: 0x01e0ed56, size: 120 bytes, params: 1, frame: 17
const defaultImport = ToastActionCreators;
const open = defaultImport.open;
const intl = (IndexNativeModule).intl;
const string = intl.string;
const MSaeTe = (IndexNativeModule).t.MSaeTe;
return Reflect.apply(open, defaultImport, [{key: 'TOAST_QUEST_REWARD_CODE_COPIED', content: Reflect.apply(string,
intl, [MSaeTe]), icon: icon_77862}]);
function icon_77862() { // fn#77862, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10133:2038, offset: 0x01e0edce, size: 45 bytes, params: 1, frame: 13
const CopyIcon = (CopyIconModule).CopyIcon;
return <CopyIcon />;
}
}
}
}
function _fun77863(a0) { // fn#77863, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10133:242, offset: 0x01e0edfb, size: 152 bytes, params: 2, frame: 15
const object2 = {display: 'flex'};
const PX_16 = (Native).space.PX_16;
object2.paddingHorizontal = PX_16;
const PX_24 = (Native).space.PX_24;
object2.gap = PX_24;
return {wrapper: object2, footer: {paddingBottom: a0}, claimingIndicator: {'position': 'absolute', 'left': '50%',
'top': '50%', 'marginLeft': -12, 'marginTop': -12}, codeCopyWrapperLoading: {opacity: 0.5},
redemptionInstructions: {marginBottom: 24}};
}
function QuestRewardCodeClaimBottomSheetConnected({questId, questContent, questContentPosition, sourceQuestContent}) { // fn#77864, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10133:3259, offset: 0x01e0ee93, size: 222 bytes, params: 2, frame: 21
var r0;
const quest = (require(566) /* metro dependency 566: flux */).useStateFromStores([QuestStore], function() {
return QuestStore.getQuest(questId);
});
if (quest == null) {
(importDefault(4080) /* metro dependency 4080: ActionSheetActionCreators */).hideActionSheet();
r0 = null;
} else {
const QuestContentImpressionTrackerNative = (require(10183) /* metro dependency 10183: QuestContentImpressionTrackerNative */).QuestContentImpressionTrackerNative;
r0 = (
<QuestContentImpressionTrackerNative
overrideVisibility
questOrQuests={quest}
questContent={questContent}
questContentPosition={questContentPosition}
sourceQuestContent={sourceQuestContent}
>
{children_77866}
</QuestContentImpressionTrackerNative>
);
}
return r0;
function QuestRewardCodeClaimBottomSheetConnectedChildren() { // fn#77866, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10133:3642, owner: QuestRewardCodeClaimBottomSheetConnected.children, offset: 0x01e0ef8c, size: 62 bytes, params: 1, frame: 14
return (
<QuestRewardCodeClaimBottomSheet
quest={quest}
questContent={questContent}
questContentPosition={questContentPosition}
sourceQuestContent={sourceQuestContent}
/>
);
}
}
}
global.__d(_fun77854, 9947, [31, 27, 7093, 6528, 33, 4501, 697, 1585, 566, 9948, 3857, 1244, 8947, 4080, 9500, 6797,
4060, 9950, 6275, 6758, 4573, 6622, 6231, 6238, 4578, 10183,
2]) /* metro module 9947, dependencies: [31, 27, 7093, 6528, 33, 4501, 697, 1585, 566, 9948, 3857, 1244, 8947, 4080, 9500, 6797, 4060, 9950, 6275, 6758, 4573, 6622, 6231, 6238, 4578, 10183, 2] */;