decord/source/modules/quests/native/VideoQuestModal/VideoQuestModalContentInProgress.tsx

706 lines
35 KiB
TypeScript
Raw Normal View History

2026-07-21 06:55:02 +00:00
// Module ID: 13902
// Function ID: 105125
2026-07-20 16:05:17 +00:00
// Name: importDefaultResult1
// Dependencies: []
2026-07-21 06:55:02 +00:00
// Module 13902 (importDefaultResult1)
2026-07-20 16:05:17 +00:00
import alphaResult1 from "module_0";
import alphaResult2 from "module_0";
let closure_3 = importDefault(dependencyMap[0]);
const importAllResult = importAll(dependencyMap[1]);
({ View: closure_5, StyleSheet: closure_6, ScrollView: closure_7 } = arg1(dependencyMap[2]));
const QuestsExperimentLocations = arg1(dependencyMap[3]).QuestsExperimentLocations;
const ThemeTypes = arg1(dependencyMap[4]).ThemeTypes;
const tmp2 = arg1(dependencyMap[2]);
({ jsx: closure_10, jsxs: closure_11 } = arg1(dependencyMap[5]));
2026-07-21 06:55:02 +00:00
let closure_12 = { max: -536870861, guildId: -299892737 };
let closure_13 = {};
2026-07-20 16:05:17 +00:00
const tmp3 = arg1(dependencyMap[5]);
const importDefaultResult = importDefault(dependencyMap[6]);
const importDefaultResultResult = importDefault(dependencyMap[6])(importDefault(dependencyMap[7]).unsafe_rawColors.PLUM_23);
const items = [importDefault(dependencyMap[6])(importDefault(dependencyMap[7]).unsafe_rawColors.PLUM_23).alpha(0.4).hex(), ];
const alphaResult = importDefault(dependencyMap[6])(importDefault(dependencyMap[7]).unsafe_rawColors.PLUM_23).alpha(0.4);
const importDefaultResult1 = importDefault(dependencyMap[6]);
const importDefaultResult1Result = importDefault(dependencyMap[6])(importDefault(dependencyMap[7]).unsafe_rawColors.PLUM_23);
items[1] = require("module_0").hex();
const importDefaultResult2 = importDefault(dependencyMap[6]);
const importDefaultResult2Result = importDefault(dependencyMap[6])(importDefault(dependencyMap[7]).unsafe_rawColors.PLUM_23);
const items1 = [require("module_0").hex(), ];
const importDefaultResult3 = importDefault(dependencyMap[6]);
const importDefaultResult3Result = importDefault(dependencyMap[6])(importDefault(dependencyMap[7]).unsafe_rawColors.PLUM_23);
items1[1] = importDefault(dependencyMap[6])(importDefault(dependencyMap[7]).unsafe_rawColors.PLUM_23).alpha(0.4).hex();
let closure_16 = {};
let closure_17 = {};
const alphaResult3 = importDefault(dependencyMap[6])(importDefault(dependencyMap[7]).unsafe_rawColors.PLUM_23).alpha(0.4);
let closure_18 = arg1(dependencyMap[9]).createStyles((arg0) => {
let obj = {};
obj = { backgroundColor: importDefault(dependencyMap[7]).colors.BACKGROUND_BASE_LOWEST, flex: 1 };
obj.wrapper = obj;
obj = { borderTopLeftRadius: importDefault(dependencyMap[7]).radii.lg, borderTopRightRadius: importDefault(dependencyMap[7]).radii.lg };
let str = "center";
if (arg0) {
str = "flex-start";
}
obj.justifyContent = str;
obj.wrapperPortrait = obj;
2026-07-21 06:55:02 +00:00
obj.videoLandscape = { marginLeft: 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000144449046626223, marginRight: 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008442112675343633 };
2026-07-20 16:05:17 +00:00
obj.videoLandscape9by16 = {};
obj.landscapeContentScroll = { flex: 1 };
obj.landscapeContentScrollContent = { flexGrow: 1 };
2026-07-21 06:55:02 +00:00
obj.videoLandscapeFullscreen = {};
2026-07-20 16:05:17 +00:00
obj.videoWrapper = { borderRadius: importDefault(dependencyMap[7]).radii.lg };
const obj1 = { borderRadius: importDefault(dependencyMap[7]).radii.lg };
obj.videoWrapperLandscape = { flexGrow: 1, borderTopLeftRadius: importDefault(dependencyMap[7]).radii.none, borderTopRightRadius: importDefault(dependencyMap[7]).radii.none };
const obj2 = { flexGrow: 1, borderTopLeftRadius: importDefault(dependencyMap[7]).radii.none, borderTopRightRadius: importDefault(dependencyMap[7]).radii.none };
obj.videoWrapperFullscreen = { borderRadius: importDefault(dependencyMap[7]).radii.none };
const obj3 = { borderRadius: importDefault(dependencyMap[7]).radii.none };
obj.videoContentWrapper = { padding: importDefault(dependencyMap[7]).space.PX_16 };
obj.videoContentWrapperLandscape = { padding: 0 };
const merged = Object.assign(closure_6.absoluteFillObject);
obj.videoContentWrapperPortrait = {};
2026-07-21 06:55:02 +00:00
obj.rewardContainer = {};
2026-07-20 16:05:17 +00:00
const obj4 = { padding: importDefault(dependencyMap[7]).space.PX_16 };
const obj5 = {};
obj.rewardContentCentered = { position: "absolute", top: importDefault(dependencyMap[7]).space.PX_16, left: importDefault(dependencyMap[7]).space.PX_16, right: importDefault(dependencyMap[7]).space.PX_16, bottom: importDefault(dependencyMap[7]).space.PX_16, alignItems: "center", justifyContent: "center" };
const obj6 = { position: "absolute", top: importDefault(dependencyMap[7]).space.PX_16, left: importDefault(dependencyMap[7]).space.PX_16, right: importDefault(dependencyMap[7]).space.PX_16, bottom: importDefault(dependencyMap[7]).space.PX_16, alignItems: "center", justifyContent: "center" };
obj.modalBackground = { backgroundColor: importDefault(dependencyMap[7]).colors.BACKGROUND_BASE_LOWEST };
const obj7 = { backgroundColor: importDefault(dependencyMap[7]).colors.BACKGROUND_BASE_LOWEST };
obj.questDetailsLandscape = { borderTopWidth: 1, borderColor: importDefault(dependencyMap[7]).colors.BACKGROUND_MOD_STRONG, paddingHorizontal: importDefault(dependencyMap[7]).space.PX_16, paddingTop: importDefault(dependencyMap[7]).space.PX_24 };
2026-07-21 06:55:02 +00:00
obj.questDetailsPrimary = {};
obj.questDetailsSecondary = { marginRight: -536870861, columnGap: -299892737 };
2026-07-20 16:05:17 +00:00
const obj8 = { borderTopWidth: 1, borderColor: importDefault(dependencyMap[7]).colors.BACKGROUND_MOD_STRONG, paddingHorizontal: importDefault(dependencyMap[7]).space.PX_16, paddingTop: importDefault(dependencyMap[7]).space.PX_24 };
obj.footer = { paddingHorizontal: importDefault(dependencyMap[7]).space.PX_16, paddingVertical: importDefault(dependencyMap[7]).space.PX_8 };
const obj9 = { paddingHorizontal: importDefault(dependencyMap[7]).space.PX_16, paddingVertical: importDefault(dependencyMap[7]).space.PX_8 };
obj.icon = { color: importDefault(dependencyMap[7]).colors.INTERACTIVE_TEXT_ACTIVE };
const obj10 = { color: importDefault(dependencyMap[7]).colors.INTERACTIVE_TEXT_ACTIVE };
obj.iconDisabled = { color: importDefault(dependencyMap[7]).colors.INTERACTIVE_TEXT_DEFAULT };
const obj11 = { color: importDefault(dependencyMap[7]).colors.INTERACTIVE_TEXT_DEFAULT };
obj.closeButtonLandscape = { position: "absolute", top: importDefault(dependencyMap[7]).space.PX_16, left: importDefault(dependencyMap[7]).space.PX_16 };
const obj13 = {};
const merged1 = Object.assign(closure_6.absoluteFillObject);
obj13["bottom"] = undefined;
obj13["height"] = 70;
obj.gradientTop = obj13;
const obj14 = {};
const merged2 = Object.assign(closure_6.absoluteFillObject);
obj14["top"] = undefined;
obj14["height"] = 150;
obj.gradientBottom = obj14;
2026-07-21 06:55:02 +00:00
const obj15 = { "Null": "png", "Null": "absolute", "Null": 0, "Null": 0, "Null": 0, textShadowColor: importDefault(dependencyMap[7]).colors.BLACK, textShadowOffset: { bhk: -536870861, bic: -299892737 } };
obj.textShadow = obj15;
const obj16 = { animated: "default", hasHandledScroll: "done", isAtBottom: "go", borderRadius: importDefault(dependencyMap[7]).radii.round };
2026-07-20 16:05:17 +00:00
obj.ctaPrimary = obj16;
obj.viewRewardBtn = { marginRight: "auto" };
2026-07-21 06:55:02 +00:00
const obj12 = { position: "absolute", top: importDefault(dependencyMap[7]).space.PX_16, left: importDefault(dependencyMap[7]).space.PX_16 };
2026-07-20 16:05:17 +00:00
obj.playerThumbnail = { borderRadius: importDefault(dependencyMap[7]).radii.lg };
obj.cloudsBackground = { zIndex: -1 };
obj.questDetailsSubheader = { opacity: 0.6 };
return obj;
});
let closure_19 = { 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}));}" };
let closure_20 = { code: "function VideoQuestModalContentInProgressTsx2(){const{animation}=this.__closure;return{opacity:animation.get()};}" };
let closure_21 = { code: "function VideoQuestModalContentInProgressTsx3(){const{animation}=this.__closure;return{opacity:1-animation.get()};}" };
let closure_22 = { code: "function VideoQuestModalContentInProgressTsx4(){const{animation}=this.__closure;return{pointerEvents:animation.get()>0.3?'auto':'none'};}" };
let closure_23 = importAllResult.memo((quest) => {
let captionsEnabled;
let externallyPaused;
let handleClose;
let handleOpenTranscript;
let handlePrimaryCtaPress;
let handleShareQuest;
let handleToggleCaptions;
let hasCaptionAsset;
let hasTranscriptAsset;
let isFullscreen;
let isShareable;
let onEnd;
let onNavigateToPostWatchVideo;
let sourceQuestContent;
let tmp11;
quest = quest.quest;
const arg1 = quest;
({ handlePrimaryCtaPress, isFullscreen } = quest);
const importDefault = isFullscreen;
const setIsFullscreen = quest.setIsFullscreen;
const dependencyMap = setIsFullscreen;
({ sourceQuestContent, isShareable } = quest);
let callback;
let React;
let sharedValue;
let derivedValue;
({ captionsEnabled, handleClose, handleShareQuest, handleOpenTranscript, handleToggleCaptions, onNavigateToPostWatchVideo, onEnd, externallyPaused, hasCaptionAsset, hasTranscriptAsset } = quest);
let obj = arg1(dependencyMap[10]);
const tmp = callback4(obj.isAndroid());
const items = [quest];
const memo = React.useMemo(() => quest(setIsFullscreen[11]).getQuestAsset(quest, quest(setIsFullscreen[11]).QuestAssetType.HERO), items);
const userStatus = quest.userStatus;
let completedAt;
if (null != userStatus) {
completedAt = userStatus.completedAt;
}
let tmp4 = null != completedAt;
const VideoQuestPlayerRefactorExperiment = arg1(dependencyMap[12]).VideoQuestPlayerRefactorExperiment;
obj = { location: QuestsExperimentLocations.VIDEO_MODAL_MOBILE };
if (VideoQuestPlayerRefactorExperiment.useConfig(obj).enabled) {
let VideoQuestPlayer = tmp5(tmp6[13]).VideoQuestPlayer;
} else {
VideoQuestPlayer = tmp5(tmp6[14]).VideoQuestPlayer;
}
const windowDimensions = React.useContext(arg1(dependencyMap[15]).QuestDockGestureContext).windowDimensions;
const tmp7 = callback(React.useState(null), 2);
const first = tmp7[0];
callback = tmp7[1];
callback = React.useCallback((nativeEvent) => {
callback(nativeEvent.nativeEvent.layout.height);
}, []);
[tmp11, closure_4] = callback(React.useState(null), 2);
let diff = null;
const callback1 = React.useCallback((nativeEvent) => {
_undefined(isFullscreen(setIsFullscreen[7]).space.PX_24 + nativeEvent.nativeEvent.layout.height);
}, []);
if (null != first) {
diff = first - 2 * importDefault(dependencyMap[7]).space.PX_16;
}
let str = "md";
let str2 = "md";
if (null != diff) {
str2 = str;
if (null != tmp11) {
let str3 = "lg";
if (diff < arg1(dependencyMap[8]).QUEST_PROGRESS_DIAMETER_BY_SIZE.lg + tmp11) {
if (diff >= arg1(dependencyMap[8]).QUEST_PROGRESS_DIAMETER_BY_SIZE.md-lg + tmp11) {
str = "md-lg";
}
str3 = str;
}
str2 = str3;
}
}
let num5 = 0;
if (null != tmp11) {
num5 = tmp11;
}
const sum = arg1(dependencyMap[8]).QUEST_PROGRESS_DIAMETER_BY_SIZE.md + num5;
const sum1 = sum + 2 * importDefault(dependencyMap[7]).space.PX_16;
let obj2 = arg1(dependencyMap[16]);
sharedValue = obj2.useSharedValue(0);
const items1 = [sharedValue];
const effect = React.useEffect(() => {
const result = sharedValue.set(1);
}, items1);
let obj3 = arg1(dependencyMap[16]);
function ne() {
const obj = quest(setIsFullscreen[16]);
return obj.withDelay(3000, quest(setIsFullscreen[17]).withTiming(sharedValue.get(), { duration: 1000 }));
}
obj = { withDelay: arg1(dependencyMap[16]).withDelay, LOGO_REWARD_TRANSITION_DELAY_MS: 3000, withTiming: arg1(dependencyMap[17]).withTiming, isComponentMounted: sharedValue, LOGO_REWARD_TRANSITION_DURATION_MS: 1000 };
ne.__closure = obj;
ne.__workletHash = 12561024953493;
ne.__initData = closure_19;
derivedValue = obj3.useDerivedValue(ne);
let obj5 = arg1(dependencyMap[16]);
function oe() {
return { opacity: derivedValue.get() };
}
oe.__closure = { animation: derivedValue };
oe.__workletHash = 17463485679217;
oe.__initData = closure_20;
const animatedStyle = obj5.useAnimatedStyle(oe);
let obj6 = arg1(dependencyMap[16]);
function se() {
return { opacity: 1 - derivedValue.get() };
}
se.__closure = { animation: derivedValue };
se.__workletHash = 9103187579788;
se.__initData = closure_21;
const animatedStyle1 = obj6.useAnimatedStyle(se);
let obj7 = arg1(dependencyMap[16]);
function ae() {
const obj = {};
let str = "none";
if (derivedValue.get() > 0.3) {
str = "auto";
}
obj.pointerEvents = str;
return obj;
}
ae.__closure = { animation: derivedValue };
ae.__workletHash = 11833431315705;
ae.__initData = closure_22;
const animatedProps = obj7.useAnimatedProps(ae);
const tmp28 = importDefault(dependencyMap[18])();
const items2 = [isFullscreen, setIsFullscreen];
const callback2 = React.useCallback((arg0) => {
let tmp2 = isFullscreen;
if (!isFullscreen) {
tmp2 = "landscape" !== tmp;
}
let str2 = "PORTRAIT";
if (!tmp2) {
str2 = "LANDSCAPE";
}
setIsFullscreen("LANDSCAPE" === str2);
}, items2);
const obj1 = { bottom: true, style: tmp.wrapper };
obj2 = {};
const items3 = [, , ];
({ videoWrapper: arr4[0], videoWrapperLandscape: arr4[1] } = tmp);
let videoWrapperFullscreen = isFullscreen;
if (isFullscreen) {
videoWrapperFullscreen = tmp.videoWrapperFullscreen;
}
items3[2] = videoWrapperFullscreen;
obj2.style = items3;
obj3 = { theme: ThemeTypes.DARKER };
const obj4 = { captionsEnabled, orientation: "landscape" };
const items4 = [tmp.videoLandscape, , ];
let videoLandscape9by16 = !isFullscreen;
if (videoLandscape9by16) {
videoLandscape9by16 = tmp.videoLandscape9by16;
}
items4[1] = videoLandscape9by16;
let videoLandscapeFullscreen = isFullscreen;
if (isFullscreen) {
videoLandscapeFullscreen = tmp.videoLandscapeFullscreen;
}
items4[2] = videoLandscapeFullscreen;
obj4.style = items4;
obj4.contentInsets = closure_17;
obj4.handleOpenTranscript = handleOpenTranscript;
obj4.handleToggleCaptions = handleToggleCaptions;
obj4.isFullscreen = isFullscreen;
obj4.externallyPaused = externallyPaused;
obj4.onEnd = onEnd;
obj4.onToggleFullscreen = callback2;
obj4.sourceQuestContent = sourceQuestContent;
obj4.hasCaptionAsset = hasCaptionAsset;
obj4.hasTranscriptAsset = hasTranscriptAsset;
const items5 = [callback2(VideoQuestPlayer, obj4), ];
obj5 = { onClose: handleClose };
const items6 = [tmp.closeButtonLandscape, ];
let tmp37 = isFullscreen;
const tmp10 = callback(React.useState(null), 2);
const tmp30 = callback2;
const tmp31 = callback3;
const tmp32 = sharedValue;
const tmp33 = callback3;
const tmp34 = callback2;
const tmp35 = callback2;
if (isFullscreen) {
tmp37 = null != tmp28;
}
if (tmp37) {
obj6 = { left: tmp28.left };
tmp37 = obj6;
}
items6[1] = tmp37;
obj5.style = items6;
items5[1] = tmp35(importDefault(dependencyMap[21]), obj5);
obj3.children = items5;
const items7 = [tmp33(arg1(dependencyMap[20]).ThemeContextProvider, obj3), ];
let tmp39Result = !isFullscreen;
if (tmp39Result) {
obj7 = {};
({ landscapeContentScroll: obj15.style, landscapeContentScrollContent: obj15.contentContainerStyle } = tmp);
obj7.showsVerticalScrollIndicator = false;
obj7.alwaysBounceVertical = false;
const obj8 = {};
const items8 = [, ];
({ videoContentWrapper: arr9[0], videoContentWrapperLandscape: arr9[1] } = tmp);
obj8.style = items8;
const obj9 = {};
const items9 = [tmp.rewardContainer, ];
const obj10 = { minHeight: sum1 };
items9[1] = obj10;
obj9.style = items9;
obj9.onLayout = callback;
const obj11 = {};
const items10 = [tmp.rewardContentCentered, animatedStyle];
obj11.style = items10;
obj11.animatedProps = animatedProps;
const obj12 = { size: str2, onTextBlockLayout: callback1 };
obj11.children = callback2(importDefault(dependencyMap[23]), obj12);
const items11 = [callback2(importDefault(dependencyMap[22]), obj11), ];
const obj13 = {};
const items12 = [tmp.rewardContentCentered, , ];
const tmp39 = callback2;
const tmp40 = closure_7;
const tmp45 = importDefault(dependencyMap[22]);
let obj21 = arg1(dependencyMap[10]);
const tmp46 = importDefault(dependencyMap[22]);
items12[1] = obj21.isAndroid() && tmp.modalBackground;
items12[2] = animatedStyle1;
obj13.style = items12;
obj13.pointerEvents = "none";
let obj22 = arg1(dependencyMap[10]);
let isAndroidResult = obj22.isAndroid();
if (isAndroidResult) {
const obj14 = { align: "top", style: tmp.cloudsBackground };
isAndroidResult = callback2(importDefault(dependencyMap[24]), obj14);
}
const items13 = [isAndroidResult, ];
const obj15 = {};
const tmp48 = obj21.isAndroid() && tmp.modalBackground;
let obj25 = arg1(dependencyMap[11]);
obj15.assetUrl = obj25.getQuestAsset(quest, arg1(dependencyMap[11]).QuestAssetType.LOGO_TYPE, "dark").url;
obj15.maxHeight = 90;
obj15.maxWidth = windowDimensions.get().width - 120;
items13[1] = callback2(importDefault(dependencyMap[25]), obj15);
obj13.children = items13;
items11[1] = callback3(tmp46, obj13);
obj9.children = items11;
const items14 = [callback3(sharedValue, obj9), , ];
const obj16 = { align: "top", style: tmp.cloudsBackground };
items14[1] = callback2(importDefault(dependencyMap[24]), obj16);
const obj17 = { direction: "vertical", spacing: importDefault(dependencyMap[7]).space.PX_24, style: tmp.questDetailsLandscape };
2026-07-21 06:55:02 +00:00
const obj18 = { "Null": true, "Null": "/assets/design/components/Icon/native/redesign/generated/images", spacing: importDefault(dependencyMap[7]).space.PX_8 };
2026-07-20 16:05:17 +00:00
const obj19 = { style: tmp.questDetailsPrimary, onPress: handlePrimaryCtaPress };
2026-07-21 06:55:02 +00:00
const obj20 = { 1655478700: null, 72438626: null, 1446732292: null, children: quest.config.messages.gameTitle };
2026-07-20 16:05:17 +00:00
const items15 = [callback2(arg1(dependencyMap[28]).Text, obj20), ];
2026-07-21 06:55:02 +00:00
obj21 = { children: quest.config.messages.gamePublisher };
2026-07-20 16:05:17 +00:00
items15[1] = callback2(arg1(dependencyMap[28]).Text, obj21);
obj19.children = items15;
const items16 = [callback3(arg1(dependencyMap[27]).PressableOpacity, obj19), ];
obj22 = { style: tmp.questDetailsSecondary };
const obj23 = { quest, location: QuestsExperimentLocations.VIDEO_MODAL_MOBILE, sourceQuestContent };
obj22.children = callback2(importDefault(dependencyMap[29]), obj23);
items16[1] = callback2(sharedValue, obj22);
obj18.children = items16;
const items17 = [callback3(arg1(dependencyMap[26]).Stack, obj18), , ];
let tmp63 = null != memo;
if (tmp63) {
const obj24 = { onPress: handlePrimaryCtaPress };
obj25 = {};
const obj26 = { uri: memo.url };
obj25.source = obj26;
obj25.style = tmp.playerThumbnail;
obj24.children = callback2(importDefault(dependencyMap[30]), obj25);
tmp63 = callback2(arg1(dependencyMap[27]).PressableOpacity, obj24);
}
items17[1] = tmp63;
const obj27 = { direction: "horizontal", spacing: importDefault(dependencyMap[7]).space.PX_16 };
const obj28 = { onPress: handlePrimaryCtaPress, style: tmp.ctaPrimary };
const tmp58 = importDefault(dependencyMap[25]);
const tmp60 = callback3;
const tmp68 = callback3;
obj28.text = arg1(dependencyMap[32]).getExternalCtaLabel(quest);
const items18 = [callback2(arg1(dependencyMap[31]).ShinyButton, obj28), , ];
if (isShareable) {
const obj29 = {};
const intl = arg1(dependencyMap[34]).intl;
obj29.accessibilityLabel = intl.string(arg1(dependencyMap[34]).t.Ej3B3Y);
obj29.icon = importDefault(dependencyMap[35]);
obj29.onPress = handleShareQuest;
obj29.variant = "secondary";
isShareable = callback2(arg1(dependencyMap[33]).IconButton, obj29);
}
items18[1] = isShareable;
if (tmp4) {
const obj30 = {};
const intl2 = arg1(dependencyMap[34]).intl;
obj30.accessibilityLabel = intl2.string(arg1(dependencyMap[34]).t.cfY4PE);
obj30.icon = importDefault(dependencyMap[36]);
obj30.onPress = onNavigateToPostWatchVideo;
obj30.variant = "secondary";
tmp4 = callback2(arg1(dependencyMap[33]).IconButton, obj30);
}
items18[2] = tmp4;
obj27.children = items18;
items17[2] = tmp68(arg1(dependencyMap[26]).Stack, obj27);
obj17.children = items17;
items14[2] = tmp60(arg1(dependencyMap[26]).Stack, obj17);
obj8.children = items14;
obj7.children = callback3(sharedValue, obj8);
tmp39Result = tmp39(tmp40, obj7);
const obj40 = arg1(dependencyMap[32]);
}
items7[1] = tmp39Result;
obj2.children = items7;
obj1.children = tmp31(tmp32, obj2);
return tmp30(arg1(dependencyMap[19]).SafeAreaPaddingView, obj1);
});
let closure_24 = importAllResult.memo((arg0) => {
let captionsEnabled;
let color;
let externallyPaused;
let handleClose;
let handleOpenTranscript;
let handlePrimaryCtaPress;
let handleRewardDetailsPress;
let handleShareQuest;
let handleToggleCaptions;
let hasCaptionAsset;
let hasTranscriptAsset;
let icon;
let isFullscreen;
let isShareable;
let onEnd;
let onNavigateToPostWatchVideo;
let quest;
let sourceQuestContent;
({ quest, captionsEnabled, handlePrimaryCtaPress, handleOpenTranscript, handleToggleCaptions, sourceQuestContent, hasCaptionAsset, hasTranscriptAsset, isShareable } = arg0);
let arg1;
let importDefault;
let dependencyMap;
let callback;
let React;
({ handleClose, handleRewardDetailsPress, handleShareQuest, isFullscreen, onNavigateToPostWatchVideo, onEnd, externallyPaused } = arg0);
let obj = arg1(dependencyMap[37]);
const questTaskDetails = obj.useQuestTaskDetails(quest);
const userStatus = quest.userStatus;
let completedAt;
if (null != userStatus) {
completedAt = userStatus.completedAt;
}
let obj1 = arg1(dependencyMap[38]);
const videoQuestProgressRemainingAccessibilityLabel = obj1.getVideoQuestProgressRemainingAccessibilityLabel(questTaskDetails, tmp3);
const VideoQuestPlayerRefactorExperiment = arg1(dependencyMap[12]).VideoQuestPlayerRefactorExperiment;
obj = { location: QuestsExperimentLocations.VIDEO_MODAL_MOBILE };
if (VideoQuestPlayerRefactorExperiment.useConfig(obj).enabled) {
let VideoQuestPlayer = tmp5(tmp6[13]).VideoQuestPlayer;
} else {
VideoQuestPlayer = tmp5(tmp6[14]).VideoQuestPlayer;
}
const windowDimensions = React.useContext(arg1(dependencyMap[15]).QuestDockGestureContext).windowDimensions;
arg1 = windowDimensions;
const items = [windowDimensions];
const memo = React.useMemo(() => Math.floor(windowDimensions.get().width / 0.5625), items);
importDefault = memo;
callback = React.useCallback(() => {
}, []);
const tmp9 = importDefault(dependencyMap[18])();
dependencyMap = tmp9;
const tmp10 = callback(React.useState(64), 2);
const first = tmp10[0];
callback = first;
React = tmp10[1];
const items1 = [memo, first, windowDimensions, tmp9];
const callback1 = React.useCallback((nativeEvent) => {
callback(nativeEvent.nativeEvent.layout.height);
}, []);
const memo1 = React.useMemo(() => Math.min(windowDimensions.get().height - tmp9.top - tmp9.bottom - first, memo), items1);
icon = callback4(windowDimensions.get().height - memo1 - first < 200);
obj = { bottom: true, style: items2 };
const items2 = [, ];
({ wrapper: arr3[0], wrapperPortrait: arr3[1] } = icon);
obj1 = {};
const items3 = [icon.videoWrapper, ];
if (null == memo1) {
const obj2 = { flexGrow: 1 };
let obj3 = obj2;
} else {
obj3 = { height: memo1 };
}
items3[1] = obj3;
obj1.style = items3;
const obj4 = { theme: ThemeTypes.DARKER };
const obj5 = { captionsEnabled, onLoad: callback, externallyPaused, orientation: "portrait", contentInsets: closure_16, handleOpenTranscript, handleToggleCaptions, isFullscreen, onEnd, sourceQuestContent, hasCaptionAsset, hasTranscriptAsset };
obj4.children = callback2(VideoQuestPlayer, obj5);
const items4 = [callback2(arg1(dependencyMap[20]).ThemeContextProvider, obj4), , , ];
const obj6 = { start: closure_12, end: closure_13, style: icon.gradientTop, colors: items };
items4[1] = callback2(importDefault(dependencyMap[39]), obj6);
const obj7 = { start: closure_12, end: closure_13, style: icon.gradientBottom, colors: items1 };
items4[2] = callback2(importDefault(dependencyMap[39]), obj7);
const obj8 = { style: items5 };
const items5 = [, ];
({ videoContentWrapper: arr6[0], videoContentWrapperPortrait: arr6[1] } = icon);
const obj9 = { closeButtonIconColor: importDefault(dependencyMap[7]).colors.WHITE, onClose: handleClose, showCurrentVideoTime: true, withTextShadow: true };
const items6 = [callback2(importDefault(dependencyMap[40]), obj9), ];
const obj10 = { direction: "vertical", spacing: importDefault(dependencyMap[7]).space.PX_24 };
2026-07-21 06:55:02 +00:00
const obj11 = { "Null": true, "Null": "/assets/design/components/Icon/native/redesign/generated/images", spacing: importDefault(dependencyMap[7]).space.PX_8 };
2026-07-20 16:05:17 +00:00
const obj12 = { style: icon.questDetailsPrimary, onPress: handlePrimaryCtaPress };
2026-07-21 06:55:02 +00:00
const obj13 = { style: icon.textShadow, children: quest.config.messages.gameTitle };
2026-07-20 16:05:17 +00:00
const items7 = [callback2(arg1(dependencyMap[28]).Text, obj13), ];
const items8 = [, ];
({ textShadow: arr9[0], questDetailsSubheader: arr9[1] } = icon);
2026-07-21 06:55:02 +00:00
items7[1] = callback2(arg1(dependencyMap[28]).Text, { style: items8, children: quest.config.messages.gamePublisher });
2026-07-20 16:05:17 +00:00
obj12.children = items7;
const items9 = [callback3(arg1(dependencyMap[27]).PressableOpacity, obj12), ];
const obj15 = { style: icon.questDetailsSecondary, children: callback2(importDefault(dependencyMap[8]), { quest, size: "x-sm", progress: questTaskDetails.percentComplete, hasConfetti: true, onPress: handleRewardDetailsPress, accessibilityLabel: videoQuestProgressRemainingAccessibilityLabel }) };
items9[1] = callback2(closure_5, obj15);
obj11.children = items9;
const items10 = [callback3(arg1(dependencyMap[26]).Stack, obj11), ];
const obj17 = { onPress: handlePrimaryCtaPress, style: icon.ctaPrimary };
let obj21 = arg1(dependencyMap[32]);
obj17.text = obj21.getExternalCtaLabel(quest);
items10[1] = callback2(arg1(dependencyMap[31]).ShinyButton, obj17);
obj10.children = items10;
items6[1] = callback3(arg1(dependencyMap[26]).Stack, obj10);
obj8.children = items6;
items4[3] = callback3(closure_5, obj8);
obj1.children = items4;
const items11 = [callback3(closure_5, obj1), ];
const obj18 = { style: icon.footer, spacing: importDefault(dependencyMap[7]).space.PX_4, onLayout: callback1 };
let tmp18 = tmp3;
if (null != completedAt) {
const obj19 = { style: icon.viewRewardBtn };
2026-07-21 06:55:02 +00:00
const obj20 = {};
2026-07-20 16:05:17 +00:00
obj21 = { size: "sm" };
obj20.icon = callback2(arg1(dependencyMap[42]).ArrowSmallRightIcon, obj21);
obj20.onPress = onNavigateToPostWatchVideo;
const intl = arg1(dependencyMap[34]).intl;
obj20.text = intl.string(arg1(dependencyMap[34]).t.jyYgZ+);
obj19.children = callback2(arg1(dependencyMap[41]).Button, obj20);
tmp18 = callback2(closure_5, obj19);
}
const items12 = [tmp18, , , , ];
if (hasTranscriptAsset) {
const obj22 = {};
const intl2 = arg1(dependencyMap[34]).intl;
obj22.accessibilityLabel = intl2.string(arg1(dependencyMap[34]).t.KCzjTi);
obj22.onPress = handleOpenTranscript;
const obj23 = { color: icon.iconDisabled.color };
obj22.children = callback2(arg1(dependencyMap[43]).TranscriptOutlineIcon, obj23);
hasTranscriptAsset = callback2(closure_26, obj22);
}
items12[1] = hasTranscriptAsset;
if (!hasCaptionAsset) {
items12[2] = hasCaptionAsset;
if (isShareable) {
const obj24 = {};
const intl4 = arg1(dependencyMap[34]).intl;
obj24.accessibilityLabel = intl4.string(arg1(dependencyMap[34]).t.Ej3B3Y);
obj24.onPress = handleShareQuest;
const obj25 = { color: importDefault(dependencyMap[7]).colors.TEXT_DEFAULT };
obj24.children = callback2(arg1(dependencyMap[45]).ShareIcon, obj25);
isShareable = callback2(closure_26, obj24);
}
items12[3] = isShareable;
const obj26 = {
quest,
location: QuestsExperimentLocations.VIDEO_MODAL_MOBILE,
sourceQuestContent,
children(ref) {
let obj = Object.create(null);
obj.ref = 0;
obj = {};
const merged = Object.assign(ref, obj);
const intl = windowDimensions(tmp9[34]).intl;
obj.accessibilityLabel = intl.string(windowDimensions(tmp9[34]).t.PdRCRg);
obj.ref = ref.ref;
const merged1 = Object.assign(merged);
obj = { color: memo(tmp9[7]).colors.TEXT_DEFAULT };
obj["children"] = callback2(windowDimensions(tmp9[46]).MoreHorizontalIcon, obj);
return callback2(closure_26, obj);
}
};
items12[4] = callback2(importDefault(dependencyMap[29]), obj26);
obj18.children = items12;
items11[1] = callback3(arg1(dependencyMap[26]).Stack, obj18);
obj.children = items11;
return tmp14(arg1(dependencyMap[19]).SafeAreaPaddingView, obj);
} else {
const obj27 = {};
const intl3 = arg1(dependencyMap[34]).intl;
obj27.accessibilityLabel = intl3.string(arg1(dependencyMap[34]).t.bDSZO1);
obj27.onPress = handleToggleCaptions;
let obj28 = {};
if (captionsEnabled) {
({ icon, color } = icon);
} else {
color = icon.iconDisabled.color;
}
obj28.color = color;
obj28 = tmp27(arg1(dependencyMap[44]).ClosedCaptionsOutlineIcon, obj28);
obj27.children = obj28;
callback2(closure_26, obj27);
const tmp28 = closure_26;
}
});
const obj10 = arg1(dependencyMap[9]);
let obj = {};
obj = { padding: importDefault(dependencyMap[7]).space.PX_8 };
obj.footerButton = obj;
let closure_25 = arg1(dependencyMap[9]).createStyles(obj);
let closure_26 = importAllResult.forwardRef(function FooterButton(arg0, arg1) {
const obj = { accessibilityRole: "button", style: callback5().footerButton };
const merged = Object.assign(arg0);
obj["ref"] = arg1;
return callback2(arg1(dependencyMap[27]).PressableOpacity, obj);
});
const obj11 = arg1(dependencyMap[9]);
const memoResult = importAllResult.memo(function VideoQuestModalContentInProgress(arg0) {
let isFullscreen;
let onClose;
let onEnd;
let onNavigateToPostWatchVideo;
let setIsFullscreen;
let sourceQuestContent;
let tmp4;
({ onClose, sourceQuestContent } = arg0);
const arg1 = sourceQuestContent;
({ isFullscreen, onNavigateToPostWatchVideo, onEnd, setIsFullscreen } = arg0);
let obj = arg1(dependencyMap[47]);
const quest = obj.useVideoQuestModalContext().quest;
const importDefault = quest;
const items = [quest];
const items1 = [quest];
const memo = React.useMemo(() => sourceQuestContent(closure_2[11]).getQuestAsset(quest, sourceQuestContent(closure_2[11]).QuestAssetType.VIDEO_PLAYER_CAPTION, undefined, true), items);
const memo1 = React.useMemo(() => sourceQuestContent(closure_2[11]).getQuestAsset(quest, sourceQuestContent(closure_2[11]).QuestAssetType.VIDEO_PLAYER_TRANSCRIPT, undefined, true), items1);
[tmp4, closure_2] = callback(React.useState(false), 2);
const items2 = [quest];
let callback = React.useCallback(() => lib((arg0) => !arg0), []);
const callback1 = React.useCallback(() => {
let obj = quest(lib[48]);
obj = { quest };
obj.openLazy(sourceQuestContent(lib[50])(lib[49], lib.paths), "transcript-" + quest.id, obj);
}, items2);
const tmp3 = callback(React.useState(false), 2);
const getQuestImpressionId = arg1(dependencyMap[51]).useGetQuestImpressionId();
callback = getQuestImpressionId;
const tmp8 = callback(React.useState(false), 2);
const React = tmp8[1];
const obj2 = arg1(dependencyMap[51]);
const isShareableQuestResult = arg1(dependencyMap[52]).isShareableQuest(quest.config);
const items3 = [isShareableQuestResult, quest.id, getQuestImpressionId, sourceQuestContent];
const callback2 = React.useCallback(() => {
if (isShareableQuestResult) {
let tmp3;
let obj = sourceQuestContent(closure_2[53]);
let tmp4 = sourceQuestContent;
if (obj.shouldMigrateToAdAnalyticsInterface(sourceQuestContent(closure_2[53]).AdAnalyticsInterfaceExperimentStep.STEP_2_CLICKED_INTERNAL, "video_quest_modal_in_progress")) {
let tmp4Result = tmp4(tmp5[54]);
obj = { type: tmp4(tmp5[55]).AdUserActionType.CLICK_INTERNAL, adCreativeType: tmp4(tmp5[56]).AdCreativeType.QUEST, adCreativeId: quest.id, questContentCTA: tmp4(tmp5[57]).QuestContentCTA.MOBILE_SHARESHEET, surfaceId: tmp4(tmp5[58]).QuestContent.VIDEO_MODAL_MOBILE, sourceQuestContent, impressionId: getQuestImpressionId() };
tmp4Result.captureAdUserAction(obj);
} else {
tmp4Result = tmp4(tmp5[59]);
obj = { questId: quest.id, questContent: tmp4(tmp5[58]).QuestContent.VIDEO_MODAL_MOBILE, questContentCTA: tmp4(tmp5[57]).QuestContentCTA.MOBILE_SHARESHEET, impressionId: getQuestImpressionId(), sourceQuestContent };
const result = tmp4Result.trackQuestContentClicked(obj);
}
callback(true);
tmp4 = closure_2;
const obj1 = {};
tmp3 = sourceQuestContent(closure_2[32]);
obj1.message = tmp3.getQuestUrl(quest.id);
obj1.iOSOnlyShareCallback = function iOSOnlyShareCallback() {
return callback(false);
};
const _HermesInternal = HermesInternal;
sourceQuestContent(closure_2[60]).showShareActionSheet(obj1, "Video Quest Modal - " + quest.id);
const obj6 = sourceQuestContent(closure_2[60]);
}
}, items3);
const obj3 = arg1(dependencyMap[52]);
const items4 = [quest.id];
const videoQuestClickCtaAndMaybeCloseModal = arg1(dependencyMap[61]).useVideoQuestClickCtaAndMaybeCloseModal({ quest, onClose, sourceQuestContent });
const callback3 = React.useCallback(() => {
let obj = sourceQuestContent(closure_2[62]);
obj = { questId: quest.id };
const result = obj.openRewardDetailsBottomSheet(obj);
}, items4);
const obj4 = arg1(dependencyMap[61]);
const videoExternallyPaused = arg1(dependencyMap[63]).useVideoExternallyPaused(quest.id, tmp8[0]);
let tmp15 = null == tmp14;
if (!tmp15) {
tmp15 = "portrait" === arg1(dependencyMap[38]).getVideoOrientation(tmp14);
const obj6 = arg1(dependencyMap[38]);
}
obj = { quest, captionsEnabled: tmp4, handleClose: onClose, handlePrimaryCtaPress: videoQuestClickCtaAndMaybeCloseModal, handleRewardDetailsPress: callback3, handleShareQuest: callback2, handleOpenTranscript: callback1, handleToggleCaptions: callback, isFullscreen, onNavigateToPostWatchVideo, onEnd, setIsFullscreen, externallyPaused: videoExternallyPaused, sourceQuestContent, hasCaptionAsset: null != memo, hasTranscriptAsset: null != memo1, isShareable: isShareableQuestResult };
return callback2(tmp15 ? closure_24 : closure_23, obj);
});
const result = arg1(dependencyMap[65]).fileFinishedImporting("modules/quests/native/VideoQuestModal/VideoQuestModalContentInProgress.tsx");
export default memoResult;