Files
discord-decomp/modules/quests/native/QuestBottomSheet/QuestBottomSheetConsoleConnect.tsx
T
2026-11-01 12:12:55 +02:00

136 lines
6.1 KiB
TypeScript

// Metro module 14186 (f14187).
import { useMemo } from "react";
import { View } from "react-native";
import { PlatformTypes, UserSettingsSections } from "../../../../Constants";
import { jsxs, Fragment } from "react/jsx-runtime";
import Module712 from "../../../../_bundle/Module712";
import { createStyles } from "../../../../design/components/Styles/native/createStyles";
import { useConnectedAccounts } from "../../hooks/QuestHooks";
import { useTrackQuestContentClickedWithImpression } from "../../lib/analytics/AnalyticsHooks";
import { useQuestImpressionId } from "../../lib/analytics/ContentImpressionTrackerHooks";
import { supportedConsoles } from "../../utils/QuestPlatformUtils";
import ActionSheetActionCreators from "../../../action_sheet/native/ActionSheetActionCreators";
import { openUserSettings } from "../../../user_settings/core/native/openUserSettings";
import { shouldMigrateToAdAnalyticsInterface, AdAnalyticsInterfaceExperimentStep } from "../../experiments/AdAnalyticsInterfaceExperiment";
import { captureAdUserAction } from "../../../ads/analytics/captureAdUserAction";
import { AdUserActionType } from "../../../ads/analytics/captureAdUserActionTypes";
import { AdCreativeType } from "../../../../_bundle/Module6013";
import { QuestContentCTA } from "../../lib/analytics/AnalyticsTypes";
import { QuestContent } from "../../QuestTypes";
import authorizeConnection_native from "../../../connections/authorizeConnection.native";
import { TableRowGroup } from "../../../../design/components/TableRow/native/TableRowGroup.native";
import { TableRow } from "../../../../design/components/TableRow/native/TableRow.native";
import { PlaystationNeutralIcon } from "../../../../design/components/Icon/native/redesign/generated/PlaystationNeutralIcon";
import { intl, t } from "../../../../intl/index.native";
import { XboxNeutralIcon } from "../../../../design/components/Icon/native/redesign/generated/XboxNeutralIcon";
let ConsoleRow;
const NonInlineConsoleConnection = function NonInlineConsoleConnection(props) {
const { consoles, onConsoleSelect: onConsoleSelect2 } = props;
return <TableRowGroup hasIcons>
{consoles.map((console) => <ConsoleRow key={console.type} {...console} onPress={onConsoleSelect2} />)}
</TableRowGroup>;
};
ConsoleRow = function ConsoleRow(props) {
const { onPress: onPress2, ...rest } = props;
let c21017_1 = rest;
const type = rest.type;
if (PlatformTypes.PLAYSTATION === type) {
return <TableRow arrow icon={<PlaystationNeutralIcon />} label={intl.string(t.JafL6p)} subLabel={rest.account != null ? intl.string(t["u30/ut"]) : void 0} onPress={() => onPress2(c21017_1)} />;
}
if (PlatformTypes.XBOX === type) {
return <TableRow arrow icon={<XboxNeutralIcon />} label={intl.string(t.Nfvo72)} subLabel={rest.account != null ? intl.string(t["u30/ut"]) : void 0} onPress={() => onPress2(c21017_1)} />;
}
return null;
};
View;
jsxs;
Fragment;
Module712.unsafe_rawColors.PLATFORM_XBOX;
Module712.unsafe_rawColors.PLATFORM_PLAYSTATION;
createStyles({
platformButtonsContainer: {
display: "flex",
flexDirection: "row",
gap: Module712.space.PX_16,
justifyContent: "space-between"
},
platformButton: {
flex: 1,
display: "flex",
justifyContent: "center",
alignItems: "center"
}
});
export default function QuestBottomSheetConsoleConnect(props) {
let xboxAndPlaystationAccounts, trackQuestContentClickedWithImpression, questImpressionId;
const { quest, step, sourceQuestContent } = props;
xboxAndPlaystationAccounts = void 0;
trackQuestContentClickedWithImpression = void 0;
questImpressionId = void 0;
const openQuestBottomSheet2 = function openQuestBottomSheet() {
ActionSheetActionCreators.openLazy(import("./QuestBottomSheet"), "QuestBottomSheet", {
questId: quest.id,
initialStep: step,
sourceQuestContent
});
};
xboxAndPlaystationAccounts = useConnectedAccounts().xboxAndPlaystationAccounts;
trackQuestContentClickedWithImpression = useTrackQuestContentClickedWithImpression();
questImpressionId = useQuestImpressionId();
return <NonInlineConsoleConnection consoles={useMemo(() => supportedConsoles(quest).map((item) => {
return {
type: item,
account: xboxAndPlaystationAccounts.find((xboxAndPlaystationAccount) => xboxAndPlaystationAccount.type === item)
};
}), [quest, xboxAndPlaystationAccounts])} onConsoleSelect={function onConsoleSelect(event) {
if (event.account != null) {
if (shouldMigrateToAdAnalyticsInterface(AdAnalyticsInterfaceExperimentStep.STEP_2_CLICKED_INTERNAL, "quest_bottom_sheet_console_connect")) {
captureAdUserAction({
type: AdUserActionType.CLICK_INTERNAL,
adCreativeType: AdCreativeType.QUEST,
adCreativeId: quest.id,
questContentCTA: QuestContentCTA.VIEW_CONSOLE_CONNECTIONS,
surfaceId: QuestContent.QUEST_BOTTOM_SHEET,
sourceQuestContent,
impressionId: questImpressionId
});
} else {
trackQuestContentClickedWithImpression({
questId: quest.id,
questContent: QuestContent.QUEST_BOTTOM_SHEET,
questContentCTA: QuestContentCTA.VIEW_CONSOLE_CONNECTIONS,
sourceQuestContent
});
}
ActionSheetActionCreators.hideActionSheet();
openUserSettings({
screen: UserSettingsSections.CONNECTIONS
});
return void 0;
}
if (shouldMigrateToAdAnalyticsInterface(AdAnalyticsInterfaceExperimentStep.STEP_2_CLICKED_INTERNAL, "quest_bottom_sheet_console_connect")) {
captureAdUserAction({
type: AdUserActionType.CLICK_INTERNAL,
adCreativeType: AdCreativeType.QUEST,
adCreativeId: quest.id,
questContentCTA: QuestContentCTA.CONNECT_CONSOLE,
surfaceId: QuestContent.QUEST_BOTTOM_SHEET,
sourceQuestContent,
impressionId: questImpressionId
});
} else {
trackQuestContentClickedWithImpression({
questId: quest.id,
questContent: QuestContent.QUEST_BOTTOM_SHEET,
questContentCTA: QuestContentCTA.CONNECT_CONSOLE,
sourceQuestContent
});
}
authorizeConnection_native({
platformType: event.type,
location: "quests",
onClose: openQuestBottomSheet2
});
}} />;
};