2026-07-27 11:26:19 +00:00
// Module ID: 10898
// Function ID: 84611
2026-07-20 16:05:17 +00:00
// Name: _createForOfIteratorHelperLoose
2026-07-27 11:26:19 +00:00
// Dependencies: [5, 31, 10899, 4977, 653, 33, 4099, 10900, 1935, 10902, 9420, 10909, 10915, 5938, 9401, 4980, 3832, 1212, 9104, 9109, 10429, 5953, 5666, 3983, 6554, 477, 3828, 689, 10916, 8867, 4473, 4476, 1457, 2]
2026-07-20 16:05:17 +00:00
// Exports: dismissOverlayScreens, getPrimaryCtaIcon, handleRewardClaimThenView, isHeroVideoSupported, openDiscordQuestsFAQ, openQuestHome, openRewardDetailsBottomSheet, showQuestUnavailableAlert
2026-07-27 11:26:19 +00:00
// Module 10898 (_createForOfIteratorHelperLoose)
2026-07-23 10:11:24 +00:00
import closure_3 from "jsxProd" ;
import "getAlertModalItemKey" ;
import zustandStore from "zustandStore" ;
import QuestsExperimentLocations from "QuestsExperimentLocations" ;
import { UserSettingsSections } from "ME" ;
import jsxProd from "set" ;
let closure_10 ;
let closure_11 ;
let closure_12 ;
let closure_5 ;
let closure_6 ;
let closure_7 ;
let closure_8 ;
const require = arg1 ;
function _createForOfIteratorHelperLoose ( iterable ) {
let closure_0 = iterable ;
iterable = "undefined" !== typeof Symbol ;
if ( iterable ) {
2026-07-20 16:05:17 +00:00
const _Symbol = Symbol ;
2026-07-23 10:11:24 +00:00
iterable = iterable [ Symbol . iterator ] ;
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
if ( ! iterable ) {
iterable = iterable [ Symbol . iterator ] ;
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
if ( iterable ) {
const iter = iterable . call ( iterable ) ;
2026-07-20 16:05:17 +00:00
const next = iter . next ;
return next . bind ( iter ) ;
} else {
const _Array = Array ;
2026-07-23 10:11:24 +00:00
let tmp = iterable ;
if ( ! Array . isArray ( iterable ) ) {
2026-07-20 16:05:17 +00:00
let tmp2 ;
2026-07-23 10:11:24 +00:00
if ( iterable ) {
if ( "string" === typeof iterable ) {
tmp2 = _arrayLikeToArray ( iterable , undefined ) ;
2026-07-20 16:05:17 +00:00
} else {
const toString = { } . toString ;
2026-07-23 10:11:24 +00:00
const substr = toString . call ( iterable ) . slice ( 8 , - 1 ) ;
2026-07-20 16:05:17 +00:00
let name = substr ;
if ( tmp3 ) {
2026-07-23 10:11:24 +00:00
name = iterable . constructor . name ;
2026-07-20 16:05:17 +00:00
}
if ( "Map" !== name ) {
if ( "Set" !== name ) {
if ( "Arguments" === name ) {
2026-07-23 10:11:24 +00:00
let arr = _arrayLikeToArray ( iterable , undefined ) ;
2026-07-20 16:05:17 +00:00
} else {
2026-07-23 10:11:24 +00:00
let obj = /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/ ;
2026-07-20 16:05:17 +00:00
}
}
tmp2 = arr ;
}
const _Array2 = Array ;
2026-07-23 10:11:24 +00:00
arr = Array . from ( iterable ) ;
const callResult = toString . call ( iterable ) ;
tmp3 = "Object" === substr && iterable . constructor ;
2026-07-20 16:05:17 +00:00
}
}
tmp = tmp2 ;
if ( ! tmp2 ) {
const _TypeError = TypeError ;
const typeError = new TypeError ( "Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." ) ;
throw typeError ;
}
}
if ( tmp ) {
2026-07-23 10:11:24 +00:00
closure_0 = tmp ;
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
let c1 = 0 ;
2026-07-20 16:05:17 +00:00
return ( ) = > {
2026-07-23 10:11:24 +00:00
if ( closure_1 >= length . length ) {
2026-07-20 16:05:17 +00:00
let obj = { done : true } ;
} else {
obj = { done : false } ;
closure_1 = tmp3 + 1 ;
2026-07-23 10:11:24 +00:00
obj . value = length [ + closure_1 ] ;
2026-07-20 16:05:17 +00:00
}
return obj ;
} ;
}
}
function _arrayLikeToArray ( arg0 , arg1 ) {
let length ;
if ( tmp ) {
length = arg0 . length ;
}
const ArrayResult = Array ( length ) ;
for ( let num = 0 ; num < length ; num = num + 1 ) {
ArrayResult [ num ] = arg0 [ num ] ;
}
return ArrayResult ;
}
function openRewardClaimBottomSheet ( arg0 ) {
let questContent ;
let questContentPosition ;
let questId ;
let sourceQuestContent ;
( { questId , questContent , questContentPosition , sourceQuestContent } = arg0 ) ;
2026-07-27 11:26:19 +00:00
return importDefault ( 4099 ) . openLazy ( require ( 1935 ) /* maybeLoadBundle */ ( 10902 , dependencyMap . paths ) , closure_6 , { questId , questContent , questContentPosition , sourceQuestContent } ) ;
2026-07-20 16:05:17 +00:00
}
function viewReward ( quest ) {
let onSuccess ;
let product ;
let questContent ;
let questContentPosition ;
let sourceQuestContent ;
quest = quest . quest ;
( { product , questContent , questContentPosition , onSuccess , sourceQuestContent } = quest ) ;
2026-07-25 08:10:48 +00:00
let obj = require ( 9420 ) /* getCollectiblesQuestReward */ ;
2026-07-20 16:05:17 +00:00
if ( obj . hasQuestRewardCode ( quest . config ) ) {
obj = { questId : quest.id , questContent , questContentPosition , sourceQuestContent } ;
openRewardClaimBottomSheet ( obj ) ;
} else {
2026-07-25 08:10:48 +00:00
let obj1 = require ( 9420 ) /* getCollectiblesQuestReward */ ;
2026-07-20 16:05:17 +00:00
if ( obj1 . hasVirtualCurrencyReward ( quest . config ) ) {
2026-07-27 11:26:19 +00:00
let tmp3Result = tmp3 ( 10909 ) ;
2026-07-20 16:05:17 +00:00
obj = { quest } ;
const result = tmp3Result . openQuestOrbsRewardModal ( obj ) ;
} else {
2026-07-27 11:26:19 +00:00
tmp3Result = tmp3 ( 10915 ) ;
2026-07-20 16:05:17 +00:00
obj1 = { quest , product , onSuccess } ;
const result1 = tmp3Result . openQuestCollectibleRewardModal ( obj1 ) ;
}
}
}
function _handleRewardClaim() {
// CreateGeneratorClosureLongIndex (0x67)
const obj = callback ( tmp ) ;
return obj ( . . . arguments ) ;
}
function _handleRewardClaimThenView() {
// CreateGeneratorClosureLongIndex (0x67)
const obj = callback ( tmp ) ;
return obj ( . . . arguments ) ;
}
2026-07-23 10:11:24 +00:00
( { QuestsExperimentLocations : closure_5 , QUEST_REWARD_CODE_CLAIM_BOTTOM_SHEET_KEY : closure_6 , QUEST_REWARD_DETAILS_BOTTOM_SHEET_KEY : closure_7 , QuestVariants : closure_8 } = QuestsExperimentLocations ) ;
( { jsx : closure_10 , Fragment : closure_11 , jsxs : closure_12 } = jsxProd ) ;
let result = require ( "zustandStore" ) . fileFinishedImporting ( "modules/quests/native/QuestUtils.native.tsx" ) ;
2026-07-20 16:05:17 +00:00
export const openRewardDetailsBottomSheet = function openRewardDetailsBottomSheet ( questId ) {
2026-07-27 11:26:19 +00:00
return importDefault ( 4099 ) . openLazy ( require ( 1935 ) /* maybeLoadBundle */ ( 10900 , dependencyMap . paths ) , closure_7 , { questId : questId.questId } ) ;
2026-07-20 16:05:17 +00:00
} ;
export { viewReward } ;
export const handleRewardClaimThenView = function handleRewardClaimThenView ( arg0 ) {
return _handleRewardClaimThenView ( . . . arguments ) ;
} ;
export const openQuestHome = function openQuestHome ( scrollToQuestId ) {
scrollToQuestId = scrollToQuestId . scrollToQuestId ;
let flag = scrollToQuestId . mergeExistingRoutes ;
if ( flag === undefined ) {
flag = false ;
}
let sort = scrollToQuestId . sort ;
if ( sort === undefined ) {
sort = null ;
}
let filter = scrollToQuestId . filter ;
if ( filter === undefined ) {
filter = null ;
}
2026-07-23 10:11:24 +00:00
let obj = scrollToQuestId ( sort [ 20 ] ) ;
2026-07-20 16:05:17 +00:00
if ( obj . getIsEligibleForQuests ( ) ) {
obj = { } ;
let tmp6 ;
if ( null != scrollToQuestId ) {
tmp6 = scrollToQuestId ;
}
obj . questId = tmp6 ;
obj . fromContent = scrollToQuestId . fromContent ;
2026-07-23 10:11:24 +00:00
const result = scrollToQuestId ( sort [ 21 ] ) . setQuestHomeUtmContext ( obj ) ;
flag ( sort [ 22 ] ) ( ) ;
2026-07-20 16:05:17 +00:00
const _setTimeout = setTimeout ;
const timerId = setTimeout ( ( ) = > {
let obj = scrollToQuestId ( sort [ 23 ] ) ;
const rootNavigationRef = obj . getRootNavigationRef ( ) ;
if ( null != rootNavigationRef ) {
if ( rootNavigationRef . isReady ( ) ) {
let tmp2 = null ;
if ( flag ) {
2026-07-23 10:11:24 +00:00
tmp2 = ( function findExistingQuestsRoute ( rootNavigationRef ) {
2026-07-20 16:05:17 +00:00
function isQuestsRoute ( value ) {
let tmp = "settings" === value . name ;
if ( tmp ) {
const params = value . params ;
let screen ;
if ( null != params ) {
screen = params . screen ;
}
2026-07-23 10:11:24 +00:00
tmp = screen === outer3_9 . QUESTS ;
2026-07-20 16:05:17 +00:00
}
return tmp ;
}
const rootState = rootNavigationRef . getRootState ( ) ;
if ( null != rootState ) {
if ( rootState . routes ) {
function searchRoutes ( routes ) {
2026-07-23 10:11:24 +00:00
const tmp = outer3_13 ( routes ) ;
2026-07-20 16:05:17 +00:00
const iter = tmp ( ) ;
let iter2 = iter ;
if ( ! iter . done ) {
const value = iter2 . value ;
while ( ! isQuestsRoute ( value ) ) {
let state = value . state ;
let tmp4 = tmp2 ;
if ( null != state ) {
tmp4 = tmp2 ;
if ( state . routes ) {
let tmp5 = searchRoutes ;
let tmp6 = searchRoutes ( value . state . routes ) ;
tmp4 = tmp6 ;
if ( tmp6 ) {
return tmp6 ;
}
}
}
let iter3 = tmp ( ) ;
2026-07-23 10:11:24 +00:00
tmp2 = tmp4 ;
2026-07-20 16:05:17 +00:00
iter2 = iter3 ;
}
return value ;
}
return null ;
}
return searchRoutes ( rootState . routes ) ;
}
}
return null ;
2026-07-23 10:11:24 +00:00
} ) ( rootNavigationRef ) ;
2026-07-20 16:05:17 +00:00
}
obj = { sort , filter } ;
let str = "" ;
if ( null != scrollToQuestId ) {
str = scrollToQuestId ;
}
obj . scrollToQuestId = str ;
2026-07-23 10:11:24 +00:00
outer1_4 . setState ( obj ) ;
obj = { screen : outer1_9.QUESTS } ;
2026-07-20 16:05:17 +00:00
if ( flag ) {
if ( null != tmp2 ) {
const obj1 = { name : "settings" , key : tmp2.key , params : obj } ;
rootNavigationRef . navigate ( obj1 ) ;
}
}
scrollToQuestId ( sort [ 24 ] ) . openUserSettings ( obj ) ;
const obj5 = scrollToQuestId ( sort [ 24 ] ) ;
}
}
} , 1 ) ;
2026-07-23 10:11:24 +00:00
const obj2 = scrollToQuestId ( sort [ 21 ] ) ;
2026-07-20 16:05:17 +00:00
}
} ;
export const isHeroVideoSupported = function isHeroVideoSupported ( memo ) {
if ( obj . isIOS ( ) ) {
let tmp2 = tmp ;
} else {
tmp2 = tmp ;
if ( ! tmp ) {
tmp2 = "video/webm" === memo . mimetype ;
}
}
return tmp2 ;
} ;
export const openDiscordQuestsFAQ = function openDiscordQuestsFAQ() {
2026-07-25 08:10:48 +00:00
importDefault ( 3828 ) . openURL ( "https://support.discord.com/hc/en-us/articles/22225719947543-Discord-Quests-FAQ#h_01HVPBZR5FBM7QBFR9KDBASXP5" ) ;
2026-07-20 16:05:17 +00:00
} ;
export const getPrimaryCtaIcon = function getPrimaryCtaIcon ( quest , arg1 ) {
let flag = arg1 ;
if ( arg1 === undefined ) {
flag = false ;
}
2026-07-25 08:10:48 +00:00
let obj = require ( 5953 ) /* _createForOfIteratorHelperLoose */ ;
2026-07-20 16:05:17 +00:00
if ( obj . canLaunchActivity ( quest ) ) {
const features = quest . config . features ;
if ( features . includes ( constants . MOBILE_ACTIVITY_QUEST ) ) {
obj = { } ;
let num = 0 ;
if ( flag ) {
2026-07-23 10:11:24 +00:00
num = importDefault ( 689 ) . space . PX_4 ;
2026-07-20 16:05:17 +00:00
}
obj . marginRight = num ;
const features2 = quest . config . features ;
if ( features2 . includes ( constants . CLOUD_GAMING_ACTIVITY ) ) {
obj = { size : "sm" } ;
obj . style = obj ;
2026-07-23 10:11:24 +00:00
obj . color = importDefault ( 689 ) . colors . WHITE ;
2026-07-27 11:26:19 +00:00
let tmp5Result = tmp5 ( tmp6 ( 10916 ) . CloudIcon , obj ) ;
2026-07-20 16:05:17 +00:00
} else {
2026-07-23 10:11:24 +00:00
const obj1 = { size : "sm" , style : obj , color : importDefault ( 689 ) . colors . WHITE } ;
2026-07-25 08:10:48 +00:00
tmp5Result = tmp5 ( tmp6 ( 8867 ) . GameControllerIcon , obj1 ) ;
2026-07-20 16:05:17 +00:00
}
return tmp5Result ;
}
}
} ;
export const showQuestUnavailableAlert = function showQuestUnavailableAlert() {
2026-07-25 08:10:48 +00:00
let obj = require ( 4473 ) /* useAlertStore */ ;
2026-07-20 16:05:17 +00:00
obj = { } ;
2026-07-23 10:11:24 +00:00
const intl = require ( 1212 ) /* getSystemLocale */ . intl ;
obj . title = intl . string ( require ( 1212 ) /* getSystemLocale */ . t . Lhpq2P ) ;
const intl2 = require ( 1212 ) /* getSystemLocale */ . intl ;
obj . content = intl2 . string ( require ( 1212 ) /* getSystemLocale */ . t . iyF4WB ) ;
2026-07-20 16:05:17 +00:00
obj = { } ;
const obj1 = { } ;
2026-07-23 10:11:24 +00:00
const intl3 = require ( 1212 ) /* getSystemLocale */ . intl ;
obj1 . text = intl3 . string ( require ( 1212 ) /* getSystemLocale */ . t . H0vjGc ) ;
2026-07-25 08:10:48 +00:00
obj1 . onPress = require ( 9401 ) /* _manuallyStartConsoleQuest */ . fetchCurrentQuests ;
const items = [ callback2 ( require ( 4476 ) /* getAlertModalItemKey */ . AlertActionButton , obj1 ) , ] ;
2026-07-20 16:05:17 +00:00
const obj2 = { } ;
2026-07-23 10:11:24 +00:00
const intl4 = require ( 1212 ) /* getSystemLocale */ . intl ;
obj2 . text = intl4 . string ( require ( 1212 ) /* getSystemLocale */ . t [ "6XS10x" ] ) ;
2026-07-20 16:05:17 +00:00
obj2 . variant = "secondary" ;
2026-07-25 08:10:48 +00:00
items [ 1 ] = callback2 ( require ( 4476 ) /* getAlertModalItemKey */ . AlertActionButton , obj2 ) ;
2026-07-20 16:05:17 +00:00
obj . children = items ;
obj . actions = callback3 ( closure_11 , obj ) ;
2026-07-25 08:10:48 +00:00
obj . openAlert ( "quest-unavailable" , callback2 ( require ( 4476 ) /* getAlertModalItemKey */ . AlertModal , obj ) ) ;
2026-07-20 16:05:17 +00:00
} ;
export const dismissOverlayScreens = function dismissOverlayScreens() {
2026-07-25 08:10:48 +00:00
let obj = require ( 3983 ) /* getRootNavigationRef */ ;
2026-07-20 16:05:17 +00:00
const rootNavigationRef = obj . getRootNavigationRef ( ) ;
if ( null != rootNavigationRef ) {
if ( rootNavigationRef . isReady ( ) ) {
const rootState = rootNavigationRef . getRootState ( ) ;
const routes = rootState . routes ;
const found = routes . filter ( ( name ) = > {
let tmp = "you" !== name . name ;
if ( tmp ) {
tmp = "settings" !== name . name ;
}
return tmp ;
} ) ;
if ( found . length < rootState . routes . length ) {
2026-07-23 10:11:24 +00:00
const CommonActions = require ( 1457 ) /* Link */ . CommonActions ;
2026-07-20 16:05:17 +00:00
obj = { } ;
const merged = Object . assign ( rootState ) ;
obj [ "routes" ] = found ;
obj [ "index" ] = found . length - 1 ;
rootNavigationRef . dispatch ( CommonActions . reset ( obj ) ) ;
}
}
}
} ;