/* Metro module 10574; source: modules/quests/native/QuestEmbed.native.tsx; dependencies: [27, 1310, 7093, 6528, 661, 4118, 477, 1244, 7116, 9950, 6531, 4002, 9495, 1581, 10575, 7091, 7110, 7114, 8189, 2] */ import ThemeStore from '../../user_settings/ThemeStore.tsx'; /* Metro dependency 1310 */ import QuestStore from '../QuestStore.tsx'; /* Metro dependency 7093 */ import * as FileImportTrackerModule from '../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as ReactNativeModule from '../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */ import * as PlatformUtilsModule from '../../../utils/PlatformUtils.tsx'; /* Metro dependency 477 */ import * as ConstantsModule from '../../../Constants.tsx'; /* Metro dependency 661 */ import * as IndexNativeModule from '../../../intl/index.native.tsx'; /* Metro dependency 1244 */ import * as MetaQuestUtilsAndroidModule from '../../device/MetaQuestUtils.android.tsx'; /* Metro dependency 1581 */ import * as ConstantsModule2 from '../../instant_invite/Constants.tsx'; /* Metro dependency 4118 */ import * as QuestConstantsModule from '../QuestConstants.tsx'; /* Metro dependency 6528 */ import * as QuestTypesModule from '../QuestTypes.tsx'; /* Metro dependency 6531 */ import * as QuestDataUtilsModule from '../utils/QuestDataUtils.tsx'; /* Metro dependency 7091 */ import * as QuestTaskUtilsModule from '../utils/QuestTaskUtils.tsx'; /* Metro dependency 7116 */ import * as QuestCopyHooksModule from '../hooks/QuestCopyHooks.tsx'; /* Metro dependency 9950 */ function _fun81578(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#81578, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10760:6, offset: 0x01ed4cb0, size: 265 bytes, params: 8, frame: 19 const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); (FileImportTrackerModule).fileFinishedImporting('modules/quests/native/QuestEmbed.native.tsx'); exports.createQuestsEmbed = function({questId, theme, currentUser}) { var buildQuestsEmbedPropsBinding = buildQuestsEmbedProps; var object = {questId: questId}; object.themeColors = importDefault(dependencyMap[18])(theme); object.currentUser = currentUser; return buildQuestsEmbedPropsBinding(object); }; function buildBaseEmbedProps({titleText, bodyText, themeColors, thumbnailUrl}) { // fn#81579, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10760:244, offset: 0x01ed4db9, size: 266 bytes, params: 2, frame: 16 const baseColors = themeColors.baseColors; const colors = themeColors.colors; const object = {}; copyDataProperties(object, baseColors, undefined); const headerColor = colors.headerColor; object['headerColor'] = headerColor; object['titleText'] = titleText; object['titleColor'] = colors.titleColor; object['subtitleColor'] = colors.bodyTextColor; object['bodyTextColor'] = colors.bodyTextColor; object['thumbnailUrl'] = thumbnailUrl; object['embedCanBeTapped'] = true; object['canBeAccepted'] = true; const GUILD = InviteTypes.GUILD; object['type'] = GUILD; let value = PlatformUtilsModule; value = value.isAndroid(); const object2 = {}; copyDataProperties(object2, object, headerColor); if (value) { object2['headerText'] = null; object2['subtitle'] = bodyText; } else { object2['headerText'] = undefined; object2['subtitle'] = bodyText; } return object2; } function buildSupportedOnMobileEmbedBodyText({quest, currentUser}) { // fn#81580, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10760:651, offset: 0x01ed4ec3, size: 327 bytes, params: 2, frame: 21 var intl; const expiresAt = quest.config.expiresAt; const Date = global.Date; const date = new Date(); if (expiresAt < date.toISOString()) { intl = (require(1244) /* metro dependency 1244: indexNative */).intl; return intl.formatToPlainString((require(1244) /* metro dependency 1244: indexNative */).t['ge+AJp'], {questName: quest.config.messages.questName}); } const questTaskDetails = (QuestTaskUtilsModule).getQuestTaskDetails(quest); const thirdPartyTaskDetails = (QuestTaskUtilsModule).getThirdPartyTaskDetails(quest); const getQuestsInstructionsToWinReward = QuestCopyHooksModule.getQuestsInstructionsToWinReward; const object = {quest: quest, taskDetails: questTaskDetails}; const EMBED_MOBILE = QuestsExperimentLocations.EMBED_MOBILE; object.location = EMBED_MOBILE; const QuestContent = (QuestTypesModule).QuestContent; const QUEST_EMBED_MOBILE = QuestContent.QUEST_EMBED_MOBILE; object.sourceQuestContent = QUEST_EMBED_MOBILE; object.thirdPartyTaskDetails = thirdPartyTaskDetails ?? undefined; object.withoutMarkdown = true; object.currentUser = currentUser; return Reflect.apply(getQuestsInstructionsToWinReward, QuestCopyHooksModule, [object]); } function buildQuestsEmbedProps({questId, themeColors, currentUser}) { // fn#81581, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10760:1173, offset: 0x01ed500a, size: 1769 bytes, params: 2, frame: 36 var r19; var r0; var baseEmbedPropsBinding; var moduleValue3; var isShareableQuest; var config; var moduleValue4; var buildBaseEmbedPropsBinding; var object; const intl = (IndexNativeModule).intl; const t = (IndexNativeModule).t; var quest; var colors; var value4; var expiresAt; var date; var value7; var themeStoreBinding; var value8; var object2; var formatToPlainString; var EAYZAr; var messages; var moduleValue6; const QuestAssetType = (require(9495) /* metro dependency 9495: AssetUtils */).QuestAssetType; var moduleValue7; var moduleValue8; var object5; if (MetaQuestUtilsAndroidModule.isMetaQuest()) { object = {}; buildBaseEmbedPropsBinding = buildBaseEmbedProps; object5 = {}; object5.titleText = intl.string(t['6LxbQM']); object5.bodyText = intl.string(t.CXEb9p); object5.themeColors = themeColors; object5.thumbnailUrl = Image.resolveAssetSource(importDefault(10575) /* metro dependency 10575 */).uri; copyDataProperties(object, buildBaseEmbedPropsBinding(object5), undefined); object['acceptLabelText'] = intl.string(t.hvVgAZ); colors = themeColors.colors; object['acceptLabelBackgroundColor'] = colors.acceptBlurpleLabelBackgroundColor; colors = themeColors.colors; object['acceptLabelColor'] = colors.acceptLabelGreenColor; return object; } const questOrReplacement = QuestDataUtilsModule.findQuestOrReplacement(questId, QuestStore.quests, QuestStore.excludedQuests); const value3 = QuestStore.excludedQuests.get(questId); if (questOrReplacement != null) { if (questOrReplacement == null) { if (value3 != null) { moduleValue8 = require(7110) /* metro dependency 7110: AnalyticsActions */; moduleValue8.trackQuestEmbedFallbackViewed(questId, QuestEmbedFallbackReason.EXCLUDED_QUEST); buildBaseEmbedPropsBinding = buildBaseEmbedProps; object = {}; object.titleText = intl.string(t.Dd6Daw); object.bodyText = intl.string(t.ii4mJo); object.themeColors = themeColors; object.thumbnailUrl = Image.resolveAssetSource(importDefault(10575) /* metro dependency 10575 */).uri; baseEmbedPropsBinding = buildBaseEmbedPropsBinding(object); } else { moduleValue7 = require(7110) /* metro dependency 7110: AnalyticsActions */; moduleValue7.trackQuestEmbedFallbackViewed(questId, QuestEmbedFallbackReason.UNKNOWN_QUEST); buildBaseEmbedPropsBinding = buildBaseEmbedProps; object = {}; object.titleText = intl.string(t['rxf+nx']); object.bodyText = intl.string(t.Ow5AQI); object.themeColors = themeColors; object.thumbnailUrl = Image.resolveAssetSource(importDefault(10575) /* metro dependency 10575 */).uri; baseEmbedPropsBinding = buildBaseEmbedPropsBinding(object); } r0 = baseEmbedPropsBinding; } else { moduleValue3 = require(7114) /* metro dependency 7114: QuestUtils */; isShareableQuest = moduleValue3.isShareableQuest; config = questOrReplacement.config; if (Reflect.apply(isShareableQuest, moduleValue3, [config])) { object = {themeColors: themeColors, quest: questOrReplacement, currentUser: currentUser}; themeColors = object.themeColors; quest = object.quest; currentUser = object.currentUser; colors = themeColors.colors; value4 = quest.userStatus?.enrolledAt != null; config = quest.config; expiresAt = config.expiresAt; date = new global.Date(); value7 = expiresAt < date.toISOString(); themeStoreBinding = ThemeStore; r19 = (require(4002) /* metro dependency 4002: shared */).isThemeDark(themeStoreBinding.getState().theme) ? ThemeTypes.DARK : ThemeTypes.LIGHT; value8 = QuestStore.questEnrollmentBlockedUntil != null; object = {}; buildBaseEmbedPropsBinding = buildBaseEmbedProps; object2 = {}; formatToPlainString = intl.formatToPlainString; EAYZAr = t.EAYZAr; config = quest.config; messages = config.messages; object2.titleText = Reflect.apply(formatToPlainString, intl, [EAYZAr, {questName: messages.questName}]); config = quest.config; messages = config.messages; object2.subtitle = messages.gamePublisher; object2.bodyText = buildSupportedOnMobileEmbedBodyText({quest: quest, currentUser: currentUser}); object2.themeColors = themeColors; moduleValue6 = require(9495) /* metro dependency 9495: AssetUtils */; object2.thumbnailUrl = moduleValue6.getQuestAsset(quest, QuestAssetType.GAME_TILE, r19).url; copyDataProperties(object, buildBaseEmbedPropsBinding(object2), undefined); object['acceptLabelText'] = value4 || value7 ? value7 ? intl.string(t.hvVgAZ) : intl.string(t['th2+0j']) : value8 ? intl.string(t['th2+0j']) : intl.string(t.kUQLMJ); object['acceptLabelBackgroundColor'] = colors.acceptBlurpleLabelBackgroundColor; colors = themeColors.colors; object['acceptLabelColor'] = colors.acceptLabelGreenColor; object['thumbnailCornerRadius'] = 8; r0 = object; } else { moduleValue4 = require(7110) /* metro dependency 7110: AnalyticsActions */; moduleValue4.trackQuestEmbedFallbackViewed(questId, QuestEmbedFallbackReason.NOT_SHAREABLE_QUEST); buildBaseEmbedPropsBinding = buildBaseEmbedProps; object = {}; object.titleText = intl.string(t.Dd6Daw); object.bodyText = intl.string(t.NXrP3N); object.themeColors = themeColors; object.thumbnailUrl = Image.resolveAssetSource(importDefault(10575) /* metro dependency 10575 */).uri; r0 = buildBaseEmbedPropsBinding(object); } } } else if (QuestStore.isFetchingCurrentQuests) { r0 = buildBaseEmbedProps({themeColors: themeColors}); } else if (questOrReplacement == null) { if (value3 != null) { moduleValue8 = require(7110) /* metro dependency 7110: AnalyticsActions */; moduleValue8.trackQuestEmbedFallbackViewed(questId, QuestEmbedFallbackReason.EXCLUDED_QUEST); buildBaseEmbedPropsBinding = buildBaseEmbedProps; object = {}; object.titleText = intl.string(t.Dd6Daw); object.bodyText = intl.string(t.ii4mJo); object.themeColors = themeColors; object.thumbnailUrl = Image.resolveAssetSource(importDefault(10575) /* metro dependency 10575 */).uri; baseEmbedPropsBinding = buildBaseEmbedPropsBinding(object); } else { moduleValue7 = require(7110) /* metro dependency 7110: AnalyticsActions */; moduleValue7.trackQuestEmbedFallbackViewed(questId, QuestEmbedFallbackReason.UNKNOWN_QUEST); buildBaseEmbedPropsBinding = buildBaseEmbedProps; object = {}; object.titleText = intl.string(t['rxf+nx']); object.bodyText = intl.string(t.Ow5AQI); object.themeColors = themeColors; object.thumbnailUrl = Image.resolveAssetSource(importDefault(10575) /* metro dependency 10575 */).uri; baseEmbedPropsBinding = buildBaseEmbedPropsBinding(object); } r0 = baseEmbedPropsBinding; } else { moduleValue3 = require(7114) /* metro dependency 7114: QuestUtils */; isShareableQuest = moduleValue3.isShareableQuest; config = questOrReplacement.config; if (Reflect.apply(isShareableQuest, moduleValue3, [config])) { object = {themeColors: themeColors, quest: questOrReplacement, currentUser: currentUser}; themeColors = object.themeColors; quest = object.quest; currentUser = object.currentUser; colors = themeColors.colors; value4 = quest.userStatus?.enrolledAt != null; config = quest.config; expiresAt = config.expiresAt; date = new global.Date(); value7 = expiresAt < date.toISOString(); themeStoreBinding = ThemeStore; r19 = (require(4002) /* metro dependency 4002: shared */).isThemeDark(themeStoreBinding.getState().theme) ? ThemeTypes.DARK : ThemeTypes.LIGHT; value8 = QuestStore.questEnrollmentBlockedUntil != null; object = {}; buildBaseEmbedPropsBinding = buildBaseEmbedProps; object2 = {}; formatToPlainString = intl.formatToPlainString; EAYZAr = t.EAYZAr; config = quest.config; messages = config.messages; object2.titleText = Reflect.apply(formatToPlainString, intl, [EAYZAr, {questName: messages.questName}]); config = quest.config; messages = config.messages; object2.subtitle = messages.gamePublisher; object2.bodyText = buildSupportedOnMobileEmbedBodyText({quest: quest, currentUser: currentUser}); object2.themeColors = themeColors; moduleValue6 = require(9495) /* metro dependency 9495: AssetUtils */; object2.thumbnailUrl = moduleValue6.getQuestAsset(quest, QuestAssetType.GAME_TILE, r19).url; copyDataProperties(object, buildBaseEmbedPropsBinding(object2), undefined); object['acceptLabelText'] = value4 || value7 ? value7 ? intl.string(t.hvVgAZ) : intl.string(t['th2+0j']) : value8 ? intl.string(t['th2+0j']) : intl.string(t.kUQLMJ); object['acceptLabelBackgroundColor'] = colors.acceptBlurpleLabelBackgroundColor; colors = themeColors.colors; object['acceptLabelColor'] = colors.acceptLabelGreenColor; object['thumbnailCornerRadius'] = 8; r0 = object; } else { moduleValue4 = require(7110) /* metro dependency 7110: AnalyticsActions */; moduleValue4.trackQuestEmbedFallbackViewed(questId, QuestEmbedFallbackReason.NOT_SHAREABLE_QUEST); buildBaseEmbedPropsBinding = buildBaseEmbedProps; object = {}; object.titleText = intl.string(t.Dd6Daw); object.bodyText = intl.string(t.NXrP3N); object.themeColors = themeColors; object.thumbnailUrl = Image.resolveAssetSource(importDefault(10575) /* metro dependency 10575 */).uri; r0 = buildBaseEmbedPropsBinding(object); } } return r0; } } global.__d(_fun81578, 10574, [27, 1310, 7093, 6528, 661, 4118, 477, 1244, 7116, 9950, 6531, 4002, 9495, 1581, 10575, 7091, 7110, 7114, 8189, 2]) /* metro module 10574, dependencies: [27, 1310, 7093, 6528, 661, 4118, 477, 1244, 7116, 9950, 6531, 4002, 9495, 1581, 10575, 7091, 7110, 7114, 8189, 2] */;