Files
2026-07-28 01:06:53 +03:00

293 lines
17 KiB
TypeScript

/* 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] */;