// Module ID: 14429 // Function ID: 14430 // Name: ItemSeparator // Dependencies: [32, 19, 17, 7490, 6753, 676, 1388, 21, 501, 712, 4668, 4119, 1494, 1629, 14430, 10723, 10750, 10751, 589, 14433, 14434, 514, 7518, 7508, 14436, 14437, 10516, 7507, 6758, 10743, 14427, 14438, 14468, 14469, 14470, 10996, 14471, 8068, 4761, 14475, 14476, 1360, 8070, 2] // Exports: default // Module 14429 (ItemSeparator) import ThemesDefault from "Themes" /* 712 */; import ThemeContextProvider from "ThemeContextProvider" /* 1360 */; import items28 from "items" /* 8070 */; import closure_3 from "_slicedToArray" /* 32 */; import closure_4 from "noop" /* 19 */; import get_ActivityIndicator from "get ActivityIndicator" /* 17 */; import closure_7 from "set" /* 7490 */; import QuestsExperimentLocations from "QuestsExperimentLocations" /* 6753 */; import { AnalyticEvents } from "ME" /* 676 */; import { ContentDismissActionType } from "ContentDismissActionType" /* 1388 */; import jsxProd from "jsxProd" /* 21 */; import PlatformTypes from "PlatformTypes" /* 501 */; import createCacheKey from "createCacheKey" /* 4668 */; require = arg1; function ItemSeparator(trailingItem) { let tmp = null; if (null != trailingItem.trailingItem) { let obj = { style: null }; obj = { height: null }; obj[0] = PX_8; obj[0] = obj; tmp = callback2(closure_6, obj); } return tmp; } function BountiesRecapPullZone(height) { const style = { height: height.height }; return callback2(closure_6, { style }); } function BountiesScrollVideoItemContainer(index) { index = index.index; const slotHeight = index.slotHeight; const scrollY = index.scrollY; const isPeekEnabled = index.isPeekEnabled; ({ style, children } = index); let obj = index(scrollY[11]); const fn = function c() { const result = (scrollY.get() - index * slotHeight) / slotHeight; const absolute = Math.abs(result); let num = 0; if (isPeekEnabled) { num = 0; if (result < 0) { num = 0; if (1 === index) { num = 0.8; } } } const obj = { opacity: index(scrollY[11]).interpolate(absolute, [0, 0.3, 1], items, index(scrollY[11]).Extrapolation.CLAMP) }; items = [1, 1, num]; return obj; }; obj = { scrollY, index, slotHeight, isPeekEnabled, PEEK_OPACITY: 0.8, interpolate: index(scrollY[11]).interpolate, FADE_DEADBAND: 0.3, Extrapolation: index(scrollY[11]).Extrapolation }; fn.__closure = obj; fn.__workletHash = 6532652233494; fn.__initData = closure_28; const animatedStyle = obj.useAnimatedStyle(fn); style = [, ]; style[0] = style; style[1] = animatedStyle; return callback2(slotHeight(scrollY[11]).View, { style, children }); } function BountiesModalContentScrollInner(arg0) { ({ initialBountyId: require, sourceQuestContent } = arg0); let width = sourceQuestContent; let height2; let callback; let React; let memo; let questHomeBounties; let first; let orbAmount; let ownedByVerticalScrollExperiment; let rewardTimerSeconds; ownedByVerticalScrollExperiment = undefined; let callback2; let first1; let height3; c15 = undefined; c16 = undefined; closure_17 = undefined; height3 = undefined; let result1; let sum1; let handleRecapMomentumEnd; let first2; closure_23 = undefined; let first3; closure_25 = undefined; c26 = undefined; let callback3; let first4; closure_29 = undefined; let sharedValue; let sharedValue1; let sharedValue2; let hasSingleUseSwipeUpNux; let dismissSingleUseSwipeUpNux; let hasRecurringSwipeUpNux; let dismissRecurringSwipeUpNux; closure_37 = undefined; hasRecurringSwipeUpNux = undefined; let memo3; closure_40 = undefined; closure_41 = undefined; let peekScale; let cancel; let dismissOnClose; let takeDidAutoScroll; let onPlaybackTimeChange; let onEndCardVisible; let pauseCountdown; let resumeCountdown; let memo4; callback2 = undefined; callback3 = undefined; closure_53 = undefined; closure_54 = undefined; let memo8; let derivedValue; let tmp = callback3(); height2 = tmp; const height = width(height2[12])().height; callback = height; let obj = React; const ref = React.useRef(null); [tmp7, c4] = callback(React.useState(require(height2[14]).BOUNTIES_MODAL_BASE_FOOTER_HEIGHT), 2); require = tmp7; width = undefined; height2 = undefined; callback = undefined; callback = React.useCallback((nativeEvent) => { _undefined(Math.ceil(nativeEvent.nativeEvent.layout.height)); }, []); const size = width(height2[12])(); width = size.width; height2 = size.height; let tmp9 = width(height2[13])(); callback = tmp9; let items = [width, height2, , , , ]; ({ top: arr[2], left: arr[3], right: arr[4] } = tmp9); items[5] = tmp7; memo = React.useMemo(() => { const rect = closure_3; const diff = width - closure_3.left - closure_3.right; const diff1 = height2 - closure_3.top - closure_0; let result = diff / result1; result1 = diff; if (result > diff1) { result1 = diff1 * result1; result = diff1; } return { top: rect.top, left: Math.floor(rect.left + (diff - result1) / 2), width: Math.floor(result1), height: Math.floor(result) }; }, items); obj1 = require(height2[15]); questHomeBounties = obj1.useQuestHomeBounties().questHomeBounties; first = callback(React.useState(() => { const findIndexResult = questHomeBounties.findIndex((id) => id.id === closure_0); let tmp2 = questHomeBounties; if (findIndexResult > 0) { const items = []; let arraySpreadResult = HermesBuiltin.arraySpread(arr.slice(findIndexResult), 0); arraySpreadResult = HermesBuiltin.arraySpread(arr.slice(0, findIndexResult), arraySpreadResult); tmp2 = items; } return tmp2; }), 1)[0]; let obj2 = require(height2[16]); const bountiesExperience = obj2.useBountiesExperience(ownedByVerticalScrollExperiment.VIDEO_MODAL_MOBILE); orbAmount = bountiesExperience.orbAmount; ownedByVerticalScrollExperiment = bountiesExperience.ownedByVerticalScrollExperiment; rewardTimerSeconds = bountiesExperience.rewardTimerSeconds; const scrollAffordanceVariant = bountiesExperience.scrollAffordanceVariant; callback2 = tmp12; let obj3 = require(height2[17]); let result = obj3.shouldUseScrollIndicatorOverlay(scrollAffordanceVariant); let obj4 = require(height2[18]); const items1 = [first]; const items2 = [first, orbAmount]; const stateFromStores = obj4.useStateFromStores(items1, () => first.getCompletedBountyCount(first) * orbAmount, items2); first1 = first[0]; let obj5 = require(height2[18]); const items3 = [first]; const items4 = [first1, rewardTimerSeconds]; height3 = memo.height; let sum = height3 + sum1; c15 = sum; let diff = first.length - 1; c16 = diff; closure_17 = tmp19; result1 = diff * sum; sum1 = result1 + height3; const items5 = [sum1, result1, height3]; const stateFromStores1 = obj5.useStateFromStores(items3, () => { if (null == first1) { return false; } else { const bountyVideoProgress = first.getBountyVideoProgress(tmp.id); let tmp4 = null != bountyVideoProgress; if (tmp4) { tmp4 = bountyVideoProgress.maxTimestampSec >= rewardTimerSeconds; } return tmp4; } }, items4); const memo1 = React.useMemo(() => ({ lastBounty: result1, fullRecap: sum1, revealHeight: height3 }), items5); let obj6 = require(height2[19]); handleRecapMomentumEnd = obj6.useBountiesRecapScroll({ listRef: ref, enabled: tmp19, offsets: memo1 }).handleRecapMomentumEnd; const items6 = [first, sum1, stateFromStores > 0, sum]; const memo2 = React.useMemo(() => { const mapped = first.map((arg0, arg1) => arg1 * closure_15); if (closure_17) { mapped.push(sum1); } return mapped; }, items6); const tmp24 = callback(React.useState(false), 2); first2 = tmp24[0]; closure_23 = tmp26; const tmp27 = callback(React.useState(false), 2); first3 = tmp27[0]; closure_25 = tmp29; let tmp6 = callback(React.useState(require(height2[14]).BOUNTIES_MODAL_BASE_FOOTER_HEIGHT), 2); [tmp31, tmp32] = callback(React.useState(true), 2); c26 = tmp32; const tmp30 = callback(React.useState(true), 2); [tmp34, tmp35] = callback(React.useState(false), 2); callback3 = tmp35; const tmp36 = callback(React.useState(0), 2); first4 = tmp36[0]; closure_29 = tmp36[1]; let obj7 = require(height2[11]); sharedValue = obj7.useSharedValue(false); let obj8 = require(height2[11]); sharedValue1 = obj8.useSharedValue(false); let obj9 = require(height2[11]); sharedValue2 = obj9.useSharedValue(0); let obj10 = require(height2[20]); obj = { isEligible: first.length > 1, location: ownedByVerticalScrollExperiment.VIDEO_MODAL_MOBILE }; const bountySwipeUpNux = obj10.useBountySwipeUpNux(obj); hasSingleUseSwipeUpNux = bountySwipeUpNux.hasSingleUseSwipeUpNux; dismissSingleUseSwipeUpNux = bountySwipeUpNux.dismissSingleUseSwipeUpNux; hasRecurringSwipeUpNux = bountySwipeUpNux.hasRecurringSwipeUpNux; dismissRecurringSwipeUpNux = bountySwipeUpNux.dismissRecurringSwipeUpNux; let tmp44 = tmp43; if (0 === first4) { tmp44 = hasSingleUseSwipeUpNux; } if (tmp44) { tmp44 = stateFromStores1; } closure_37 = tmp45; let tmp46 = result; if (result) { tmp46 = hasRecurringSwipeUpNux; } hasRecurringSwipeUpNux = tmp46; memo3 = obj.useMemo(() => tmp7(height2[21]).v4(), []); closure_40 = obj.useRef(0); closure_41 = obj.useRef(0); const effect = obj.useEffect(() => { closure_40.current = Date.now(); }, []); const items7 = [first4, memo3]; const callback1 = obj.useCallback((arg0) => { if (arg0 === tmp7(height2[22]).VerticalScrollingDirection.DOWN) { const obj = { verticalScrollingPosition: null, scrollSessionId: null }; obj[0] = first4; obj[1] = memo3; const result = tmp7(height2[23]).trackBountyAutoScrollDismissed(obj); const tmpResult = tmp7(height2[23]); } }, items7); let tmp5Result = tmp5(tmp3[24]); obj = { listRef: ref, enabled: null, mode: null, activeIndex: null, activeBountyId: null, slotHeight: null, onCountdownCancelled: null }; let tmp50 = tmp12; if ("auto" === scrollAffordanceVariant) { tmp50 = first4 < diff; } obj[1] = tmp50; let str = "hint"; if (0 === first4) { str = "hint"; if (hasRecurringSwipeUpNux) { str = "countdown"; } } obj[2] = str; obj[3] = first4; let id; if (first[first4] != null) { id = tmp51.id; } if (id == null) { id = null; } obj[4] = id; obj[5] = sum; obj[6] = callback1; const bountiesAutoScroll = tmp5Result.useBountiesAutoScroll(obj); peekScale = bountiesAutoScroll.peekScale; cancel = bountiesAutoScroll.cancel; dismissOnClose = bountiesAutoScroll.dismissOnClose; takeDidAutoScroll = bountiesAutoScroll.takeDidAutoScroll; onPlaybackTimeChange = bountiesAutoScroll.onPlaybackTimeChange; onEndCardVisible = bountiesAutoScroll.onEndCardVisible; pauseCountdown = bountiesAutoScroll.pauseCountdown; resumeCountdown = bountiesAutoScroll.resumeCountdown; const items8 = [onEndCardVisible, onPlaybackTimeChange, pauseCountdown, resumeCountdown]; ({ visible, peekActive, progress, showProgressRing } = bountiesAutoScroll); memo4 = obj.useMemo(() => ({ onPlaybackTimeChange, onPaused: pauseCountdown, onResumed: resumeCountdown, onEndCardVisible }), items8); const items9 = [memo3]; callback2 = obj.useCallback((current) => { let MANUAL = arg1; if (arg1 === undefined) { MANUAL = tmp7(height2[22]).BountyScrollingType.MANUAL; } current = ref2.current; if (current !== current) { tmp3.current = current; const _Date = Date; const timestamp = Date.now(); ref.current = timestamp; const diff = timestamp - ref.current; let result = { scrollingType: null, scrollingDirection: null, verticalScrollingPosition: null, scrollSessionId: null, timeWatchedPreScrollMs: null }; result[0] = MANUAL; if (current > current) { let UP = tmp7(height2[22]).VerticalScrollingDirection.DOWN; } else { UP = tmp7(height2[22]).VerticalScrollingDirection.UP; } result[1] = UP; result[2] = current; result[3] = memo3; result[4] = diff; result = tmp7(height2[23]).trackBountyVerticalScroll(result); const obj2 = tmp7(height2[23]); } }, items9); const items10 = [takeDidAutoScroll, callback2, first4, hasSingleUseSwipeUpNux, hasRecurringSwipeUpNux, dismissSingleUseSwipeUpNux, dismissRecurringSwipeUpNux]; callback3 = obj.useCallback((arg0) => { callback2(arg0); const BountyScrollingType = tmp7(height2[22]).BountyScrollingType; callback2(arg0, takeDidAutoScroll() ? BountyScrollingType.AUTO : BountyScrollingType.MANUAL); if (tmp5) { if (hasSingleUseSwipeUpNux) { dismissSingleUseSwipeUpNux(ownedByVerticalScrollExperiment.USER_DISMISS); } else { if (hasRecurringSwipeUpNux) { dismissRecurringSwipeUpNux(ownedByVerticalScrollExperiment.USER_DISMISS); } tmp7 = hasRecurringSwipeUpNux; } } }, items10); tmp5Result = tmp5(tmp3[25]); closure_53 = tmp5Result.useBountiesRecapOrbCount({ scrollY: sharedValue2, lastBountyScrollOffset: result1, recapRevealHeight: height3, targetOrbAmount: stateFromStores, enabled: tmp19 }); const items11 = [first, first4]; const effect1 = obj.useEffect(() => { if (null != first[first4]) { const items = [tmp.id]; tmp7(height2[26]).markAdContentSeen(tmp7(height2[27]).AdCreativeType.BOUNTY, items); const obj = tmp7(height2[26]); } }, items11); const items12 = [first, first4, dismissOnClose, rewardTimerSeconds, sourceQuestContent]; const items13 = [sourceQuestContent]; const callback4 = obj.useCallback(() => { dismissOnClose(); if (null != first[first4]) { const bountyVideoProgress = first.getBountyVideoProgress(tmp2.id); let num; if (bountyVideoProgress != null) { num = bountyVideoProgress.maxTimestampSec; } if (num == null) { num = 0; } let num2; if (bountyVideoProgress != null) { num2 = bountyVideoProgress.duration; } if (num2 == null) { num2 = 0; } const result = 1000 * rewardTimerSeconds; let obj = tmp7(height2[23]); obj = { adContentId: null, adCreativeType: null, event: null, properties: null, sourceQuestContent: null }; obj[0] = tmp2.id; obj[1] = height2(height2[27]).AdCreativeType.BOUNTY; obj[2] = rewardTimerSeconds.AD_VIDEO_MODAL_CLOSED; obj = { content_name: null, content_id: null, video_progress: null, threshold_met: null, reward_timer_seconds: null }; obj[0] = height2(height2[22]).getQuestContentName(height2(height2[28]).QuestContent.VIDEO_MODAL_MOBILE); obj[1] = height2(height2[28]).QuestContent.VIDEO_MODAL_MOBILE; const obj4 = height2(height2[22]); obj[2] = height2(height2[29]).formatVideoProgressRatio(num, num2); obj[3] = 1000 * num >= result; obj[4] = result / 1000; obj[3] = obj; obj[4] = width; obj.trackAdContentEvent(obj); const obj5 = height2(height2[29]); } width(height2[30]).hideModal(); }, items12); closure_54 = obj.useCallback(() => { let obj = tmp7(height2[23]); obj = { adContentId: orbAmount, adCreativeType: tmp7(height2[27]).AdCreativeType.BOUNTY, event: rewardTimerSeconds.AD_VIDEO_MODAL_CLOSED, properties: null, sourceQuestContent: null }; obj = { content_name: tmp7(height2[22]).getQuestContentName(tmp7(height2[28]).QuestContent.BOUNTIES_END_INTERSTITIAL), content_id: tmp7(height2[28]).QuestContent.BOUNTIES_END_INTERSTITIAL }; obj[3] = obj; obj[4] = width; obj.trackAdContentEvent(obj); const obj4 = tmp7(height2[22]); width(height2[30]).hideModal(); }, items13); const tmp33 = callback(React.useState(false), 2); const tmp41 = first.length > 1; obj1 = { onScroll: null, onBeginDrag: null, onEndDrag: null, onMomentumEnd: null }; class Tt { constructor(arg0) { result = closure_32.set(arg0.contentOffset.y); if (closure_31.get()) { tmp3 = closure_25; tmp2 = closure_30; if (typeof closure_25 !== "function") { str = "Trying to call a non-function"; throwTypeErrorResult = HermesBuiltin.throwTypeError(); } tmp4 = globalThis; _Math = Math; num = 0; tmp6 = arg0.contentOffset.y >= 0 && arg0.contentOffset.y <= tmp5; result1 = closure_30.set(tmp6); } return; } } obj2 = { scrollY: sharedValue2, isDraggingSharedValue: sharedValue1, isScrollingInBoundsSharedValue: sharedValue, isScrollEventInBounds: closure_25 }; Tt.__closure = obj2; Tt.__workletHash = 7942598540397; Tt.__initData = sharedValue; obj1[0] = Tt; class Bt { constructor(arg0) { result = closure_31.set(true); tmp2 = closure_30; if (typeof closure_25 !== "function") { str = "Trying to call a non-function"; throwTypeErrorResult = HermesBuiltin.throwTypeError(); } tmp4 = arg0.contentOffset.y >= 0 && arg0.contentOffset.y <= tmp3; result1 = closure_30.set(tmp4); return; } } Bt.__closure = { isDraggingSharedValue: sharedValue1, isScrollingInBoundsSharedValue: sharedValue, isScrollEventInBounds: closure_25 }; Bt.__workletHash = 14039038912528; Bt.__initData = sharedValue1; obj1[1] = Bt; class Ct { constructor(arg0) { if (arg0.contentOffset.y < 0) { tmp3 = closure_0; tmp4 = height; UP = closure_0(height[22]).VerticalScrollingDirection.DOWN; } else { tmp = closure_0; tmp2 = height; UP = closure_0(height[22]).VerticalScrollingDirection.UP; } obj = closure_0(height[11]); tmp5 = obj.runOnJS(cancel)(UP); result = closure_31.set(false); if (!height) { tmp7 = closure_30; result1 = closure_30.set(false); } return; } } obj3 = { VerticalScrollingDirection: tmp5(tmp3[22]).VerticalScrollingDirection, runOnJS: tmp5(tmp3[11]).runOnJS, cancelScrollAffordance: cancel, isDraggingSharedValue: sharedValue1, IS_ANDROID: height3, isScrollingInBoundsSharedValue: sharedValue }; Ct.__closure = obj3; Ct.__workletHash = 10752087179842; Ct.__initData = sharedValue2; obj1[2] = Ct; class It { constructor(arg0) { if (closure_17) { tmp = arg0; tmp2 = closure_0; tmp3 = height; obj = closure_0(height[11]); tmp4 = handleRecapMomentumEnd; tmp5 = obj.runOnJS(handleRecapMomentumEnd)(arg0); } result = closure_30.set(false); return; } } obj4 = { showRecapPullZone: tmp19, runOnJS: tmp5(tmp3[11]).runOnJS, handleRecapMomentumEnd, isScrollingInBoundsSharedValue: sharedValue }; It.__closure = obj4; It.__workletHash = 13684210320337; It.__initData = hasSingleUseSwipeUpNux; obj1[3] = It; const tmp5Result1 = require(height2[11]); const animatedScrollHandler = require(height2[11]).useAnimatedScrollHandler(obj1); function xt() { return Math.min(Math.max(Math.round(sharedValue2.get() / c15), 0), c16); } xt.__closure = { scrollY: sharedValue2, slotHeight: sum, lastBountyIndex: diff }; xt.__workletHash = 14048843158960; xt.__initData = dismissSingleUseSwipeUpNux; function mt(arg0, arg1) { if (arg0 !== arg1) { tmp7(height2[11]).runOnJS(callback3)(arg0); const obj = tmp7(height2[11]); } } obj5 = { runOnJS: tmp5(tmp3[11]).runOnJS, commitSwipe: callback3 }; mt.__closure = obj5; mt.__workletHash = 14015091539518; mt.__initData = hasRecurringSwipeUpNux; const animatedReaction = require(height2[11]).useAnimatedReaction(xt, mt); const tmp5Result2 = require(height2[11]); function wt() { let tmp = closure_17; if (closure_17) { const value = sharedValue2.get(); tmp = value >= result1 - tmp7(height2[19]).RECAP_SNAP_EPSILON; } return tmp; } obj6 = { showRecapPullZone: tmp19, scrollY: sharedValue2, lastBountyScrollOffset: result1, RECAP_SNAP_EPSILON: tmp5(tmp3[19]).RECAP_SNAP_EPSILON }; wt.__closure = obj6; wt.__workletHash = 6584708256992; wt.__initData = dismissRecurringSwipeUpNux; function yt(arg0, arg1) { if (arg0 !== arg1) { tmp7(height2[11]).runOnJS(c27)(arg0); const obj = tmp7(height2[11]); } } obj7 = { runOnJS: tmp5(tmp3[11]).runOnJS, setShowRecapFooter: tmp35 }; yt.__closure = obj7; yt.__workletHash = 10788669301891; yt.__initData = closure_37; const animatedReaction1 = require(height2[11]).useAnimatedReaction(wt, yt); const tmp5Result3 = require(height2[11]); class Nt { constructor() { tmp = closure_17; if (closure_17) { tmp2 = closure_32; tmp3 = closure_19; tmp = closure_32.get() > closure_19; } return tmp; } } Nt.__closure = { showRecapPullZone: stateFromStores > 0, scrollY: sharedValue2, lastBountyScrollOffset: result1 }; Nt.__workletHash = 6186370630693; Nt.__initData = hasRecurringSwipeUpNux; class Mt { constructor(arg0, arg1) { if (arg0 !== arg1) { tmp = closure_0; tmp2 = height; obj = closure_0(height[11]); tmp3 = closure_23; tmp4 = obj.runOnJS(closure_23)(arg0); } return; } } obj8 = { runOnJS: tmp5(tmp3[11]).runOnJS, setIsRecapPageRevealed: tmp26 }; Mt.__closure = obj8; Mt.__workletHash = 12713474352874; Mt.__initData = memo3; const animatedReaction2 = require(height2[11]).useAnimatedReaction(Nt, Mt); const tmp5Result4 = require(height2[11]); class Vt { constructor() { tmp = closure_17; if (closure_17) { tmp2 = closure_32; tmp4 = closure_20; tmp5 = closure_0; tmp6 = height; value = closure_32.get(); tmp = value >= closure_20 - closure_0(height[19]).RECAP_SNAP_EPSILON; } return tmp; } } obj9 = { showRecapPullZone: tmp19, scrollY: sharedValue2, fullRecapScrollOffset: sum1, RECAP_SNAP_EPSILON: tmp5(tmp3[19]).RECAP_SNAP_EPSILON }; Vt.__closure = obj9; Vt.__workletHash = 5669564400667; Vt.__initData = closure_40; function bt(arg0, arg1) { if (arg0 !== arg1) { tmp7(height2[11]).runOnJS(closure_25)(arg0); const obj = tmp7(height2[11]); } } obj10 = { runOnJS: tmp5(tmp3[11]).runOnJS, setIsRecapPageOnTop: tmp29 }; bt.__closure = obj10; bt.__workletHash = 8102193741774; bt.__initData = closure_41; const animatedReaction3 = require(height2[11]).useAnimatedReaction(Vt, bt); const items14 = [height3, stateFromStores > 0]; const items15 = [tmp.listWrapper, memo]; const memo5 = obj.useMemo(() => { let tmp = null; if (closure_17) { const obj = { height: null }; obj[0] = height3; tmp = callback(c26, obj); } return tmp; }, items14); const items16 = [memo.top]; const memo6 = obj.useMemo(() => { const items = [height2.listWrapper, { top: 0, left: memo.left, width: memo.width, height: memo.top + memo.height + 97 }]; return items; }, items15); const items17 = [, ]; ({ width: arr19[0], height: arr19[1] } = memo); const memo7 = obj.useMemo(() => ({ paddingTop: memo.top, paddingBottom: 97 }), items16); memo8 = obj.useMemo(() => ({ width: memo.width, height: memo.height }), items17); const items18 = [tmp.closeButton, , , ]; ({ top: arr20[1], left: arr20[2], width: arr20[3] } = memo); const items19 = [tmp.autoScrollIndicator, , , , ]; ({ top: arr21[1], height: arr21[2], left: arr21[3], width: arr21[4] } = memo); const memo9 = obj.useMemo(() => { const items = [height2.closeButton, ]; const obj = { top: memo.top + width(height2[9]).space.PX_8, left: null }; const sum = memo.left + memo.width; const diff = sum - width(height2[9]).space.PX_32; obj[1] = diff - width(height2[9]).space.PX_8; items[1] = obj; return items; }, items18); const items20 = [first3, tmp.recapPage, , , , ]; ({ top: arr22[2], left: arr22[3], width: arr22[4] } = memo); items20[5] = height; const memo10 = obj.useMemo(() => { const items = [height2.autoScrollIndicator, ]; const obj = { top: null, left: null, width: null }; const sum = memo.top + tmp7(height2[24]).AUTO_SCROLL_PEEK_TOP_OFFSET; sum1 = sum + memo.height * tmp7(height2[24]).AUTO_SCROLL_PEEK_SCALE; obj[0] = sum1 + width(height2[9]).space.PX_32; ({ left: obj[1], width: obj[2] } = memo); items[1] = obj; return items; }, items19); const memo11 = obj.useMemo(() => { const items = [height2.recapPage, ]; let obj = { top: memo.top, left: memo.left, width: memo.width, height: closure_3 - memo.top }; let tmp = null; if (first3) { obj = { zIndex: null }; obj[0] = height3; tmp = obj; } const merged = Object.assign(tmp); items[1] = obj; return items; }, items20); const tmp5Result5 = require(height2[11]); class Ft { constructor() { obj = closure_0(height[19]); return obj.getRevealProgress(closure_32.get(), closure_19, height); } } const tmp5Result6 = require(height2[11]); Ft.__closure = { getRevealProgress: require(height2[19]).getRevealProgress, scrollY: sharedValue2, lastBountyScrollOffset: result1, recapRevealHeight: height3 }; Ft.__workletHash = 8427964721554; Ft.__initData = peekScale; derivedValue = tmp5Result6.useDerivedValue(Ft); const obj11 = { getRevealProgress: require(height2[19]).getRevealProgress, scrollY: sharedValue2, lastBountyScrollOffset: result1, recapRevealHeight: height3 }; class Yt { constructor() { obj = { opacity: null }; obj2 = closure_0(height[11]); value = closure_56.get(); obj[0] = obj2.interpolate(value, [0, 1], [0, 1], closure_0(height[11]).Extrapolation.CLAMP); return obj; } } const tmp5Result7 = require(height2[11]); Yt.__closure = { interpolate: require(height2[11]).interpolate, recapPullProgress: derivedValue, Extrapolation: require(height2[11]).Extrapolation }; Yt.__workletHash = 1497321349449; Yt.__initData = cancel; const animatedStyle = tmp5Result7.useAnimatedStyle(Yt); const obj12 = { interpolate: require(height2[11]).interpolate, recapPullProgress: derivedValue, Extrapolation: require(height2[11]).Extrapolation }; class Jt { constructor() { obj = { opacity: null }; obj2 = closure_0(height[11]); value = closure_56.get(); items = [, ]; items[0] = closure_22; items[1] = closure_23; obj[0] = obj2.interpolate(value, items, [1, 0], closure_0(height[11]).Extrapolation.CLAMP); return obj; } } const tmp5Result8 = require(height2[11]); Jt.__closure = { interpolate: require(height2[11]).interpolate, recapPullProgress: derivedValue, FOOTER_FADE_START_PROGRESS: first2, FOOTER_FADE_END_PROGRESS: closure_23, Extrapolation: require(height2[11]).Extrapolation }; Jt.__workletHash = 3685190194249; Jt.__initData = dismissOnClose; const animatedStyle1 = tmp5Result8.useAnimatedStyle(Jt); const obj13 = { interpolate: require(height2[11]).interpolate, recapPullProgress: derivedValue, FOOTER_FADE_START_PROGRESS: first2, FOOTER_FADE_END_PROGRESS: closure_23, Extrapolation: require(height2[11]).Extrapolation }; class Ut { constructor() { obj = closure_32; if (closure_32.get() >= closure_19 - closure_15 / 2) { tmp5 = closure_56; value = closure_56.get(); } else { tmp = closure_0; tmp2 = height; obj2 = closure_0(height[19]); tmp3 = height; num = 0; value = obj2.getRevealProgress(obj.get(), 0, height); } obj = { opacity: null }; obj4 = closure_0(height[11]); items = [, ]; items[0] = closure_22; items[1] = closure_23; obj[0] = obj4.interpolate(value, items, [1, 0], closure_0(height[11]).Extrapolation.CLAMP); return obj; } } const tmp5Result9 = require(height2[11]); Ut.__closure = { scrollY: sharedValue2, lastBountyScrollOffset: result1, slotHeight: sum, recapPullProgress: derivedValue, getRevealProgress: require(height2[19]).getRevealProgress, recapRevealHeight: height3, interpolate: require(height2[11]).interpolate, FOOTER_FADE_START_PROGRESS: first2, FOOTER_FADE_END_PROGRESS: closure_23, Extrapolation: require(height2[11]).Extrapolation }; Ut.__workletHash = 15092194442650; Ut.__initData = takeDidAutoScroll; const items21 = [tmp.peekGradient, , , , ]; ({ left: arr23[1], width: arr23[2], top: arr23[3], height: arr23[4] } = memo); const animatedStyle2 = tmp5Result9.useAnimatedStyle(Ut); const memo12 = obj.useMemo(() => { const items = [height2.peekGradient, { left: memo.left, width: memo.width, top: memo.top + memo.height, bottom: 0 }]; return items; }, items21); const obj14 = { scrollY: sharedValue2, lastBountyScrollOffset: result1, slotHeight: sum, recapPullProgress: derivedValue, getRevealProgress: require(height2[19]).getRevealProgress, recapRevealHeight: height3, interpolate: require(height2[11]).interpolate, FOOTER_FADE_START_PROGRESS: first2, FOOTER_FADE_END_PROGRESS: closure_23, Extrapolation: require(height2[11]).Extrapolation }; class Gt { constructor() { obj = { opacity: null }; obj2 = closure_0(height[11]); value = closure_32.get(); items = [0]; items[1] = closure_15; obj[0] = obj2.interpolate(value, items, [1, 0], closure_0(height[11]).Extrapolation.CLAMP); return obj; } } const tmp5Result10 = require(height2[11]); Gt.__closure = { interpolate: require(height2[11]).interpolate, scrollY: sharedValue2, slotHeight: sum, Extrapolation: require(height2[11]).Extrapolation }; Gt.__workletHash = 5908400559291; Gt.__initData = onPlaybackTimeChange; const animatedStyle3 = tmp5Result10.useAnimatedStyle(Gt); const obj15 = { interpolate: require(height2[11]).interpolate, scrollY: sharedValue2, slotHeight: sum, Extrapolation: require(height2[11]).Extrapolation }; class Zt { constructor() { return closure_56.get() < closure_23; } } Zt.__closure = { recapPullProgress: derivedValue, FOOTER_FADE_END_PROGRESS: closure_23 }; Zt.__workletHash = 547045699209; Zt.__initData = onEndCardVisible; class Qt { constructor(arg0, arg1) { if (arg0 !== arg1) { tmp = closure_0; tmp2 = height; obj = closure_0(height[11]); tmp3 = closure_26; tmp4 = obj.runOnJS(closure_26)(arg0); } return; } } const tmp5Result11 = require(height2[11]); Qt.__closure = { runOnJS: require(height2[11]).runOnJS, setIsCloseButtonPressable: tmp32 }; Qt.__workletHash = 6290671204687; Qt.__initData = pauseCountdown; const animatedReaction4 = tmp5Result11.useAnimatedReaction(Zt, Qt); const items22 = [sum, sharedValue2, memo8, "peek" === scrollAffordanceVariant && hasRecurringSwipeUpNux, "auto" === scrollAffordanceVariant, peekScale, sourceQuestContent, , , , , , , , , , ]; ({ width: arr24[7], height: arr24[8] } = memo); items22[9] = first4; items22[10] = first2; items22[11] = first3; items22[12] = sharedValue; items22[13] = tmp46; items22[14] = memo4; items22[15] = ownedByVerticalScrollExperiment; items22[16] = ownedByVerticalScrollExperiment; const items23 = [first4, first2, first3, , , , , , , ]; ({ width: arr25[3], height: arr25[4] } = memo); items23[5] = "peek" === scrollAffordanceVariant && hasRecurringSwipeUpNux; items23[6] = "auto" === scrollAffordanceVariant; items23[7] = tmp46; items23[8] = ownedByVerticalScrollExperiment; items23[9] = ownedByVerticalScrollExperiment; const callback5 = obj.useCallback((arg0) => { ({ item, index } = arg0); let flag = true; if (ownedByVerticalScrollExperiment) { let tmp2 = index === first4; if (!tmp2) { tmp2 = index === tmp + 1; } flag = tmp2; } let obj = { index, slotHeight: c15, scrollY: sharedValue2, style: memo8, isPeekEnabled: closure_37, children: null }; obj = { bounty: item, sourceQuestContent: width, width: memo.width, height: memo.height, index, isActive: tmp5, isRecapPageRevealed: first2, isRecapPageOnTop: first3, isScrollingInBoundsSharedValue: sharedValue, isScrollIndicatorOverlayEnabled: null, shouldLoadHls: null, scrollAffordance: null, peekScale: null, softDownloadCapsEnabled: null }; let tmp6 = hasRecurringSwipeUpNux; if (hasRecurringSwipeUpNux) { tmp6 = 0 === index; } obj[9] = tmp6; obj[10] = flag; let tmp8; if (closure_12) { tmp8 = memo4; } obj[11] = tmp8; let tmp9; if (index === first4) { if (tmp7) { tmp9 = peekScale; } } obj[12] = tmp9; obj[13] = ownedByVerticalScrollExperiment; obj[5] = closure_12(closure_12(height2[31]).BountiesScrollVideoItem, obj, item.id); return closure_12(closure_29, obj); }, items22); [][0] = height3; const memo13 = obj.useMemo(() => ({ activeIndex: first4, isRecapPageRevealed: first2, isRecapPageOnTop: first3, width: memo.width, height: memo.height, isPeekEnabled: closure_37, isAutoScrollEnabled: closure_12, canShowScrollIndicatorOverlay: hasRecurringSwipeUpNux, ownedByVerticalScrollExperiment, isSoftCapPreload: ownedByVerticalScrollExperiment }), items23); if (0 === first.length) { return null; } else { if (tmp44) { let tmp81 = callback2(tmp2(tmp3[32]), {}); } else { tmp81 = null; if (tmp34) { const obj17 = { orbAmount: null }; obj17[0] = stateFromStores; tmp81 = callback2(tmp5(tmp3[33]).BountiesScrollRecapFooter, obj17); } } const obj18 = { style: null, children: null }; obj18[0] = tmp.root; const obj19 = { active: null }; obj19[0] = peekActive; const items24 = [callback2(tmp2(tmp3[34]), obj19), , , , , , ]; let tmp86Result = null; if (tmp19) { const obj20 = { style: null, pointerEvents: null, children: null }; const items25 = [memo11, animatedStyle]; obj20[0] = items25; let str2 = "none"; if (first3) { str2 = "box-none"; } obj20[1] = str2; const obj21 = { adContentId: null, adCreativeType: null, questContent: null, overrideVisibility: null, sourceQuestContent: null, children: null }; obj21[0] = orbAmount; obj21[1] = tmp5(tmp3[27]).AdCreativeType.BOUNTY; obj21[2] = tmp5(tmp3[28]).QuestContent.BOUNTIES_END_INTERSTITIAL; obj21[3] = first3; obj21[4] = sourceQuestContent; obj21[5] = function children() { return callback(tmp7(height2[36]).BountiesScrollRecapPage, { orbAmount: closure_53, onClose: closure_54, style: { flex: 1 } }); }; obj20[2] = tmp86(tmp5(tmp3[35]).QuestContentImpressionTrackerNative, obj21); tmp86Result = tmp86(tmp2(tmp3[11]).View, obj20); } items24[1] = tmp86Result; const obj22 = { style: null, children: null }; obj22[0] = memo6; const obj23 = { ref: null, data: null, keyExtractor: null, renderItem: null, extraData: null, overrideItemLayout: null, ItemSeparatorComponent: null, ListFooterComponent: null, snapToOffsets: null, snapToEnd: false, decelerationRate: 0.85, showsVerticalScrollIndicator: false, drawDistance: null, onScroll: null, scrollEventThrottle: 16, contentContainerStyle: null }; obj23[0] = ref; obj23[1] = first; obj23[2] = function keyExtractor(id) { return id.id; }; obj23[3] = callback5; obj23[4] = memo13; obj23[5] = tmp80; obj23[6] = first3; obj23[7] = memo5; obj23[8] = memo2; obj23[12] = sum; obj23[13] = animatedScrollHandler; obj23[15] = memo7; obj22[1] = callback2(tmp5(tmp3[37]).AnimatedFlashList, obj23); items24[2] = callback2(questHomeBounties, obj22); tmp86Result = null; if (tmp45) { tmp86Result = null; if (first.length > 1) { const obj24 = { pointerEvents: "none", style: null, children: null }; const items26 = [memo12, animatedStyle3]; obj24[1] = items26; const obj25 = { colors: null, style: null }; obj25[0] = handleRecapMomentumEnd; obj25[1] = memo.absoluteFill; obj24[2] = tmp86(tmp2(tmp3[38]), obj25); tmp86Result = tmp86(tmp2(tmp3[11]).View, obj24); } } items24[3] = tmp86Result; const obj26 = { style: null, pointerEvents: null, children: null }; const items27 = [memo9, animatedStyle1]; obj26[0] = items27; let str3 = "none"; if (tmp31) { str3 = "box-none"; } obj26[1] = str3; let tmp86Result1 = null; if (tmp31) { const obj27 = { onPress: null }; obj27[0] = callback4; tmp86Result1 = tmp86(tmp2(tmp3[39]), obj27); } obj26[2] = tmp86Result1; items24[4] = callback2(tmp2(tmp3[11]).View, obj26); let tmp86Result2 = null; if (visible) { const obj28 = { style: null, pointerEvents: "none", children: null }; obj28[0] = memo10; const obj29 = { progress: null, showProgressRing: null }; obj29[0] = progress; obj29[1] = showProgressRing; obj28[2] = tmp86(tmp2(tmp3[40]), obj29); tmp86Result2 = tmp86(tmp85, obj28); } items24[5] = tmp86Result2; if (!tmp44) { tmp44 = tmp34; } const obj30 = { visible: null, onContentLayout: null, zIndex: null, opacityStyle: null, children: null }; obj30[0] = tmp44; obj30[1] = callback; obj30[2] = height3; obj30[3] = animatedStyle2; obj30[4] = tmp81; items24[6] = callback2(tmp2(tmp3[14]), obj30); obj18[1] = items24; return first1(questHomeBounties, obj18); } const obj16 = { runOnJS: require(height2[11]).runOnJS, setIsCloseButtonPressable: tmp32 }; } ({ StyleSheet: c5, View: closure_6 } = get_ActivityIndicator); ({ DEFAULT_PLACEHOLDER_ENTRYPOINT_BOUNTY_ID: closure_8, QuestsExperimentLocations: c9 } = QuestsExperimentLocations); ({ jsx: closure_12, jsxs: map1 } = jsxProd); let closure_14 = PlatformTypes.isAndroid(); let c15 = 0; let c16 = 1; let c17 = 2; let c18 = 3; let c19 = 0.5625; const PX_8 = ThemesDefault.space.PX_8; let closure_21 = ["rgba(0,0,0,0)", "rgba(0,0,0,0.75)"]; let c22 = 0.05; let c23 = 0.1; function isScrollEventInBounds(contentOffset) { return contentOffset.contentOffset.y >= 0 && contentOffset.contentOffset.y <= tmp; } isScrollEventInBounds.__closure = {}; isScrollEventInBounds.__workletHash = 14148486927190; isScrollEventInBounds.__initData = { 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;}" }; let closure_27 = createCacheKey.createStyles(() => { const recapPage = { position: "absolute", zIndex: c15 }; return { root: { flex: 1 }, recapPage, listWrapper: { position: "absolute", zIndex: c16, overflow: "hidden" }, closeButton: { position: "absolute", zIndex: c18 }, peekGradient: { position: "absolute", zIndex: c17 }, autoScrollIndicator: { position: "absolute", zIndex: c18, alignItems: "center" } }; }); let closure_28 = { code: "function BountiesModalContentScrollTsx2(){const{scrollY,index,slotHeight,isPeekEnabled,PEEK_OPACITY,interpolate,FADE_DEADBAND,Extrapolation}=this.__closure;const signedDistance=(scrollY.get()-index*slotHeight)/slotHeight;const distance=Math.abs(signedDistance);const peekOpacity=isPeekEnabled&&signedDistance<0&&index===1?PEEK_OPACITY:0;const opacity=interpolate(distance,[0,FADE_DEADBAND,1],[1,1,peekOpacity],Extrapolation.CLAMP);return{opacity:opacity};}" }; let closure_30 = { code: "function BountiesModalContentScrollTsx3(event){const{scrollY,isDraggingSharedValue,isScrollingInBoundsSharedValue,isScrollEventInBounds}=this.__closure;scrollY.set(event.contentOffset.y);if(isDraggingSharedValue.get()){isScrollingInBoundsSharedValue.set(isScrollEventInBounds(event));}}" }; let closure_31 = { code: "function BountiesModalContentScrollTsx4(event){const{isDraggingSharedValue,isScrollingInBoundsSharedValue,isScrollEventInBounds}=this.__closure;isDraggingSharedValue.set(true);isScrollingInBoundsSharedValue.set(isScrollEventInBounds(event));}" }; let closure_32 = { code: "function BountiesModalContentScrollTsx5(event){const{VerticalScrollingDirection,runOnJS,cancelScrollAffordance,isDraggingSharedValue,IS_ANDROID,isScrollingInBoundsSharedValue}=this.__closure;const scrollingDirection=event.contentOffset.y<0?VerticalScrollingDirection.DOWN:VerticalScrollingDirection.UP;runOnJS(cancelScrollAffordance)(scrollingDirection);isDraggingSharedValue.set(false);if(!IS_ANDROID){isScrollingInBoundsSharedValue.set(false);}}" }; let closure_33 = { code: "function BountiesModalContentScrollTsx6(event){const{showRecapPullZone,runOnJS,handleRecapMomentumEnd,isScrollingInBoundsSharedValue}=this.__closure;if(showRecapPullZone){runOnJS(handleRecapMomentumEnd)(event);}isScrollingInBoundsSharedValue.set(false);}" }; let closure_34 = { code: "function BountiesModalContentScrollTsx7(){const{scrollY,slotHeight,lastBountyIndex}=this.__closure;return Math.min(Math.max(Math.round(scrollY.get()/slotHeight),0),lastBountyIndex);}" }; let closure_35 = { code: "function BountiesModalContentScrollTsx8(next,prev){const{runOnJS,commitSwipe}=this.__closure;if(next!==prev){runOnJS(commitSwipe)(next);}}" }; let closure_36 = { code: "function BountiesModalContentScrollTsx9(){const{showRecapPullZone,scrollY,lastBountyScrollOffset,RECAP_SNAP_EPSILON}=this.__closure;return showRecapPullZone&&scrollY.get()>=lastBountyScrollOffset-RECAP_SNAP_EPSILON;}" }; let closure_37 = { code: "function BountiesModalContentScrollTsx10(show,previousShow){const{runOnJS,setShowRecapFooter}=this.__closure;if(show!==previousShow){runOnJS(setShowRecapFooter)(show);}}" }; let closure_38 = { code: "function BountiesModalContentScrollTsx11(){const{showRecapPullZone,scrollY,lastBountyScrollOffset}=this.__closure;return showRecapPullZone&&scrollY.get()>lastBountyScrollOffset;}" }; let closure_39 = { code: "function BountiesModalContentScrollTsx12(revealed,previousRevealed){const{runOnJS,setIsRecapPageRevealed}=this.__closure;if(revealed!==previousRevealed){runOnJS(setIsRecapPageRevealed)(revealed);}}" }; let closure_40 = { code: "function BountiesModalContentScrollTsx13(){const{showRecapPullZone,scrollY,fullRecapScrollOffset,RECAP_SNAP_EPSILON}=this.__closure;return showRecapPullZone&&scrollY.get()>=fullRecapScrollOffset-RECAP_SNAP_EPSILON;}" }; let closure_41 = { code: "function BountiesModalContentScrollTsx14(onTop,previousOnTop){const{runOnJS,setIsRecapPageOnTop}=this.__closure;if(onTop!==previousOnTop){runOnJS(setIsRecapPageOnTop)(onTop);}}" }; let closure_42 = { code: "function BountiesModalContentScrollTsx15(){const{getRevealProgress,scrollY,lastBountyScrollOffset,recapRevealHeight}=this.__closure;return getRevealProgress(scrollY.get(),lastBountyScrollOffset,recapRevealHeight);}" }; let closure_43 = { code: "function BountiesModalContentScrollTsx16(){const{interpolate,recapPullProgress,Extrapolation}=this.__closure;return{opacity:interpolate(recapPullProgress.get(),[0,1],[0,1],Extrapolation.CLAMP)};}" }; let closure_44 = { 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)};}" }; let closure_45 = { 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)};}" }; let closure_46 = { code: "function BountiesModalContentScrollTsx19(){const{interpolate,scrollY,slotHeight,Extrapolation}=this.__closure;return{opacity:interpolate(scrollY.get(),[0,slotHeight],[1,0],Extrapolation.CLAMP)};}" }; let closure_47 = { code: "function BountiesModalContentScrollTsx20(){const{recapPullProgress,FOOTER_FADE_END_PROGRESS}=this.__closure;return recapPullProgress.get()