/* Metro module 13517; source: modules/quests/native/BountiesModal/BountiesModalContentScroll.tsx; dependencies: [57, 31, 27, 7092, 6528, 661, 1376, 33, 478, 697, 4501, 4017, 1478, 1585, 13518, 9483, 9530, 566, 13520, 1365, 7013, 491, 7110, 7120, 13521, 9484, 7121, 6533, 9522, 13515, 13522, 13544, 13545, 10183, 13546, 8416, 13550, 3880, 13551, 2] */ import Module00057 from '../../../../by-id/module-00057.js'; /* Metro dependency 57 */ import Native from '../../../../external/discord_common/js/packages/tokens/native.tsx'; /* Metro dependency 697 */ import UseWindowDimensionsNative from '../../../screen/useWindowDimensions.native.tsx'; /* Metro dependency 1478 */ import UseSafeAreaInsetsNative from '../../../safe_area/useSafeAreaInsets.native.tsx'; /* Metro dependency 1585 */ import ReanimatedRexport from '../../../reanimated/ReanimatedRexport.tsx'; /* Metro dependency 4017 */ import BountyStore from '../../BountyStore.tsx'; /* Metro dependency 7092 */ import BountiesModalActionCreators from './BountiesModalActionCreators.tsx'; /* Metro dependency 13515 */ import BountiesScrollPromptFooter from './BountiesScrollPromptFooter.tsx'; /* Metro dependency 13518 */ 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 PlatformUtilsModule from '../../../../external/discord_common/js/shared/utils/PlatformUtils.tsx'; /* Metro dependency 478 */ import * as Module00491Module from '../../../../by-id/module-00491.js'; /* Metro dependency 491 */ import * as FluxModule from '../../../../external/discord_common/js/packages/flux/index.tsx'; /* Metro dependency 566 */ import * as ConstantsModule from '../../../../Constants.tsx'; /* Metro dependency 661 */ import * as DismissibleContentConstantsModule from '../../../dismissible_content/DismissibleContentConstants.tsx'; /* Metro dependency 1376 */ import * as ThemeContextProviderModule from '../../../../external/discord_common/js/packages/design/components/ThemeContextProvider/ThemeContextProvider.tsx'; /* Metro dependency 3880 */ import * as ReanimatedRexportModule from '../../../reanimated/ReanimatedRexport.tsx'; /* Metro dependency 4017 */ import * as CreateStylesModule from '../../../../design/components/Styles/native/createStyles.tsx'; /* Metro dependency 4501 */ import * as QuestConstantsModule from '../../QuestConstants.tsx'; /* Metro dependency 6528 */ import * as QuestContentModule from '../../../../external/discord_common/js/shared/shared-constants/QuestContent.tsx'; /* Metro dependency 6533 */ import * as AnalyticsActionsModule from '../../lib/analytics/AnalyticsActions.tsx'; /* Metro dependency 7110 */ import * as AnalyticsTypesModule from '../../lib/analytics/AnalyticsTypes.tsx'; /* Metro dependency 7120 */ import * as AdCreativeTypeModule from '../../../../external/discord_common/js/shared/shared-constants/AdCreativeType.tsx'; /* Metro dependency 7121 */ import * as FlashListModule from '../../../../external/discord_common/js/packages/flash-list/index.jsx'; /* Metro dependency 8416 */ import * as QuestHooksModule from '../../hooks/QuestHooks.tsx'; /* Metro dependency 9483 */ import * as BountiesStage1ExperimentModule from '../../experiments/BountiesStage1Experiment.tsx'; /* Metro dependency 9530 */ import * as BountiesScrollPromptFooterModule from './BountiesScrollPromptFooter.tsx'; /* Metro dependency 13518 */ import * as UseBountiesRecapScrollModule from './useBountiesRecapScroll.tsx'; /* Metro dependency 13520 */ import * as UseBountiesRecapOrbCountModule from './useBountiesRecapOrbCount.tsx'; /* Metro dependency 13521 */ import * as BountiesScrollVideoItemModule from './BountiesScrollVideoItem.tsx'; /* Metro dependency 13522 */ import * as BountiesScrollRecapPageModule from './BountiesScrollRecapPage.tsx'; /* Metro dependency 13546 */ import * as ThemeTypesModule from '../../../../external/discord_common/js/packages/design/shared/ThemeTypes.tsx'; /* Metro dependency 13551 */ function _fun102693(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#102693, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:6, offset: 0x02244f89, size: 790 bytes, params: 8, frame: 19 const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); let value = QuestConstantsModule; const env0_7 = value.DEFAULT_PLACEHOLDER_ENTRYPOINT_BOUNTY_ID; const env0_8 = value.QuestsExperimentLocations; value = require(33) /* metro dependency 33 */; const env0_11 = value.jsx; const env0_12 = value.jsxs; const env0_13 = (PlatformUtilsModule).isAndroid(); object = {code: 'function isScrollEventInBounds_BountiesModalContentScrollTsx1(event){const maxOffset=Math.max(0,event.contentSize.height-event.layoutMeasurement.height);return event.contentOffset.y>=0&&event.contentOffset.y<=maxOffset;}'}; const env0_20 = _fun102745(); const env0_21 = (CreateStylesModule).createStyles(_fun102747); object = {code: 'function BountiesModalContentScrollTsx2(){const{scrollY,index,slotHeight,interpolate,FADE_DEADBAND,Extrapolation}=this.__closure;const distance=Math.abs(scrollY.get()-index*slotHeight)/slotHeight;return{opacity:interpolate(distance,[0,FADE_DEADBAND,1],[1,1,0],Extrapolation.CLAMP)};}'}; object = {code: 'function BountiesModalContentScrollTsx3(event){const{scrollY,isDraggingSharedValue,isScrollingInBoundsSharedValue,isScrollEventInBounds}=this.__closure;scrollY.set(event.contentOffset.y);if(isDraggingSharedValue.get()){isScrollingInBoundsSharedValue.set(isScrollEventInBounds(event));}}'}; object = {code: 'function BountiesModalContentScrollTsx4(event){const{isDraggingSharedValue,isScrollingInBoundsSharedValue,isScrollEventInBounds}=this.__closure;isDraggingSharedValue.set(true);isScrollingInBoundsSharedValue.set(isScrollEventInBounds(event));}'}; object = {code: 'function BountiesModalContentScrollTsx5(){const{isDraggingSharedValue,IS_ANDROID,isScrollingInBoundsSharedValue}=this.__closure;isDraggingSharedValue.set(false);if(!IS_ANDROID){isScrollingInBoundsSharedValue.set(false);}}'}; object = {code: 'function BountiesModalContentScrollTsx6(event){const{showRecapPullZone,runOnJS,handleRecapMomentumEnd,isScrollingInBoundsSharedValue}=this.__closure;if(showRecapPullZone){runOnJS(handleRecapMomentumEnd)(event);}isScrollingInBoundsSharedValue.set(false);}'}; object = {code: 'function BountiesModalContentScrollTsx7(){const{scrollY,slotHeight,lastBountyIndex}=this.__closure;return Math.min(Math.max(Math.round(scrollY.get()/slotHeight),0),lastBountyIndex);}'}; object = {code: 'function BountiesModalContentScrollTsx8(next,prev){const{runOnJS,commitSwipe}=this.__closure;if(next!==prev){runOnJS(commitSwipe)(next);}}'}; object = {code: 'function BountiesModalContentScrollTsx9(){const{showRecapPullZone,scrollY,lastBountyScrollOffset,RECAP_SNAP_EPSILON}=this.__closure;return showRecapPullZone&&scrollY.get()>=lastBountyScrollOffset-RECAP_SNAP_EPSILON;}'}; object = {code: 'function BountiesModalContentScrollTsx10(show,previousShow){const{runOnJS,setShowRecapFooter}=this.__closure;if(show!==previousShow){runOnJS(setShowRecapFooter)(show);}}'}; object = {code: 'function BountiesModalContentScrollTsx11(){const{showRecapPullZone,scrollY,lastBountyScrollOffset}=this.__closure;return showRecapPullZone&&scrollY.get()>lastBountyScrollOffset;}'}; object = {code: 'function BountiesModalContentScrollTsx12(revealed,previousRevealed){const{runOnJS,setIsRecapPageRevealed}=this.__closure;if(revealed!==previousRevealed){runOnJS(setIsRecapPageRevealed)(revealed);}}'}; object = {code: 'function BountiesModalContentScrollTsx13(){const{showRecapPullZone,scrollY,fullRecapScrollOffset,RECAP_SNAP_EPSILON}=this.__closure;return showRecapPullZone&&scrollY.get()>=fullRecapScrollOffset-RECAP_SNAP_EPSILON;}'}; object = {code: 'function BountiesModalContentScrollTsx14(onTop,previousOnTop){const{runOnJS,setIsRecapPageOnTop}=this.__closure;if(onTop!==previousOnTop){runOnJS(setIsRecapPageOnTop)(onTop);}}'}; object = {code: 'function BountiesModalContentScrollTsx15(){const{getRevealProgress,scrollY,lastBountyScrollOffset,recapRevealHeight}=this.__closure;return getRevealProgress(scrollY.get(),lastBountyScrollOffset,recapRevealHeight);}'}; object = {code: 'function BountiesModalContentScrollTsx16(){const{interpolate,recapPullProgress,Extrapolation}=this.__closure;return{opacity:interpolate(recapPullProgress.get(),[0,1],[0,1],Extrapolation.CLAMP)};}'}; object = {code: 'function BountiesModalContentScrollTsx17(){const{interpolate,recapPullProgress,FOOTER_FADE_START_PROGRESS,FOOTER_FADE_END_PROGRESS,Extrapolation}=this.__closure;return{opacity:interpolate(recapPullProgress.get(),[FOOTER_FADE_START_PROGRESS,FOOTER_FADE_END_PROGRESS],[1,0],Extrapolation.CLAMP)};}'}; object = {code: 'function BountiesModalContentScrollTsx18(){const{scrollY,lastBountyScrollOffset,slotHeight,recapPullProgress,getRevealProgress,recapRevealHeight,interpolate,FOOTER_FADE_START_PROGRESS,FOOTER_FADE_END_PROGRESS,Extrapolation}=this.__closure;const progress=scrollY.get()>=lastBountyScrollOffset-slotHeight/2?recapPullProgress.get():getRevealProgress(scrollY.get(),0,recapRevealHeight);return{opacity:interpolate(progress,[FOOTER_FADE_START_PROGRESS,FOOTER_FADE_END_PROGRESS],[1,0],Extrapolation.CLAMP)};}'}; object = {code: 'function BountiesModalContentScrollTsx19(){const{recapPullProgress,FOOTER_FADE_END_PROGRESS}=this.__closure;return recapPullProgress.get() ) ); } function BountiesRecapPullZone({height}) { // fn#102695, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:1032, offset: 0x01f57953, size: 41 bytes, params: 2, frame: 14 return ; } function BountiesScrollVideoItemContainer({index, slotHeight, scrollY, style, children}) { // fn#102696, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:1581, offset: 0x022452d6, size: 244 bytes, params: 2, frame: 23 const useAnimatedStyle = ReanimatedRexportModule.useAnimatedStyle; const BountiesScrollVideoItemContainerI2 = BountiesScrollVideoItemContainerI; const object = {scrollY: scrollY, index: index, slotHeight: slotHeight}; object.interpolate = ReanimatedRexportModule.interpolate; object.FADE_DEADBAND = 0.3; const Extrapolation = ReanimatedRexportModule.Extrapolation; object.Extrapolation = Extrapolation; BountiesScrollVideoItemContainerI2.__closure = object; BountiesScrollVideoItemContainerI2.__workletHash = 15300322839358; BountiesScrollVideoItemContainerI2.__initData = env0_22; const value2 = Reflect.apply(useAnimatedStyle, ReanimatedRexportModule, [BountiesScrollVideoItemContainerI2]); const View = (ReanimatedRexport).View; return ( {children} ); function BountiesScrollVideoItemContainerI() { // fn#102697, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:1714, owner: BountiesScrollVideoItemContainer.i, offset: 0x022453ca, size: 145 bytes, params: 1, frame: 19 const Math = global.Math; const abs = Math.abs; const value2 = scrollY.get(); const indexBinding = index; const slotHeightBinding = slotHeight; const value = Reflect.apply(abs, Math, [value2 - indexBinding * slotHeightBinding]) / slotHeightBinding; const interpolate = ReanimatedRexportModule.interpolate; const Extrapolation = ReanimatedRexportModule.Extrapolation; const CLAMP = Extrapolation.CLAMP; return {opacity: Reflect.apply(interpolate, ReanimatedRexportModule, [value, [0, 0.3, 1], [1, 1, 0], CLAMP])}; } } function BountiesModalContentScrollInner({initialBountyId, sourceQuestContent}) { // fn#102698, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:6344, offset: 0x0224545b, size: 4162 bytes, params: 2, frame: 59 var object4; const styles = useStyles(); const height = (UseWindowDimensionsNative)().height; const height3 = height; let binding = env0_4; const value3 = binding.useRef(null); binding = env0_4; const useState = binding.useState; const BOUNTIES_MODAL_BASE_FOOTER_HEIGHT = (BountiesScrollPromptFooterModule).BOUNTIES_MODAL_BASE_FOOTER_HEIGHT; const value5 = height3(Reflect.apply(useState, binding, [BOUNTIES_MODAL_BASE_FOOTER_HEIGHT]), 2); let property = value5[0]; var env0_4 = value5[1]; binding = env0_4; let closure = _fun102699; const value6 = binding.useCallback(closure, []); const value7 = useBountiesScrollVideoLayout({footerHeight: property}); const useQuestHomeBounties = QuestHooksModule.useQuestHomeBounties; const env0_6 = Reflect.apply(useQuestHomeBounties, QuestHooksModule, []).questHomeBounties; property = height3(env0_4.useState(_fun102702), 1)[0]; const BountiesStage1Experiment = (BountiesStage1ExperimentModule).BountiesStage1Experiment; const useConfig = BountiesStage1Experiment.useConfig; const VIDEO_MODAL_MOBILE = QuestsExperimentLocations.VIDEO_MODAL_MOBILE; const {orbAmount, rewardTimerSeconds} = Reflect.apply(useConfig, BountiesStage1Experiment, [{location: VIDEO_MODAL_MOBILE}]); const value10 = (FluxModule).useStateFromStores([BountyStore], _fun102704, [property, orbAmount]); const value11 = (FluxModule).useStateFromStores([BountyStore], _fun102705, [property[0], rewardTimerSeconds]); const height2 = value7.height; const value12 = height2 + PX_8; const value13 = property.length - 1; const env0_13 = value13; const value14 = value10 > 0; const value15 = value13 * value12; const value16 = value15 + height2; const env0_17 = value16; const value17 = env0_4.useMemo(_fun102706, [value16, value15, height2]); const useBountiesRecapScroll = UseBountiesRecapScrollModule.useBountiesRecapScroll; const handleRecapMomentumEnd = Reflect.apply(useBountiesRecapScroll, UseBountiesRecapScrollModule, [{listRef: value3, enabled: value14, offsets: value17}]).handleRecapMomentumEnd; const handleRecapMomentumEnd2 = handleRecapMomentumEnd; const value18 = env0_4.useMemo(_fun102707, [property, value16, value14, value12]); const [property3, property4] = height3(env0_4.useState(false), 2); const property42 = property4; const [property5, property6] = height3(env0_4.useState(false), 2); const [property7, property8] = height3(env0_4.useState(true), 2); const property82 = property8; const [property9, property10] = height3(env0_4.useState(false), 2); const property102 = property10; const value28 = height3(env0_4.useState(0), 2); const property11 = value28[0]; const property112 = property11; const env0_26 = value28[1]; const value29 = (ReanimatedRexportModule).useSharedValue(false); const env0_27 = value29; const value30 = (ReanimatedRexportModule).useSharedValue(false); const env0_28 = value30; const value31 = (ReanimatedRexportModule).useSharedValue(0); const env0_29 = value31; const value33 = height3((require(7013) /* metro dependency 7013: useSelectedDismissibleContent */).useSelectedDismissibleContent(property.length > 1 ? [(require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent.BOUNTIES_SWIPE_UP_NUX] : []), 2); const property12 = value33[0]; const property13 = value33[1]; const property132 = property13; const DismissibleContent = (require(1365) /* metro dependency 1365: dismissible_content */).DismissibleContent; const BOUNTIES_SWIPE_UP_NUX = DismissibleContent.BOUNTIES_SWIPE_UP_NUX; const r18 = property11 === 0 && property12 === BOUNTIES_SWIPE_UP_NUX; const env0_31 = r18; let r13 = value11 && r18; const value36 = env0_4.useMemo(_fun102709, []); const env0_32 = value36; const env0_33 = env0_4.useRef(0); const env0_34 = env0_4.useRef(0); env0_4.useEffect(_fun102710, []); const value37 = env0_4.useCallback(_fun102711, [value36]); const env0_35 = value37; const value38 = env0_4.useCallback(_fun102712, [property13, value37, r18]); const env0_36 = value38; const env0_37 = (UseBountiesRecapOrbCountModule).useBountiesRecapOrbCount({scrollY: value31, lastBountyScrollOffset: value15, recapRevealHeight: height2, targetOrbAmount: value10, enabled: value14}); env0_4.useEffect(_fun102713, [property, property11]); const value39 = env0_4.useCallback(_fun102714, [property, property11, rewardTimerSeconds, sourceQuestContent]); const env0_38 = env0_4.useCallback(_fun102715, [sourceQuestContent]); const useAnimatedScrollHandler = ReanimatedRexportModule.useAnimatedScrollHandler; object4 = {}; closure = onScroll_102716; closure.__closure = {scrollY: value31, isDraggingSharedValue: value30, isScrollingInBoundsSharedValue: value29, isScrollEventInBounds: property42}; closure.__workletHash = 7942598540397; closure.__initData = property82; object4.onScroll = closure; closure = onBeginDrag_102717; closure.__closure = {isDraggingSharedValue: value30, isScrollingInBoundsSharedValue: value29, isScrollEventInBounds: property42}; closure.__workletHash = 14039038912528; closure.__initData = property102; object4.onBeginDrag = closure; closure = onEndDrag_102718; closure.__closure = {isDraggingSharedValue: value30, IS_ANDROID: env0_13, isScrollingInBoundsSharedValue: value29}; closure.__workletHash = 9975335138319; closure.__initData = property112; object4.onEndDrag = closure; closure = onMomentumEnd_102719; const object = {showRecapPullZone: value14}; object.runOnJS = ReanimatedRexportModule.runOnJS; object.handleRecapMomentumEnd = handleRecapMomentumEnd; object.isScrollingInBoundsSharedValue = value29; closure.__closure = object; closure.__workletHash = 13684210320337; closure.__initData = env0_26; object4.onMomentumEnd = closure; const value40 = Reflect.apply(useAnimatedScrollHandler, ReanimatedRexportModule, [object4]); let useAnimatedReaction = ReanimatedRexportModule.useAnimatedReaction; closure = BountiesModalContentScrollInnerRt; closure.__closure = {scrollY: value31, slotHeight: value12, lastBountyIndex: value13}; closure.__workletHash = 14048843158960; closure.__initData = env0_27; const BountiesModalContentScrollInnerSt2 = BountiesModalContentScrollInnerSt; BountiesModalContentScrollInnerSt2.__closure = {runOnJS: ReanimatedRexportModule.runOnJS, commitSwipe: value38}; BountiesModalContentScrollInnerSt2.__workletHash = 14015091539518; BountiesModalContentScrollInnerSt2.__initData = env0_28; Reflect.apply(useAnimatedReaction, ReanimatedRexportModule, [closure, BountiesModalContentScrollInnerSt2]); useAnimatedReaction = ReanimatedRexportModule.useAnimatedReaction; closure = BountiesModalContentScrollInnerIt; object4 = {showRecapPullZone: value14, scrollY: value31, lastBountyScrollOffset: value15}; const RECAP_SNAP_EPSILON = UseBountiesRecapScrollModule.RECAP_SNAP_EPSILON; object4.RECAP_SNAP_EPSILON = RECAP_SNAP_EPSILON; closure.__closure = object4; closure.__workletHash = 6584708256992; closure.__initData = env0_29; const BountiesModalContentScrollInnerAt2 = BountiesModalContentScrollInnerAt; BountiesModalContentScrollInnerAt2.__closure = {runOnJS: ReanimatedRexportModule.runOnJS, setShowRecapFooter: property10}; BountiesModalContentScrollInnerAt2.__workletHash = 10788669301891; BountiesModalContentScrollInnerAt2.__initData = property132; Reflect.apply(useAnimatedReaction, ReanimatedRexportModule, [closure, BountiesModalContentScrollInnerAt2]); useAnimatedReaction = ReanimatedRexportModule.useAnimatedReaction; closure = BountiesModalContentScrollInnerCt; closure.__closure = {showRecapPullZone: value14, scrollY: value31, lastBountyScrollOffset: value15}; closure.__workletHash = 6186370630693; closure.__initData = env0_31; const BountiesModalContentScrollInnerUt2 = BountiesModalContentScrollInnerUt; BountiesModalContentScrollInnerUt2.__closure = {runOnJS: ReanimatedRexportModule.runOnJS, setIsRecapPageRevealed: property4}; BountiesModalContentScrollInnerUt2.__workletHash = 12713474352874; BountiesModalContentScrollInnerUt2.__initData = env0_32; Reflect.apply(useAnimatedReaction, ReanimatedRexportModule, [closure, BountiesModalContentScrollInnerUt2]); useAnimatedReaction = ReanimatedRexportModule.useAnimatedReaction; closure = BountiesModalContentScrollInnerDt; closure.__closure = {showRecapPullZone: value14, scrollY: value31, fullRecapScrollOffset: value16, RECAP_SNAP_EPSILON: RECAP_SNAP_EPSILON}; closure.__workletHash = 5669564400667; closure.__initData = env0_33; const BountiesModalContentScrollInner_t2 = BountiesModalContentScrollInner_t; BountiesModalContentScrollInner_t2.__closure = {runOnJS: ReanimatedRexportModule.runOnJS, setIsRecapPageOnTop: property6}; BountiesModalContentScrollInner_t2.__workletHash = 8102193741774; BountiesModalContentScrollInner_t2.__initData = env0_34; Reflect.apply(useAnimatedReaction, ReanimatedRexportModule, [closure, BountiesModalContentScrollInner_t2]); const value41 = env0_4.useMemo(_fun102728, [height2, value14]); const value42 = env0_4.useMemo(_fun102729, [styles.listWrapper, value7]); const value43 = env0_4.useMemo(_fun102730, [value7.top]); const value44 = env0_4.useMemo(_fun102731, [value7.width, value7.height]); const env0_39 = value44; const value45 = env0_4.useMemo(_fun102732, [styles.closeButton, value7.top, value7.left, value7.width]); const value46 = env0_4.useMemo(_fun102733, [property5, styles.recapPage, value7.top, value7.left, value7.width, height]); const useDerivedValue = ReanimatedRexportModule.useDerivedValue; closure = BountiesModalContentScrollInnerGt; const getRevealProgress = UseBountiesRecapScrollModule.getRevealProgress; closure.__closure = {getRevealProgress: getRevealProgress, scrollY: value31, lastBountyScrollOffset: value15, recapRevealHeight: height2}; closure.__workletHash = 8427964721554; closure.__initData = env0_35; const value47 = Reflect.apply(useDerivedValue, ReanimatedRexportModule, [closure]); const env0_40 = value47; let useAnimatedStyle = ReanimatedRexportModule.useAnimatedStyle; closure = Et; object4 = {interpolate: ReanimatedRexportModule.interpolate, recapPullProgress: value47}; const Extrapolation = ReanimatedRexportModule.Extrapolation; object4.Extrapolation = Extrapolation; closure.__closure = object4; closure.__workletHash = 1497321349449; closure.__initData = env0_36; const value48 = Reflect.apply(useAnimatedStyle, ReanimatedRexportModule, [closure]); useAnimatedStyle = ReanimatedRexportModule.useAnimatedStyle; closure = Ot; object4 = {interpolate: ReanimatedRexportModule.interpolate, recapPullProgress: value47, FOOTER_FADE_START_PROGRESS: env0_17, FOOTER_FADE_END_PROGRESS: handleRecapMomentumEnd2}; object4.Extrapolation = Extrapolation; closure.__closure = object4; closure.__workletHash = 3685190194249; closure.__initData = env0_37; const value49 = Reflect.apply(useAnimatedStyle, ReanimatedRexportModule, [closure]); useAnimatedStyle = ReanimatedRexportModule.useAnimatedStyle; closure = ft; object4 = {scrollY: value31, lastBountyScrollOffset: value15, slotHeight: value12, recapPullProgress: value47}; object4.getRevealProgress = getRevealProgress; object4.recapRevealHeight = height2; object4.interpolate = ReanimatedRexportModule.interpolate; object4.FOOTER_FADE_START_PROGRESS = env0_17; object4.FOOTER_FADE_END_PROGRESS = handleRecapMomentumEnd2; object4.Extrapolation = Extrapolation; closure.__closure = object4; closure.__workletHash = 15092194442650; closure.__initData = env0_38; const value50 = Reflect.apply(useAnimatedStyle, ReanimatedRexportModule, [closure]); useAnimatedReaction = ReanimatedRexportModule.useAnimatedReaction; closure = Pt; closure.__closure = {recapPullProgress: value47, FOOTER_FADE_END_PROGRESS: handleRecapMomentumEnd2}; closure.__workletHash = 7847901178403; closure.__initData = env0_39; const Rt2 = Rt; Rt2.__closure = {runOnJS: ReanimatedRexportModule.runOnJS, setIsCloseButtonPressable: property8}; Rt2.__workletHash = 13255883555182; Rt2.__initData = env0_40; Reflect.apply(useAnimatedReaction, ReanimatedRexportModule, [closure, Rt2]); const value51 = env0_4.useCallback(_fun102740, [value12, value31, value44, sourceQuestContent, value7.width, value7.height, property11, property3, property5, value29]); const value52 = env0_4.useMemo(_fun102741, [property11, property3, property5, value7.width, value7.height]); const value53 = env0_4.useCallback(function(a0) { a0.size = height; }, [height2]); if (property.length === 0) { return null; } const r9 = ( r13 ? ((Component) => )(importDefault(13544) /* metro dependency 13544: BountiesScrollPromptNuxFooter */) : ( property9 ? ((BountiesScrollRecapFooter) => )((require(13545) /* metro dependency 13545: BountiesScrollRecapFooter */).BountiesScrollRecapFooter) : null ) ); const items4 = [ value14 ? ((View) => {((QuestContentImpressionTrackerNative) => {children_102743})((require(10183) /* metro dependency 10183: QuestContentImpressionTrackerNative */).QuestContentImpressionTrackerNative)})((importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).View) : null, ]; const AnimatedFlashList = (FlashListModule).AnimatedFlashList; items4[1] = ( ); const View3 = (importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).View; items4[2] = ( { property7 ? ((Component) => )(importDefault(13550) /* metro dependency 13550: BountiesModalCloseButton */) : null } ); r13 = !r13 ? property9 : r13; items4[3] = ( {r9} ); return ( {items4} ); function _fun102699({nativeEvent}) { // fn#102699, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:6572, offset: 0x0224649d, size: 55 bytes, params: 2, frame: 11 const Math = global.Math; env0_4(Math.ceil(nativeEvent.layout.height)); } function useBountiesScrollVideoLayout({footerHeight}) { // fn#102700, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:6634, owner: BountiesModalContentScrollInner.useBountiesScrollVideoLayout, offset: 0x022464d4, size: 149 bytes, params: 2, frame: 18 const {width, height} = (UseWindowDimensionsNative)(); const value3 = (UseSafeAreaInsetsNative)(); return env1_4.useMemo(_fun102701, [width, height, value3.top, value3.left, value3.right, footerHeight]); function _fun102701() { // fn#102701, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:6761, offset: 0x02246569, size: 181 bytes, params: 1, frame: 17 var r3; var r5; var value8; const widthBinding = width; let binding = Module00057; const value3 = widthBinding - binding.left - binding.right; const value5 = height - binding.top - footerHeight; const value7 = value3 / env2_15; if (value7 > value5) { value8 = value5 * env2_15; r3 = value5; r5 = value8; } else { r3 = value7; r5 = value3; } const object = {}; binding = Module00057; object.top = binding.top; let Math = global.Math; object.left = Math.floor(binding.left + (value3 - r5) / 2); Math = global.Math; object.width = Math.floor(r5); Math = global.Math; object.height = Math.floor(r3); return object; } } function _fun102702() { // fn#102702, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:7038, offset: 0x0224661e, size: 86 bytes, params: 1, frame: 17 var r0; var items2; var value; const index = questHomeBounties.findIndex(function({id}) { return id === initialBountyId; }); if (index <= 0) { r0 = questHomeBounties; } else { questHomeBountiesBinding = questHomeBounties; value = questHomeBountiesBinding.slice(index); items2 = []; value = arraySpread(items2, value, 0, index); arraySpread(items2, questHomeBountiesBinding.slice(0, index), value, index); r0 = items2; } return r0; } function _fun102704() { // fn#102704, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:7296, offset: 0x02246674, size: 37 bytes, params: 1, frame: 12 return BountyStore.getCompletedBountyCount(env0_7) * orbAmount; } function _fun102705() { // fn#102705, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:7388, offset: 0x02246699, size: 67 bytes, params: 1, frame: 13 if (DismissibleContentConstantsModule.ContentDismissActionType == null) { return false; } const bountyVideoProgress = BountyStore.getBountyVideoProgress(DismissibleContentConstantsModule.ContentDismissActionType.id); return bountyVideoProgress != null && bountyVideoProgress.maxTimestampSec >= rewardTimerSeconds; } function _fun102706() { // fn#102706, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:7582, offset: 0x022466dc, size: 34 bytes, params: 1, frame: 3 return {lastBounty: Native.space.PX_8, fullRecap: env0_17, revealHeight: height}; } function _fun102707() { // fn#102707, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:7753, offset: 0x022466fe, size: 49 bytes, params: 1, frame: 12 const value2 = env0_7.map(_fun102708); if (result) { value2.push(env0_17); } return value2; function _fun102708(a0, a1) { // fn#102708, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:7772, offset: 0x0224672f, size: 16 bytes, params: 3, frame: 2 return a1 * env1_12; } } function _fun102709() { // fn#102709, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:8394, offset: 0x01e79dae, size: 37 bytes, params: 1, frame: 11 const value = environment.__proto__; return (Module00491Module).v4(); } function _fun102710() { // fn#102710, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:8460, offset: 0x0224673f, size: 34 bytes, params: 1, frame: 10 const binding = env0_33; const Date = global.Date; binding.current = Date.now(); } function _fun102711(a0) { // fn#102711, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:8515, offset: 0x02246761, size: 231 bytes, params: 2, frame: 20 var value2; var value3; var value4; var moduleValue; var trackBountyVerticalScroll; var object; const VerticalScrollingDirection = (require(7120) /* metro dependency 7120: AnalyticsTypes */).VerticalScrollingDirection; const current = env0_34.current; if (a0 !== current) { env0_34.current = a0; value2 = global.Date.now(); value3 = value2 - env0_33.current; env0_33.current = value2; value4 = environment.__proto__; moduleValue = require(7110) /* metro dependency 7110: AnalyticsActions */; trackBountyVerticalScroll = moduleValue.trackBountyVerticalScroll; object = {}; object.scrollingType = (require(7120) /* metro dependency 7120: AnalyticsTypes */).BountyScrollingType.MANUAL; object.scrollingDirection = a0 > current ? VerticalScrollingDirection.DOWN : VerticalScrollingDirection.UP; object.verticalScrollingPosition = a0; object.scrollSessionId = env0_32; object.timeWatchedPreScrollMs = value3; Reflect.apply(trackBountyVerticalScroll, moduleValue, [object]); } } function _fun102712(a0) { // fn#102712, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:8894, offset: 0x02246848, size: 66 bytes, params: 2, frame: 13 env0_26(a0); env0_35(a0); let binding = env0_31; if (binding && a0 > 0) { binding = env0_30; value = environment.__proto__; binding(ContentDismissActionType.USER_DISMISS); } } function _fun102713() { // fn#102713, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:9093, offset: 0x0224688a, size: 99 bytes, params: 1, frame: 16 var value; const property = env0_7[env0_25]; if (property != null) { value = environment.__proto__; value = require(9484) /* metro dependency 9484: QuestActionCreators */; value.markAdContentSeen((require(7121) /* metro dependency 7121: AdCreativeType */).AdCreativeType.BOUNTY, [property.id]); } } function _fun102714() { // fn#102714, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:9255, offset: 0x022468ed, size: 385 bytes, params: 1, frame: 25 var maxTimestampSec; var r7; var r10; var value2; var bountyStoreBinding; var getBountyVideoProgress; var id; var value3; var value4; var value5; var value6; var moduleValue; var trackAdContentEvent; var object; var object2; var moduleValue2; var getQuestContentName; const QuestContent = (QuestContentModule).QuestContent; var VIDEO_MODAL_MOBILE; const property = env0_7[env0_25]; if (property != null) { value2 = environment.__proto__; bountyStoreBinding = BountyStore; getBountyVideoProgress = bountyStoreBinding.getBountyVideoProgress; id = property.id; value3 = Reflect.apply(getBountyVideoProgress, bountyStoreBinding, [id]); value4 = undefined; maxTimestampSec = value3 == null ? value4 : value3.maxTimestampSec; value5 = 0; r7 = maxTimestampSec ?? value5; r10 = (value3 == null ? value4 : value3.duration) ?? value5; value6 = 1000 * rewardTimerSeconds; moduleValue = require(7110) /* metro dependency 7110: AnalyticsActions */; trackAdContentEvent = moduleValue.trackAdContentEvent; object = {}; id = property.id; object.adContentId = id; object.adCreativeType = (require(7121) /* metro dependency 7121: AdCreativeType */).AdCreativeType.BOUNTY; object.event = AnalyticEvents.AD_VIDEO_MODAL_CLOSED; object2 = {}; moduleValue2 = require(7120) /* metro dependency 7120: AnalyticsTypes */; getQuestContentName = moduleValue2.getQuestContentName; VIDEO_MODAL_MOBILE = QuestContent.VIDEO_MODAL_MOBILE; object2.content_name = Reflect.apply(getQuestContentName, moduleValue2, [VIDEO_MODAL_MOBILE]); VIDEO_MODAL_MOBILE = QuestContent.VIDEO_MODAL_MOBILE; object2.content_id = VIDEO_MODAL_MOBILE; object2.video_progress = (require(9522) /* metro dependency 9522: VideoQuestUtils */).formatVideoProgressRatio(r7, r10); object2.threshold_met = 1000 * r7 >= value6; object2.reward_timer_seconds = value6 / 1000; object.properties = object2; object.sourceQuestContent = sourceQuestContent; Reflect.apply(trackAdContentEvent, moduleValue, [object]); } const value = environment.__proto__; (BountiesModalActionCreators).hideModal(); } function _fun102715() { // fn#102715, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:9881, offset: 0x02246a6e, size: 216 bytes, params: 1, frame: 20 const value = environment.__proto__; const trackAdContentEvent = AnalyticsActionsModule.trackAdContentEvent; const object = {}; object.adContentId = DEFAULT_PLACEHOLDER_ENTRYPOINT_BOUNTY_ID; const AdCreativeType = (AdCreativeTypeModule).AdCreativeType; const BOUNTY = AdCreativeType.BOUNTY; object.adCreativeType = BOUNTY; const AD_VIDEO_MODAL_CLOSED = AnalyticEvents.AD_VIDEO_MODAL_CLOSED; object.event = AD_VIDEO_MODAL_CLOSED; const object2 = {}; const getQuestContentName = AnalyticsTypesModule.getQuestContentName; const QuestContent = (QuestContentModule).QuestContent; let BOUNTIES_END_INTERSTITIAL = QuestContent.BOUNTIES_END_INTERSTITIAL; object2.content_name = Reflect.apply(getQuestContentName, AnalyticsTypesModule, [BOUNTIES_END_INTERSTITIAL]); BOUNTIES_END_INTERSTITIAL = QuestContent.BOUNTIES_END_INTERSTITIAL; object2.content_id = BOUNTIES_END_INTERSTITIAL; object.properties = object2; object.sourceQuestContent = sourceQuestContent; Reflect.apply(trackAdContentEvent, AnalyticsActionsModule, [object]); (BountiesModalActionCreators).hideModal(); } function BountiesModalContentScrollInnerOnScroll(a0) { // fn#102716, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:10272, owner: BountiesModalContentScrollInner.onScroll, offset: 0x02246b46, size: 79 bytes, params: 2, frame: 13 let binding = env0_29; let set = binding.set; Reflect.apply(set, binding, [a0.contentOffset.y]); const get = env0_28.get; if (Reflect.apply(get, binding, [])) { binding = env0_27; set = binding.set; value = environment.__proto__; Reflect.apply(set, binding, [env1_20(a0)]); } } function BountiesModalContentScrollInnerOnBeginDrag(a0) { // fn#102717, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:10510, owner: BountiesModalContentScrollInner.onBeginDrag, offset: 0x02246b95, size: 52 bytes, params: 2, frame: 13 env0_28.set(true); env0_27.set(env1_20(a0)); } function BountiesModalContentScrollInnerOnEndDrag() { // fn#102718, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:10710, owner: BountiesModalContentScrollInner.onEndDrag, offset: 0x02246bc9, size: 47 bytes, params: 1, frame: 12 env0_28.set(false); if (!env1_13) { env0_27.set(false); } } function BountiesModalContentScrollInnerOnMomentumEnd(a0) { // fn#102719, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:10903, owner: BountiesModalContentScrollInner.onMomentumEnd, offset: 0x02246bf8, size: 77 bytes, params: 2, frame: 13 var value2; var moduleValue; if (result) { value2 = environment.__proto__; moduleValue = require(4017) /* metro dependency 4017: ReanimatedRexport */; moduleValue.runOnJS(handleRecapMomentumEnd)(a0); } env0_27.set(false); } function BountiesModalContentScrollInnerRt() { // fn#102720, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:11163, owner: BountiesModalContentScrollInner.rt, offset: 0x02246c45, size: 84 bytes, params: 1, frame: 18 const Math = global.Math; const min = Math.min; const Math2 = global.Math; const max = Math2.max; const Math3 = global.Math; return Reflect.apply(min, Math, [Reflect.apply(max, Math2, [Math3.round(env0_29.get() / env0_12), 0]), env0_13]); } function BountiesModalContentScrollInnerSt(a0, a1) { // fn#102721, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:11329, owner: BountiesModalContentScrollInner.st, offset: 0x02246c99, size: 61 bytes, params: 3, frame: 13 var value; if (a0 !== a1) { value = environment.__proto__; value = require(4017) /* metro dependency 4017: ReanimatedRexport */; value.runOnJS(env0_36)(a0); } } function BountiesModalContentScrollInnerIt() { // fn#102722, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:11514, owner: BountiesModalContentScrollInner.it, offset: 0x02246cd6, size: 68 bytes, params: 1, frame: 14 var r0; var binding; var value2; var value; const resultBinding = result; if (resultBinding) { binding = env0_29; value2 = binding.get(); binding = Native.space.PX_8; value = environment.__proto__; value = value2 >= binding - (require(13520) /* metro dependency 13520: useBountiesRecapScroll */).RECAP_SNAP_EPSILON; r0 = value; } else { r0 = resultBinding; } return r0; } function BountiesModalContentScrollInnerAt(a0, a1) { // fn#102723, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:11737, owner: BountiesModalContentScrollInner.at, offset: 0x02246d1a, size: 61 bytes, params: 3, frame: 13 var value; if (a0 !== a1) { value = environment.__proto__; value = require(4017) /* metro dependency 4017: ReanimatedRexport */; value.runOnJS(env0_24)(a0); } } function BountiesModalContentScrollInnerCt() { // fn#102724, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:11929, owner: BountiesModalContentScrollInner.ct, offset: 0x02246d57, size: 33 bytes, params: 1, frame: 11 return result && env0_29.get() > Native.space.PX_8; } function BountiesModalContentScrollInnerUt(a0, a1) { // fn#102725, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:12076, owner: BountiesModalContentScrollInner.ut, offset: 0x02246d78, size: 61 bytes, params: 3, frame: 13 var value; if (a0 !== a1) { value = environment.__proto__; value = require(4017) /* metro dependency 4017: ReanimatedRexport */; value.runOnJS(env0_20)(a0); } } function BountiesModalContentScrollInnerDt() { // fn#102726, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:12272, owner: BountiesModalContentScrollInner.dt, offset: 0x02246db5, size: 68 bytes, params: 1, frame: 14 var r0; var binding; var value2; var value; const resultBinding = result; if (resultBinding) { binding = env0_29; value2 = binding.get(); binding = env0_17; value = environment.__proto__; value = value2 >= binding - (require(13520) /* metro dependency 13520: useBountiesRecapScroll */).RECAP_SNAP_EPSILON; r0 = value; } else { r0 = resultBinding; } return r0; } function BountiesModalContentScrollInner_t(a0, a1) { // fn#102727, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:12494, owner: BountiesModalContentScrollInner._t, offset: 0x02246df9, size: 61 bytes, params: 3, frame: 13 var value; if (a0 !== a1) { value = environment.__proto__; value = require(4017) /* metro dependency 4017: ReanimatedRexport */; value.runOnJS(env0_22)(a0); } } function _fun102728() { // fn#102728, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:12689, offset: 0x02246e36, size: 43 bytes, params: 1, frame: 14 return ( result ? ( ) : null ); } function _fun102729() { // fn#102729, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:12762, offset: 0x02246e61, size: 82 bytes, params: 1, frame: 4 return [styles.listWrapper, {top: 0, left: ReactNativeModule.View.left, width: ReactNativeModule.View.width, height: ReactNativeModule.View.top + ReactNativeModule.View.height + 97}]; } function _fun102730() { // fn#102730, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:12875, offset: 0x02246eb3, size: 29 bytes, params: 1, frame: 2 return {paddingTop: ReactNativeModule.View.top, paddingBottom: 97}; } function _fun102731() { // fn#102731, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:12941, offset: 0x02246ed0, size: 29 bytes, params: 1, frame: 3 return {width: ReactNativeModule.View.width, height: ReactNativeModule.View.height}; } function _fun102732() { // fn#102732, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:13014, offset: 0x02246eed, size: 146 bytes, params: 1, frame: 17 const items2 = [styles.closeButton]; const object = {}; const top = ReactNativeModule.View.top; let value = environment.__proto__; let PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8; object.top = top + PX_8; value = ReactNativeModule.View.left + ReactNativeModule.View.width; const PX_32 = (importDefault(697) /* metro dependency 697: native */).space.PX_32; value -= PX_32; PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8; object.left = value - PX_8; items2[1] = object; return items2; } function _fun102733() { // fn#102733, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:13180, offset: 0x02246f7f, size: 113 bytes, params: 1, frame: 14 var r2; var r4; const items2 = [styles.recapPage]; const object = {}; let binding = ReactNativeModule.View; object.top = binding.top; object.left = binding.left; object.width = binding.width; const heightBinding = height; object.height = heightBinding - binding.top; let value = null; if (env0_21) { value = environment.__proto__; binding = env1_14; r2 = {zIndex: binding}; r4 = binding; } else { r2 = value; r4 = heightBinding; } copyDataProperties(object, r2, r4); items2[1] = object; return items2; } function BountiesModalContentScrollInnerGt() { // fn#102734, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:13348, owner: BountiesModalContentScrollInner.gt, offset: 0x02246ff0, size: 64 bytes, params: 1, frame: 15 const value = environment.__proto__; return (UseBountiesRecapScrollModule).getRevealProgress(env0_29.get(), Native.space.PX_8, height); } function Et() { // fn#102735, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:13597, owner: BountiesModalContentScrollInner.Et, offset: 0x02247030, size: 106 bytes, params: 1, frame: 20 let value = environment.__proto__; value = require(4017) /* metro dependency 4017: ReanimatedRexport */; const interpolate = value.interpolate; const value3 = env0_40.get(); const Extrapolation = (require(4017) /* metro dependency 4017: ReanimatedRexport */).Extrapolation; const CLAMP = Extrapolation.CLAMP; return {opacity: Reflect.apply(interpolate, value, [value3, [0, 1], [0, 1], CLAMP])}; } function Ot() { // fn#102736, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:13875, owner: BountiesModalContentScrollInner.Ot, offset: 0x0224709a, size: 119 bytes, params: 1, frame: 22 const interpolate = ReanimatedRexportModule.interpolate; const value3 = env0_40.get(); const items2 = [env1_17, env1_18]; const Extrapolation = ReanimatedRexportModule.Extrapolation; const CLAMP = Extrapolation.CLAMP; return {opacity: Reflect.apply(interpolate, ReanimatedRexportModule, [value3, items2, [1, 0], CLAMP])}; } function ft() { // fn#102737, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:14209, owner: BountiesModalContentScrollInner.ft, offset: 0x02247111, size: 214 bytes, params: 1, frame: 22 var r6; var value3; var moduleValue; if (env0_29.get() >= Native.space.PX_8 - env0_12 / 2) { r6 = env0_40.get(); } else { value3 = environment.__proto__; moduleValue = require(13520) /* metro dependency 13520: useBountiesRecapScroll */; r6 = moduleValue.getRevealProgress(env0_29.get(), 0, height); } const value = environment.__proto__; const interpolate = ReanimatedRexportModule.interpolate; const items2 = [env1_17, env1_18]; const Extrapolation = ReanimatedRexportModule.Extrapolation; const CLAMP = Extrapolation.CLAMP; return {opacity: Reflect.apply(interpolate, ReanimatedRexportModule, [r6, items2, [1, 0], CLAMP])}; } function Pt() { // fn#102738, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:14740, owner: BountiesModalContentScrollInner.Pt, offset: 0x022471e7, size: 29 bytes, params: 1, frame: 9 return env0_40.get() < env1_18; } function Rt(a0, a1) { // fn#102739, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:14872, owner: BountiesModalContentScrollInner.Rt, offset: 0x02247204, size: 61 bytes, params: 3, frame: 13 var value; if (a0 !== a1) { value = environment.__proto__; value = require(4017) /* metro dependency 4017: ReanimatedRexport */; value.runOnJS(env0_23)(a0); } } function _fun102740({item, index}) { // fn#102740, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:15059, offset: 0x02247241, size: 193 bytes, params: 2, frame: 22 const bountiesScrollVideoItemContainerBindingProps = {index: index, slotHeight: env0_12, scrollY: env0_29, style: env0_39}; const BountiesScrollVideoItem = (BountiesScrollVideoItemModule).BountiesScrollVideoItem; const sourceQuestContentBinding = sourceQuestContent; return ( ); } function _fun102741() { // fn#102741, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:15422, offset: 0x02247302, size: 56 bytes, params: 1, frame: 3 return {activeIndex: env0_25, isRecapPageRevealed: env0_19, isRecapPageOnTop: env0_21, width: ReactNativeModule.View.width, height: ReactNativeModule.View.height}; } function BountiesModalContentScrollInnerChildren() { // fn#102743, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:16048, owner: BountiesModalContentScrollInner.children, offset: 0x0224734e, size: 79 bytes, params: 1, frame: 15 const BountiesScrollRecapPage = (BountiesScrollRecapPageModule).BountiesScrollRecapPage; return ( ); } } function _fun102745() { // fn#102745, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:714, offset: 0x0224739d, size: 48 bytes, params: 1, frame: 2 const closure = function(a0) { var Math = global.Math; return a0.contentOffset.y >= 0 && a0.contentOffset.y <= Math.max(0, a0.contentSize.height - a0.layoutMeasurement.height); }; closure.__closure = {}; closure.__workletHash = 14148486927190; closure.__initData = env0_19; return closure; } function _fun102747() { // fn#102747, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:1135, offset: 0x02247422, size: 83 bytes, params: 1, frame: 3 return {root: {flex: 1}, recapPage: {'position': 'absolute', 'zIndex': 0}, listWrapper: {'position': 'absolute', 'zIndex': 1}, closeButton: {position: 'absolute', zIndex: env0_14}}; } function BountiesModalContentScroll({bountyId, sourceQuestContent}) { // fn#102748, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13707:16725, offset: 0x02247475, size: 119 bytes, params: 2, frame: 19 const ThemeContextProvider = (ThemeContextProviderModule).ThemeContextProvider; const ThemeTypes = (ThemeTypesModule).ThemeTypes; const DARKER = ThemeTypes.DARKER; return ( ); } } global.__d(_fun102693, 13517, [57, 31, 27, 7092, 6528, 661, 1376, 33, 478, 697, 4501, 4017, 1478, 1585, 13518, 9483, 9530, 566, 13520, 1365, 7013, 491, 7110, 7120, 13521, 9484, 7121, 6533, 9522, 13515, 13522, 13544, 13545, 10183, 13546, 8416, 13550, 3880, 13551, 2]) /* metro module 13517, dependencies: [57, 31, 27, 7092, 6528, 661, 1376, 33, 478, 697, 4501, 4017, 1478, 1585, 13518, 9483, 9530, 566, 13520, 1365, 7013, 491, 7110, 7120, 13521, 9484, 7121, 6533, 9522, 13515, 13522, 13544, 13545, 10183, 13546, 8416, 13550, 3880, 13551, 2] */;