/* Metro module 9522; source: modules/quests/utils/VideoQuestUtils.tsx; dependencies: [4401, 7093, 7095, 661, 7091, 9484, 7116, 1244, 7110, 4007, 2, 9523] */ import NetworkStore from '../../../stores/NetworkStore.tsx'; /* Metro dependency 4401 */ import QuestStore from '../QuestStore.tsx'; /* Metro dependency 7093 */ import VideoQuestUIStore from '../VideoQuestUIStore.tsx'; /* Metro dependency 7095 */ import * as FileImportTrackerModule from '../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as ConstantsModule from '../../../Constants.tsx'; /* Metro dependency 661 */ import * as IndexNativeModule from '../../../intl/index.native.tsx'; /* Metro dependency 1244 */ import * as QuestTaskUtilsModule from './QuestTaskUtils.tsx'; /* Metro dependency 7116 */ import * as MobileQuestVideoWatchCtaCopyModule from './MobileQuestVideoWatchCtaCopy.tsx'; /* Metro dependency 9523 */ function _fun74293(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#74293, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9708:6, offset: 0x01d89035, size: 312 bytes, params: 8, frame: 22 const env0_0 = require; const sendVideoProgress2 = sendVideoProgress; const closure2 = function(a0, a1) { var r1; var r0; var value = 0; if (a0 <= value) { r0 = value; } else if (a1 <= value) { r0 = value; } else { value = 1; if (a0 >= a1) { r1 = value; } else { value = global.Math.min(value, global.Math.round(a0 / a1 * 100) / 100); r1 = value; } r0 = r1; } return r0; }; const closure3 = function(a0) { return 'VIDEO-QUEST-' + a0; }; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); (FileImportTrackerModule).fileFinishedImporting('modules/quests/utils/VideoQuestUtils.tsx'); const getVideoQuestWatchCtaText = (MobileQuestVideoWatchCtaCopyModule).getVideoQuestWatchCtaText; exports.getVideoQuestWatchCtaText = getVideoQuestWatchCtaText; exports.sendVideoProgress = sendVideoProgress2; exports.getVideoOrientation = function(a0) { var video = a0.assets.video; var value = 'portrait'; return video == null || video.width == null || video.height == null ? value : video.width > video.height ? 'landscape' : value; }; exports.getVideoQuestProgressRemainingAccessibilityLabel = getVideoQuestProgressRemainingAccessibilityLabel; exports.formatVideoProgressRatio = closure2; exports.getVideoQuestEndCardCtaText = getVideoQuestEndCardCtaText; exports.handleVideoQuestModalClose = handleVideoQuestModalClose; exports.getVideoQuestModalKey = closure3; exports.computeMaxSeekableTime = function(a0, a1) { var r0; var value = a0; if (value >= a1 - 1) { value = global.Math.max(value, a1); r0 = value; } else { r0 = value; } return r0; }; exports.isVideoQuestProgressing = isVideoQuestProgressing; function sendVideoProgress(a0, a1) { // fn#74294, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9708:151, offset: 0x01d8916d, size: 144 bytes, params: 3, frame: 17 var value; const value2 = undefined; let r3 = (require(7091) /* metro dependency 7091: QuestDataUtils */).isQuestExpired(a0) || (a0.userStatus == null ? value2 : a0.userStatus.enrolledAt) == null; r3 = !r3 ? (a0.userStatus == null ? value2 : a0.userStatus.completedAt) != null : r3; if (!r3) { value = require(9484) /* metro dependency 9484: QuestActionCreators */; value.updateVideoProgress(a0.id, a1); } return value2; } function getVideoQuestProgressRemainingAccessibilityLabel(a0, a1) { // fn#74298, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9708:928, offset: 0x01d892d1, size: 393 bytes, params: 3, frame: 21 const intl = (IndexNativeModule).intl; const t = (IndexNativeModule).t; if (a1) { return intl.string(t['ij5E/5']); } const {minutes, seconds} = (QuestTaskUtilsModule).getRemainingTaskTime(a0); return intl.formatToPlainString(t.nzYZrt, {remainingTime: minutes > 0 && seconds > 0 ? intl.formatToPlainString(t['lW/66D'], {minutes: minutes, seconds: seconds}) : minutes > 0 ? intl.formatToPlainString(t['SxnF/O'], {count: minutes}) : intl.formatToPlainString(t['0BZpdi'], {count: seconds})}); } function getVideoQuestEndCardCtaText({ctaConfig}) { // fn#74299, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9708:1548, offset: 0x01d8945a, size: 85 bytes, params: 2, frame: 15 var r0; var intl; const buttonLabel = ctaConfig.buttonLabel; if (buttonLabel != null) { r0 = buttonLabel; } else { intl = (require(1244) /* metro dependency 1244: indexNative */).intl; r0 = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.iiTtpJ); } return r0; } function handleVideoQuestModalClose({questId, sourceQuestContent, videoSessionId}) { // fn#74300, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9708:1705, offset: 0x01d894af, size: 369 bytes, params: 2, frame: 25 var r0; var quest; var maxTimestampSec; var formatVideoProgressRatioBinding; var value11; var moduleValue; var trackQuestEvent; var object; var moduleValue2; var object3; const videoQuestUIStoreBinding = VideoQuestUIStore; videoQuestUIStoreBinding.getState().setTranscriptEnabled(false); const videoProgress = videoQuestUIStoreBinding.getState().getVideoProgress(questId); if (videoProgress != null) { quest = QuestStore.getQuest(questId); r0 = quest != null && quest.userStatus?.enrolledAt != null; r0 = r0 && quest.userStatus?.completedAt == null; if (r0) { sendVideoProgress(quest, videoProgress.maxTimestampSec); } formatVideoProgressRatioBinding = formatVideoProgressRatio; maxTimestampSec = videoProgress.maxTimestampSec; value11 = formatVideoProgressRatioBinding(maxTimestampSec, videoProgress.duration); moduleValue = require(7110) /* metro dependency 7110: AnalyticsActions */; trackQuestEvent = moduleValue.trackQuestEvent; maxTimestampSec = videoProgress.maxTimestampSec; Reflect.apply(trackQuestEvent, moduleValue, [{questId: questId, event: AnalyticEvents.QUEST_VIDEO_PROGRESSED, properties: {progress: value11, video_timestamp_seconds: maxTimestampSec, video_session_id: videoSessionId}, sourceQuestContent: sourceQuestContent}]); moduleValue2 = require(7110) /* metro dependency 7110: AnalyticsActions */; trackQuestEvent = moduleValue2.trackQuestEvent; object = {questId: questId}; object.event = AnalyticEvents.QUEST_VIDEO_MODAL_CLOSED; object3 = {video_progress: value11, video_session_id: videoSessionId}; object3.network_connection_speed = NetworkStore.getEffectiveConnectionSpeed(); object.properties = object3; object.sourceQuestContent = sourceQuestContent; Reflect.apply(trackQuestEvent, moduleValue2, [object]); } } function isVideoQuestProgressing(a0) { // fn#74302, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9708:2661, offset: 0x01d89649, size: 95 bytes, params: 2, frame: 15 const hasWatchVideoTasks2 = (QuestTaskUtilsModule).hasWatchVideoTasks(a0); return hasWatchVideoTasks2 ? (require(4007) /* metro dependency 4007: NavigationRouteUtilsNative */).isModalOpen(getVideoQuestModalKey(a0.id)) : !!hasWatchVideoTasks2; } } global.__d(_fun74293, 9522, [4401, 7093, 7095, 661, 7091, 9484, 7116, 1244, 7110, 4007, 2, 9523]) /* metro module 9522, dependencies: [4401, 7093, 7095, 661, 7091, 9484, 7116, 1244, 7110, 4007, 2, 9523] */;