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

212 lines
14 KiB
TypeScript

/* Metro module 13562; source: modules/quests/native/BountiesCtaHeader.tsx; dependencies: [31, 27, 4502, 13563, 6528, 33, 4501, 697, 1244, 4573, 13557, 6766, 566, 7121, 9529, 6531, 7110, 7120, 13515, 13564, 13565, 1305, 4578, 13561, 9949, 3868, 13551, 10183, 2] */
function _fun103039(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#103039, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13752:6, offset: 0x02254a75, size: 307 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = importAll(31) /* metro dependency 31 */;
const value2 = require(27) /* metro dependency 27 */;
value2.StyleSheet;
const env0_4 = value2.View;
const accessibilityStore = importDefault(4502) /* metro dependency 4502: AccessibilityStore */;
const adContentSeenStore = importDefault(13563) /* metro dependency 13563: AdContentSeenStore */;
const questConstantsModule = require(6528) /* metro dependency 6528: QuestConstants */;
const env0_7 = questConstantsModule.BountyCarouselEmptyStateReason;
const env0_8 = questConstantsModule.DEFAULT_PLACEHOLDER_ENTRYPOINT_BOUNTY_ID;
const value4 = require(33) /* metro dependency 33 */;
const env0_9 = value4.jsx;
const env0_10 = value4.jsxs;
const env0_11 = (require(4501) /* metro dependency 4501: createStyles */).createStyles(_fun103046);
value = value.memo(BountiesCtaHeader);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/quests/native/BountiesCtaHeader.tsx');
exports.default = value;
}
function BountiesCtaDescription({isEmptyOrCompleted}) { // fn#103040, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13752:1628, offset: 0x02254ba8, size: 379 bytes, params: 2, frame: 23
const styles = useStyles();
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
const r13 = isEmptyOrCompleted ? t.q4wlOE : t.AZGGo1;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const text = <Text variant="text-sm/medium" color="text-subtle">{intl.string(r13)}</Text>;
const value3 = intl.format((require(1244) /* metro dependency 1244: indexNative */).t.fjSvsC,
{onClick: importDefault(13557) /* metro dependency 13557: openBountiesNuxPromoSheet */});
if (isEmptyOrCompleted) {
const TextWithIOSLinkWorkaround = (require(6766) /* metro dependency 6766: TextWithIOSLinkWorkaround */).TextWithIOSLinkWorkaround;
return (
<TextWithIOSLinkWorkaround variant="text-sm/medium">
{text}
{' '}
{value3}
</TextWithIOSLinkWorkaround>
);
} else {
return (
<View style={styles.description}>
{text}
{((TextWithIOSLinkWorkaround) => <TextWithIOSLinkWorkaround variant="text-sm/medium">{value3}</TextWithIOSLinkWorkaround>)((require(6766) /* metro dependency 6766: TextWithIOSLinkWorkaround */).TextWithIOSLinkWorkaround)}
</View>
);
}
}
function BountiesCtaHeaderInner({bounties, isEmptyOrCompleted, containerRef}) { // fn#103041, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13752:2097, offset: 0x02254d23, size: 750 bytes, params: 2, frame: 32
isEmptyOrCompleted = !(isEmptyOrCompleted === undefined) && isEmptyOrCompleted;
const styles = useStyles();
(require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore], function() {
return AccessibilityStore.useReducedMotion;
});
const value2 = (require(566) /* metro dependency 566: flux */).useStateFromStores([AdContentSeenStore], function() {
return bounties.some(_fun103044);
}, [bounties]);
const value3 = (require(9529) /* metro dependency 9529: useVideoModalPlacementEnabled */).useVideoModalPlacementEnabled('BountiesCtaHeader');
const QuestContent = (require(6531) /* metro dependency 6531: QuestTypes */).QuestContent;
const value4 = env0_3.useCallback(_fun103045, [bounties,
value3 ? QuestContent.VIDEO_MODAL_MOBILE : QuestContent.QUEST_HOME_MOBILE_CAROUSEL]);
const BountiesBannerBackground = importDefault(13564) /* metro dependency 13564: BountiesBannerBackground */;
const bountiesBannerBackgroundProps = {uri: importDefault(13565) /* metro dependency 13565: bounty_bannerMp4 */,
style: [styles.header, styles.headerRoundedBottom]};
const r8 = value2 && ((NewTag) => <NewTag variant="text-xs/bold" containerStyle={styles.newPill} textStyle={styles.newPillText} />)((require(1305) /* metro dependency 1305: native */).NewTag);
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const items4 = [<Text variant="text-lg/semibold" color="white">{intl.string((require(1244) /* metro dependency 1244: indexNative */).t.qetVDw)}</Text>];
items4[1] = <BountiesCtaDescription isEmptyOrCompleted={isEmptyOrCompleted} />;
items4[2] = !isEmptyOrCompleted && ((Button) => <Button grow size="md" variant="primary-overlay" text={intl.string((require(1244) /* metro dependency 1244: indexNative */).t['1kkbKw'])} onPress={value4} />)((require(4578) /* metro dependency 4578: ButtonNative */).Button);
return (
<View ref={containerRef} style={styles.container}>
<BountiesBannerBackground {...bountiesBannerBackgroundProps}>
{r8}
<View style={styles.headerTextBox}>
{items4}
</View>
</BountiesBannerBackground>
{false}
</View>
);
}
function _fun103046() { // fn#103046, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13752:301, offset: 0x02255154, size: 719 bytes, params: 1, frame: 16
const object3 = {};
const object6 = {'width': '100%', 'backgroundColor': null, 'borderWidth': 1};
let BACKGROUND_SURFACE_HIGH = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_SURFACE_HIGH;
object6.backgroundColor = BACKGROUND_SURFACE_HIGH;
const BORDER_MUTED = (importDefault(697) /* metro dependency 697: native */).colors.BORDER_MUTED;
object6.borderColor = BORDER_MUTED;
object6.borderBottomLeftRadius = (importDefault(697) /* metro dependency 697: native */).radii.xxl;
object6.borderBottomRightRadius = (importDefault(697) /* metro dependency 697: native */).radii.xxl;
object6.overflow = 'hidden';
object3.container = object6;
BACKGROUND_SURFACE_HIGH = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_SURFACE_HIGH;
object3.header = {'width': '100%', 'minHeight': 296, 'justifyContent': 'flex-end', 'overflow': 'hidden',
backgroundColor: BACKGROUND_SURFACE_HIGH};
const object8 = {};
object8.borderBottomLeftRadius = (importDefault(697) /* metro dependency 697: native */).radii.xxl;
object8.borderBottomRightRadius = (importDefault(697) /* metro dependency 697: native */).radii.xxl;
object3.headerRoundedBottom = object8;
const object10 = {position: 'absolute'};
let PX_12 = (importDefault(697) /* metro dependency 697: native */).space.PX_12;
object10.top = PX_12;
PX_12 = (importDefault(697) /* metro dependency 697: native */).space.PX_12;
object10.left = PX_12;
object10.zIndex = 1;
const CONTROL_OVERLAY_PRIMARY_BACKGROUND_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.CONTROL_OVERLAY_PRIMARY_BACKGROUND_DEFAULT;
object10.backgroundColor = CONTROL_OVERLAY_PRIMARY_BACKGROUND_DEFAULT;
object10.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round;
let PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object10.paddingHorizontal = PX_8;
const PX_4 = (importDefault(697) /* metro dependency 697: native */).space.PX_4;
object10.paddingVertical = PX_4;
object3.newPill = object10;
const CONTROL_OVERLAY_PRIMARY_TEXT_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.CONTROL_OVERLAY_PRIMARY_TEXT_DEFAULT;
object3.newPillText = {color: CONTROL_OVERLAY_PRIMARY_TEXT_DEFAULT};
const object12 = {};
const PX_24 = (importDefault(697) /* metro dependency 697: native */).space.PX_24;
object12.paddingBottom = PX_24;
const PX_20 = (importDefault(697) /* metro dependency 697: native */).space.PX_20;
object12.paddingHorizontal = PX_20;
PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object12.gap = PX_8;
object3.headerTextBox = object12;
object3.description = {marginBottom: 16};
const object13 = {'width': '100%', 'overflow': 'hidden'};
object13.borderBottomLeftRadius = (importDefault(697) /* metro dependency 697: native */).radii.xl;
object13.borderBottomRightRadius = (importDefault(697) /* metro dependency 697: native */).radii.xl;
object3.bottomSection = object13;
PX_12 = (importDefault(697) /* metro dependency 697: native */).space.PX_12;
object3.bottomContent = {'paddingBottom': 24, 'paddingHorizontal': 20, gap: PX_12};
const object14 = {'alignSelf': 'stretch', 'height': 160};
object14.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.md;
const CONTROL_OVERLAY_SECONDARY_BACKGROUND_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.CONTROL_OVERLAY_SECONDARY_BACKGROUND_DEFAULT;
object14.backgroundColor = CONTROL_OVERLAY_SECONDARY_BACKGROUND_DEFAULT;
object3.placeholderCards = object14;
return object3;
}
function BountiesCtaHeader(a0) { // fn#103047, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13752:3476, offset: 0x02255423, size: 406 bytes, params: 2, frame: 25
var QuestContentImpressionTrackerNative;
const QuestContent = (require(6531) /* metro dependency 6531: QuestTypes */).QuestContent;
var QUEST_HOME_ENTRYPOINT_MOBILE;
const env0_0 = a0;
const {containerRef, isInView} = (importDefault(13561) /* metro dependency 13561: useIsCarouselInView */)();
const bounties = a0.bounties;
const isEmptyOrCompleted = a0.isEmptyOrCompleted;
let r4 = isEmptyOrCompleted !== undefined && isEmptyOrCompleted;
(require(9949) /* metro dependency 9949: AnalyticsHooks */).useBountyCarouselEmptyStateAnalytics(r4 ? bounties.length === 0 ? BountyCarouselEmptyStateReason.EMPTY : BountyCarouselEmptyStateReason.COMPLETED : null);
const ThemeContextProvider = (require(3868) /* metro dependency 3868: native */).ThemeContextProvider;
const ThemeTypes = (require(13551) /* metro dependency 13551: ThemeTypes */).ThemeTypes;
const DARKER = ThemeTypes.DARKER;
if (r4) {
r4 = <BountiesCtaHeaderInner {...a0} {...{['containerRef']: containerRef}} />;
} else {
QuestContentImpressionTrackerNative = (require(10183) /* metro dependency 10183: QuestContentImpressionTrackerNative */).QuestContentImpressionTrackerNative;
var questContentImpressionTrackerNativeProps = {adContentId: DEFAULT_PLACEHOLDER_ENTRYPOINT_BOUNTY_ID,
adCreativeType: (require(7121) /* metro dependency 7121: AdCreativeType */).AdCreativeType.BOUNTY};
QUEST_HOME_ENTRYPOINT_MOBILE = QuestContent.QUEST_HOME_ENTRYPOINT_MOBILE;
questContentImpressionTrackerNativeProps.questContent = QUEST_HOME_ENTRYPOINT_MOBILE;
questContentImpressionTrackerNativeProps.questContentPosition = 0;
questContentImpressionTrackerNativeProps.overrideVisibility = isInView;
QUEST_HOME_ENTRYPOINT_MOBILE = QuestContent.QUEST_HOME_ENTRYPOINT_MOBILE;
questContentImpressionTrackerNativeProps.sourceQuestContent = QUEST_HOME_ENTRYPOINT_MOBILE;
r4 = <QuestContentImpressionTrackerNative {...questContentImpressionTrackerNativeProps}>{children_103048}</QuestContentImpressionTrackerNative>;
}
return (
<ThemeContextProvider theme={DARKER}>
{r4}
</ThemeContextProvider>
);
}
function _fun103043() { // fn#103043, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13752:2286, offset: 0x02255011, size: 29 bytes, params: 1, frame: 11
return bounties.some(function(a0) {
var BOUNTY = require(dependencyMap[13]).AdCreativeType.BOUNTY;
return !AdContentSeenStore.hasSeen(BOUNTY, a0.id);
});
}
function _fun103045() { // fn#103045, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13752:2527, offset: 0x02255070, size: 228 bytes, params: 1, frame: 20
const property = bounties[0];
const analyticsActionsModule = require(7110) /* metro dependency 7110: AnalyticsActions */;
const trackAdContentClicked = analyticsActionsModule.trackAdContentClicked;
const object2 = {};
object2.adContentId = DEFAULT_PLACEHOLDER_ENTRYPOINT_BOUNTY_ID;
const AdCreativeType = (require(7121) /* metro dependency 7121: AdCreativeType */).AdCreativeType;
const BOUNTY = AdCreativeType.BOUNTY;
object2.adCreativeType = BOUNTY;
const QuestContent = (require(6531) /* metro dependency 6531: QuestTypes */).QuestContent;
let QUEST_HOME_ENTRYPOINT_MOBILE = QuestContent.QUEST_HOME_ENTRYPOINT_MOBILE;
object2.questContent = QUEST_HOME_ENTRYPOINT_MOBILE;
const QuestContentCTA = (require(7120) /* metro dependency 7120: AnalyticsTypes */).QuestContentCTA;
const START_BOUNTY = QuestContentCTA.START_BOUNTY;
object2.questContentCTA = START_BOUNTY;
QUEST_HOME_ENTRYPOINT_MOBILE = QuestContent.QUEST_HOME_ENTRYPOINT_MOBILE;
object2.sourceQuestContent = QUEST_HOME_ENTRYPOINT_MOBILE;
object2.questContentPosition = 0;
Reflect.apply(trackAdContentClicked, analyticsActionsModule, [object2]);
(importDefault(13515) /* metro dependency 13515: BountiesModalActionCreators */).showModal({bountyId: property.id,
sourceQuestContent: env0_1});
}
function BountiesCtaHeaderChildren() { // fn#103048, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13752:4123, owner: BountiesCtaHeader.children, offset: 0x022555b9, size: 50 bytes, params: 1, frame: 14
return <BountiesCtaHeaderInner {...env0_0} {...{['containerRef']: containerRef}} />;
}