// Metro module 8962 (f8963).
import { useEffect } from "react";
import { View } from "react-native";
import ApplicationStore from "../../applications/ApplicationStore";
import AuthenticationStore from "../../../stores/AuthenticationStore";
import UserStore from "../../../stores/UserStore";
import { createStyles } from "../../../design/components/Styles/native/createStyles";
import Module712 from "../../../_bundle/Module712";
import useTheme from "../../../hooks/useTheme";
import { useStateFromStores } from "../../../_bundle/Module589";
import Platforms from "../../../lib/Platforms";
import AvatarUtils, { makeSource } from "../../../utils/AvatarUtils";
import * as _shared from "../../../design/shared";
import ApplicationActionCreators from "../../applications/ApplicationActionCreators";
import { Avatar, AvatarSizes, Icon } from "../../../design/void/native";
import { MoreHorizontalIcon } from "../../../design/components/Icon/native/redesign/generated/MoreHorizontalIcon";
import { Text } from "../../../design/components/Text/native/Text";
import { intl, t } from "../../../intl/index.native";
import { Button } from "../../../design/components/Button/native/Button.native";
import authorizeConnection_native from "../../connections/authorizeConnection.native";
import { CircleInformationIcon } from "../../../design/components/Icon/native/redesign/generated/CircleInformationIcon";
import { CheckmarkLargeIcon } from "../../../design/components/Icon/native/redesign/generated/CheckmarkLargeIcon";
const useStyles = createStyles({
container: {
flexDirection: "column",
gap: 16,
width: "100%"
},
header: {
flexDirection: "column",
alignItems: "center",
gap: 8,
marginBottom: 8
},
headerIcons: {
flexDirection: "row",
alignItems: "center",
gap: 16,
marginBottom: 8
},
card: {
flexDirection: "row",
alignItems: "center",
gap: 12,
padding: 16,
backgroundColor: Module712.colors.BACKGROUND_SURFACE_HIGH,
borderColor: Module712.colors.BORDER_SUBTLE,
borderWidth: 1,
borderRadius: Module712.radii.md
},
cardName: {
flex: 1,
minWidth: 0
},
cardInfo: {
flex: 1,
minWidth: 0,
flexDirection: "column",
gap: 2
},
platformIcon: {
width: 40,
height: 40,
borderRadius: Module712.radii.sm
},
platformIconSmall: {
width: 32,
height: 32,
borderRadius: Module712.radii.sm
},
infoNotice: {
flexDirection: "row",
alignItems: "flex-start",
gap: 8,
padding: 12,
backgroundColor: Module712.colors.BACKGROUND_FEEDBACK_INFO,
borderColor: Module712.colors.ICON_FEEDBACK_INFO,
borderWidth: 1,
borderRadius: Module712.radii.sm
},
infoText: {
flex: 1
},
divider: {
height: 1,
backgroundColor: Module712.colors.BORDER_SUBTLE,
marginVertical: 8
}
});
export default function ConnectAccountStep(props) {
const { clientId, platformType, platformName } = props;
const styles = useStyles();
const theme = useTheme();
const stateFromStores = useStateFromStores([ApplicationStore], () => ApplicationStore.getApplication(clientId), [clientId]);
const stateFromStores2 = useStateFromStores([AuthenticationStore, UserStore], () => AuthenticationStore.getId() != null ? UserStore.getCurrentUser() : null);
const r10 = Platforms.get(platformType);
const r1 = r10 != null;
let source = null;
if (r1) {
const isThemeLight = _shared.isThemeLight(theme);
const icon = r10.icon;
source = makeSource(isThemeLight ? icon.lightPNG : icon.darkPNG);
}
const source3 = stateFromStores != null ? AvatarUtils.getApplicationIconSource({
id: stateFromStores.id,
icon: stateFromStores.icon
}) : void 0;
const source2 = stateFromStores2 != null ? AvatarUtils.getUserAvatarSource(stateFromStores2) : void 0;
let applicationName = stateFromStores?.name;
if (applicationName == null) {
applicationName = "";
}
useEffect(() => {
ApplicationActionCreators.fetchApplication(clientId);
}, [clientId]);
return
{intl.string(t.uT1CPa)}
{applicationName}
{intl.format(t["aJRE/Q"], {
applicationName,
platformName
})}
{source != null ? : null}
{platformName}
{intl.format(t["8psEFX"], {
platformName,
applicationName
})}
;
};
export function ConnectedAccountCard(props) {
const { platformType: platformType2, platformName, connectedAccount, applicationName } = props;
const styles = useStyles();
const theme = useTheme();
const r6 = Platforms.get(platformType2);
const r1 = r6 != null;
let source = null;
if (r1) {
const isThemeLight = _shared.isThemeLight(theme);
const icon = r6.icon;
source = makeSource(isThemeLight ? icon.lightPNG : icon.darkPNG);
}
return
{intl.format(t["+oaRw3"], {
platformName
})}
{source != null ? : null}
{connectedAccount.name}
{intl.format(t.Dkd7sE, {
platformName,
connectedAccountId: connectedAccount.id
})}
{intl.format(t.pyRNXJ, {
applicationName
})}
;
}