// Metro module 11002 (f11003).
import { useMemo, useCallback, useEffect } from "react";
import { Image as Image2, ScrollView, View } from "react-native";
import ChannelStore from "../../../stores/ChannelStore";
import PermissionStore from "../../../stores/PermissionStore";
import SelectedChannelStore from "../../../stores/SelectedChannelStore";
import { AnalyticEvents, Permissions } from "../../../Constants";
import { AppLauncherRouteName } from "../../app_launcher/native/AppLauncherNativeConstants";
import { createStyles } from "../../../design/components/Styles/native/createStyles";
import Module712 from "../../../_bundle/Module712";
import { useStore, OrientationType } from "../../device/native/DeviceOrientation";
import { intl, t } from "../../../intl/index.native";
import ModalActionCreators from "../../../actions/ModalActionCreators";
import { transitionToGuild } from "../../routing/transitionToGuild.native";
import AnalyticsUtils from "../../../utils/AnalyticsUtils";
import { useStateFromStores } from "../../../_bundle/Module589";
import ActionSheetActionCreators from "../../action_sheet/native/ActionSheetActionCreators";
import { getBestActiveInput } from "../../../utils/native/ChatInputUtils";
import { KeyboardTypes } from "../../keyboard/native/KeyboardTypes";
import { SafeAreaPaddingView } from "../../../components_native/common/SafeAreaView";
import Module11003 from "../../../_bundle/Module11003";
import { Text } from "../../../design/components/Text/native/Text";
import { Button } from "../../../design/components/Button/native/Button.native";
const useStyles = createStyles({
container: {
flex: 1,
backgroundColor: Module712.colors.BACKGROUND_BASE_LOWER
},
scrollView: {
flex: 1
},
scrollViewContentContainer: {
height: "100%",
backgroundColor: Module712.colors.BACKGROUND_BASE_LOW,
alignItems: "center",
justifyContent: "center"
},
inner: {
flexDirection: "column",
alignItems: "center",
justifyContent: "center",
paddingHorizontal: 16
},
text: {
marginTop: 24,
paddingHorizontal: 40,
textAlign: "center"
},
footer: {
flexDirection: "column",
justifyContent: "space-between",
padding: 16,
gap: 16
},
footerLandscape: {
flexDirection: "row-reverse",
padding: 16
},
footerPortrait: {
flexDirection: "column",
padding: 16
}
});
export default function SuccessResultModal(props) {
let stateFromStores, stateFromStores2;
const { guild, application } = props;
stateFromStores = void 0;
stateFromStores2 = void 0;
const styles = useStyles();
const orientation = useStore().orientation;
const memo = useMemo(() => application != null ? guild != null ? intl.format(t.IlF6IY, {
installedApplicationName: application?.name,
guildName: guild?.name
}) : intl.format(t.vTVC5T, {
installedApplicationName: application?.name
}) : intl.string(t["Dp+rgP"]), [application, guild]);
const callback3 = useCallback(() => {
if (guild?.id != null) {
ModalActionCreators.pop();
transitionToGuild(guild?.id);
AnalyticsUtils.track(AnalyticEvents.OAUTH2_AUTHORIZE_SUCCESS_GO_TO_GUILD_CLICKED, {
application_id: application?.id,
guild_id: guild?.id
});
}
}, [guild, application?.id]);
stateFromStores = useStateFromStores([SelectedChannelStore], () => SelectedChannelStore.getChannelId());
stateFromStores2 = useStateFromStores([ChannelStore], () => ChannelStore.getChannel(stateFromStores));
const callback2 = useCallback(() => {
ModalActionCreators.pop();
ActionSheetActionCreators.hideActionSheet();
if (stateFromStores != null && application != null) {
AnalyticsUtils.track(AnalyticEvents.OAUTH2_AUTHORIZE_SUCCESS_OPEN_APP_CLICKED, {
application_id: application.id
});
setImmediate(() => {
const bestActiveInput = getBestActiveInput();
if (bestActiveInput != null) {
bestActiveInput.openCustomKeyboard({
type: KeyboardTypes.APP_LAUNCHER,
context: {
initialRouteName: AppLauncherRouteName.APPLICATION_VIEW,
application
}
});
}
});
}
}, [application, stateFromStores]);
const callback = useCallback(() => {
ModalActionCreators.pop();
AnalyticsUtils.track(AnalyticEvents.OAUTH2_AUTHORIZE_SUCCESS_CLOSE_CLICKED, {
application_id: application?.id
});
}, [application?.id]);
useEffect(() => {
AnalyticsUtils.track(AnalyticEvents.OAUTH2_AUTHORIZE_SUCCESS_VIEWED, {
application_id: application?.id
});
}, [application?.id]);
const stateFromStores3 = useStateFromStores([PermissionStore], () => PermissionStore.can(Permissions.SEND_MESSAGES, stateFromStores2));
const r109 = [
{intl.string(t.se5gLj)}
{memo != null ? {memo} : null}
,
<>
{guild != null ? : null}
{stateFromStores != null ? stateFromStores3 ? : null : null}
>
];
return {r109};
};