// Metro module 14154 (f14155). import * as Module19 from "react"; import { useMemo, useContext, useState, useCallback, useEffect, forwardRef } from "react"; import { ScrollView, StyleSheet, View } from "react-native"; import { QuestsExperimentLocations } from "../../QuestConstants"; import { ThemeTypes } from "../../../../_bundle/Module505"; import Module689 from "../../../../_bundle/Module689"; import Module712 from "../../../../_bundle/Module712"; import QuestProgressIndicator, { QUEST_PROGRESS_DIAMETER_BY_SIZE } from "../QuestProgressIndicator"; import { createStyles } from "../../../../design/components/Styles/native/createStyles"; import { isAndroid } from "../../../../utils/PlatformUtils"; import { getQuestAsset, QuestAssetType } from "../../lib/AssetUtils"; import { VideoQuestPlayerRefactorExperiment } from "../../experiments/index"; import { VideoQuestPlayer } from "./VideoQuestPlayerRefactor"; import * as _VideoQuestPlayer from "./VideoQuestPlayer"; import { QuestDockGestureContext } from "../QuestDock/QuestDockGestureContext"; import * as _ReanimatedRexport from "../../../reanimated/ReanimatedRexport"; import { useSharedValue, useDerivedValue, useAnimatedStyle, useAnimatedProps } from "../../../reanimated/ReanimatedRexport"; import * as _timing from "../../../../design/animation/reanimated/timing/timing"; import useSafeAreaInsets_native from "../../../safe_area/useSafeAreaInsets.native"; import { SafeAreaPaddingView } from "../../../../components_native/common/SafeAreaView"; import { ThemeContextProvider } from "../../../../_bundle/Module3901"; import VideoQuestModalCloseButton from "./VideoQuestModalCloseButton"; import ReanimatedNativeView from "../../../core/native/ReanimatedNativeView"; import VideoQuestModalReward from "./VideoQuestModalReward"; import QuestModalContentCloudBackground from "../QuestModalContentCloudBackground"; import QuestGameLogotype from "../QuestGameLogotype"; import { Stack } from "../../../../design/components/Stack/native/Stack.native"; import { PressableOpacity } from "../../../../design/void/Pressables/native/Pressables"; import { Text } from "../../../../design/components/Text/native/Text"; import QuestContextMenu from "../QuestContextMenu"; import FastImage from "../../../../components_native/common/FastImage"; import { Button } from "../../../../design/components/Button/native/Button.native"; import { getExternalCtaLabel, getQuestUrl } from "../../utils/QuestCopyUtils"; import { IconButton } from "../../../../design/components/Button/native/IconButton.native"; import { intl, t } from "../../../../intl/index.native"; import Module12238 from "../../../../_bundle/Module12238"; import Module10195 from "../../../../_bundle/Module10195"; import { useQuestTaskDetails } from "../../hooks/QuestHooks"; import { getVideoQuestProgressRemainingAccessibilityLabel, getVideoOrientation } from "../../utils/VideoQuestUtils"; import Module4611 from "../../../../_bundle/Module4611"; import VideoQuestModalHeader from "./VideoQuestModalHeader"; import { ArrowSmallRightIcon } from "../../../../design/components/Icon/native/redesign/generated/ArrowSmallRightIcon"; import { TranscriptOutlineIcon } from "../../../../design/components/Icon/native/redesign/generated/TranscriptOutlineIcon"; import { ClosedCaptionsOutlineIcon } from "../../../../design/components/Icon/native/redesign/generated/ClosedCaptionsOutlineIcon"; import { ShareIcon } from "../../../../design/components/Icon/native/redesign/generated/ShareIcon"; import { MoreHorizontalIcon } from "../../../../design/components/Icon/native/redesign/generated/MoreHorizontalIcon"; import { useVideoQuestModalContext } from "./VideoQuestModalContext"; import ActionSheetActionCreators from "../../../action_sheet/native/ActionSheetActionCreators"; import { useGetQuestImpressionId } from "../../lib/analytics/ContentImpressionTrackerHooks"; import * as _QuestUtils from "../../utils/QuestUtils"; import { shouldMigrateToAdAnalyticsInterface, AdAnalyticsInterfaceExperimentStep } from "../../experiments/AdAnalyticsInterfaceExperiment"; import { captureAdUserAction } from "../../../ads/analytics/captureAdUserAction"; import { AdUserActionType } from "../../../ads/analytics/captureAdUserActionTypes"; import { AdCreativeType } from "../../../../_bundle/Module6013"; import { QuestContentCTA } from "../../lib/analytics/AnalyticsTypes"; import { QuestContent } from "../../QuestTypes"; import { trackQuestContentClicked } from "../../lib/analytics/AnalyticsActions"; import { showShareActionSheet } from "../../../action_sheet/native/showShareActionSheet"; import { useVideoQuestClickCtaAndMaybeCloseModal } from "./useVideoQuestClickCtaAndMaybeCloseModal"; import { openRewardDetailsBottomSheet } from "../QuestUtils.native"; import { useVideoExternallyPaused } from "./hooks/useVideoExternallyPaused"; import { FirstPartyQuestTaskTypes } from "../../../../_bundle/Module5040"; let __initData, __initData2, __initData3, __initData4, Component3, Component2, useStyles2, FooterButton; const start = { x: 0, y: 0 }; const end = { x: 0, y: 1 }; const colors = [Module689(Module712.unsafe_rawColors.PLUM_23).alpha(0.4).hex(), Module689(Module712.unsafe_rawColors.PLUM_23).alpha(0).hex()]; const colors2 = [Module689(Module712.unsafe_rawColors.PLUM_23).alpha(0).hex(), Module689(Module712.unsafe_rawColors.PLUM_23).alpha(0.4).hex()]; const contentInsets = { bottom: 158, top: 64, left: 16, right: 16 }; const contentInsets2 = { bottom: 16, left: 16, right: 16 }; const useStyles = createStyles((a0) => ({ wrapper: { backgroundColor: Module712.colors.BACKGROUND_BASE_LOWEST, flex: 1 }, wrapperPortrait: { borderTopLeftRadius: Module712.radii.lg, borderTopRightRadius: Module712.radii.lg, justifyContent: a0 ? "flex-start" : "center" }, videoLandscape: { width: "100%", position: "relative" }, videoLandscape9by16: { aspectRatio: 1.7777777777777777, flexShrink: 0 }, landscapeContentScroll: { flex: 1 }, landscapeContentScrollContent: { flexGrow: 1 }, videoLandscapeFullscreen: { flexGrow: 1, flexShrink: 1 }, videoWrapper: { borderRadius: Module712.radii.lg, flexGrow: 0, flexShrink: 0, overflow: "hidden" }, videoWrapperLandscape: { flexGrow: 1, borderTopLeftRadius: Module712.radii.none, borderTopRightRadius: Module712.radii.none }, videoWrapperFullscreen: { borderRadius: Module712.radii.none }, videoContentWrapper: { flexDirection: "column", pointerEvents: "box-none", flexGrow: 1, flexShrink: 0, justifyContent: "space-between", padding: Module712.space.PX_16 }, videoContentWrapperLandscape: { padding: 0 }, videoContentWrapperPortrait: { ...StyleSheet.absoluteFillObject }, rewardContainer: { justifyContent: "center", flexGrow: 1, flexShrink: 0 }, rewardContentCentered: { position: "absolute", top: Module712.space.PX_16, left: Module712.space.PX_16, right: Module712.space.PX_16, bottom: Module712.space.PX_16, alignItems: "center", justifyContent: "center" }, modalBackground: { backgroundColor: Module712.colors.BACKGROUND_BASE_LOWEST }, questDetailsLandscape: { borderTopWidth: 1, borderColor: Module712.colors.BACKGROUND_MOD_STRONG, paddingHorizontal: Module712.space.PX_16, paddingTop: Module712.space.PX_24 }, questDetailsPrimary: { flexGrow: 0, flexShrink: 1 }, questDetailsSecondary: { flexGrow: 0, flexShrink: 0 }, footer: { paddingHorizontal: Module712.space.PX_16, paddingVertical: Module712.space.PX_8 }, icon: { color: Module712.colors.INTERACTIVE_TEXT_ACTIVE }, iconDisabled: { color: Module712.colors.INTERACTIVE_TEXT_DEFAULT }, closeButtonLandscape: { position: "absolute", top: Module712.space.PX_16, left: Module712.space.PX_16 }, gradientTop: { ...StyleSheet.absoluteFillObject, bottom: void 0, height: 70 }, gradientBottom: { ...StyleSheet.absoluteFillObject, top: void 0, height: 150 }, textShadow: { margin: -15, padding: 15, textShadowColor: Module712.colors.BLACK, textShadowOffset: { width: 0, height: 0 }, textShadowRadius: 15 }, viewRewardBtn: { marginRight: "auto" }, playerThumbnail: { borderRadius: Module712.radii.lg, height: 96, width: "100%" }, cloudsBackground: { zIndex: -1 }, questDetailsSubheader: { opacity: 0.6 } })); __initData = { code: "function VideoQuestModalContentInProgressTsx1(){const{withDelay,LOGO_REWARD_TRANSITION_DELAY_MS,withTiming,isComponentMounted,LOGO_REWARD_TRANSITION_DURATION_MS}=this.__closure;return withDelay(LOGO_REWARD_TRANSITION_DELAY_MS,withTiming(isComponentMounted.get(),{duration:LOGO_REWARD_TRANSITION_DURATION_MS}));}" }; __initData2 = { code: "function VideoQuestModalContentInProgressTsx2(){const{animation}=this.__closure;return{opacity:animation.get()};}" }; __initData3 = { code: "function VideoQuestModalContentInProgressTsx3(){const{animation}=this.__closure;return{opacity:1-animation.get()};}" }; __initData4 = { code: "function VideoQuestModalContentInProgressTsx4(){const{animation}=this.__closure;return{pointerEvents:animation.get()>0.3?'auto':'none'};}" }; Component3 = Module19.memo(function(a0) { let setState, setState2, sharedValue, derivedValue; const { quest, captionsEnabled, handleClose, handlePrimaryCtaPress, handleShareQuest, handleOpenTranscript, handleToggleCaptions, isFullscreen, onNavigateToPostWatchVideo, onEnd, setIsFullscreen, externallyPaused, sourceQuestContent: sourceQuestContent2, hasCaptionAsset, hasTranscriptAsset } = a0; let isShareable = a0.isShareable; setState = void 0; setState2 = void 0; sharedValue = void 0; derivedValue = void 0; const styles = useStyles(isAndroid()); const memo2 = useMemo(() => getQuestAsset(quest, QuestAssetType.HERO), [quest]); let r24 = quest.userStatus?.completedAt != null; const Component = VideoQuestPlayerRefactorExperiment.useConfig({ location: QuestsExperimentLocations.VIDEO_MODAL_MOBILE }).enabled ? VideoQuestPlayer : _VideoQuestPlayer.VideoQuestPlayer; const windowDimensions2 = useContext(QuestDockGestureContext).windowDimensions; let state; [state, setState] = useState(null); const callback = useCallback((a0) => { setState(a0.nativeEvent.layout.height); }, []); let state2; [state2, setState2] = useState(null); const callback2 = useCallback((a0) => { setState2(Module712.space.PX_24 + a0.nativeEvent.layout.height); }, []); const r90 = state != null ? state - 2 * Module712.space.PX_16 : null; let r96 = "md"; let size = "md"; if (r90 != null) { const r97 = state2 == null; size = "md"; if (!r97) { const r102 = QUEST_PROGRESS_DIAMETER_BY_SIZE.lg + state2; let r103 = "lg"; if (!(r90 >= r102)) { if (r90 >= QUEST_PROGRESS_DIAMETER_BY_SIZE["md-lg"] + state2) { r96 = "md-lg"; } r103 = r96; } size = r103; } } const md = QUEST_PROGRESS_DIAMETER_BY_SIZE.md; if (state2 == null) { state2 = 0; } const minHeight = md + state2 + 2 * Module712.space.PX_16; sharedValue = useSharedValue(0); useEffect(() => { sharedValue.set(1); }, [sharedValue]); const te = function te() { return _ReanimatedRexport.withDelay(3000, _timing.withTiming(sharedValue.get(), { duration: 1000 })); }; te.__closure = { withDelay: _ReanimatedRexport.withDelay, LOGO_REWARD_TRANSITION_DELAY_MS: 3000, withTiming: _timing.withTiming, isComponentMounted: sharedValue, LOGO_REWARD_TRANSITION_DURATION_MS: 1000 }; te.__workletHash = 12561024953493; te.__initData = __initData; derivedValue = useDerivedValue(te); const ne = () => ({ opacity: derivedValue.get() }); ne.__closure = { animation: derivedValue }; ne.__workletHash = 17463485679217; ne.__initData = __initData2; const animatedStyle2 = useAnimatedStyle(ne); const oe = () => ({ opacity: 1 - derivedValue.get() }); oe.__closure = { animation: derivedValue }; oe.__workletHash = 9103187579788; oe.__initData = __initData3; const animatedStyle = useAnimatedStyle(oe); const se = () => ({ pointerEvents: derivedValue.get() > 0.3 ? "auto" : "none" }); se.__closure = { animation: derivedValue }; se.__workletHash = 11833431315705; se.__initData = __initData4; const animatedProps = useAnimatedProps(se); const safeAreaInsets_native = useSafeAreaInsets_native(); const callback3 = useCallback(({ orientation }) => { let r6 = isFullscreen; if (!isFullscreen) { r6 = orientation !== "landscape"; } setIsFullscreen((r6 ? "PORTRAIT" : "LANDSCAPE") === "LANDSCAPE"); }, [isFullscreen, setIsFullscreen]); const style = [styles.videoWrapper, styles.videoWrapperLandscape, isFullscreen ? styles.videoWrapperFullscreen : isFullscreen]; const r203 = [ , ,]; let r204 = !isFullscreen; if (!isFullscreen) { const r267 = [ {isAndroid() && } , , ,]; const r323 = [ {quest.config.messages.gameTitle} {quest.config.messages.gamePublisher} , memo2 != null && , ,]; const r353 = [