// Metro module 5137 (f5138). import { useCallback, useEffect, useMemo } from "react"; import MemberVerificationFormStore from "../../guild_member_verification/MemberVerificationFormStore"; import ChannelStore from "../../../stores/ChannelStore"; import GuildStore from "../../../stores/GuildStore"; import SelectedChannelStore from "../../../stores/SelectedChannelStore"; import GuildOnboardingPromptsStore from "../GuildOnboardingPromptsStore"; import { GuildOnboardingModalStates } from "./GuildOnboardingConstants"; import { GuildFeatures, Routes } from "../../../Constants"; import { transitionTo } from "../../routing/router_utils"; import GuildOnboardingPrompts from "./GuildOnboardingPrompts"; import { getHeaderCloseButton } from "../../../design/components/Navigator/native/NavigatorHeader.native"; import GuildOnboardingConnectionPrompt from "./GuildOnboardingConnectionPrompt"; import { showRulesInOnboarding } from "../GuildOnboardingUtils"; import GuildOnboardingCompleted from "./GuildOnboardingCompleted"; import { RulesPrompt } from "./GuildOnboardingPrompt"; import { useStateFromStores, useStateFromStoresArray } from "../../../_bundle/Module589"; import GuildOnboardingActionCreators from "../GuildOnboardingActionCreators"; import MemberVerificationActionCreators from "../../guild_member_verification/MemberVerificationActionCreators"; import { Navigator } from "../../../design/components/Navigator/native/Navigator.native"; import { intl, t } from "../../../intl/index.native"; let headerRight; const headerTitle = function headerTitle() { return null; }; headerRight = function headerRight() { return null; }; export default function GuildOnboardingModal(props) { let stateFromStoresArray, callback, callback2; const { guildId, onFinish, onClose: onClose2, landingAnimation, isFirstOpen, backShouldLeaveGuild } = props; stateFromStoresArray = void 0; callback = void 0; callback2 = void 0; const stateFromStores = useStateFromStores([GuildStore], () => { const guild2 = GuildStore.getGuild(guildId); return guild2 != null && (guild2.features.has(GuildFeatures.MEMBER_VERIFICATION_GATE_ENABLED) && !guild2.features.has(GuildFeatures.MEMBER_VERIFICATION_MANUAL_APPROVAL)); }); stateFromStoresArray = useStateFromStoresArray([GuildOnboardingPromptsStore], () => GuildOnboardingPromptsStore.getOnboardingPromptsForOnboarding(guildId)); const stateFromStores2 = useStateFromStores([GuildOnboardingPromptsStore], () => GuildOnboardingPromptsStore.getOnboardingConnections(guildId)); callback = useCallback((a0, a1, a2) => { GuildOnboardingActionCreators.selectOption(guildId, a0, a1, a2); }, [guildId]); callback2 = useCallback(() => { GuildOnboardingActionCreators.completeOnboarding(guildId, stateFromStoresArray); }, [guildId, stateFromStoresArray]); useEffect(() => { if (stateFromStores) { MemberVerificationActionCreators.fetchVerificationForm(guildId); } }, [guildId, stateFromStores]); return { const guildId2 = guildId; const stateFromStoresArray2 = stateFromStoresArray; const callback3 = callback; const callback4 = callback2; const onFinish2 = onFinish; const onClose3 = onClose2; const landingAnimation2 = landingAnimation; const isFirstOpen2 = isFirstOpen; const backShouldLeaveGuild2 = backShouldLeaveGuild; const guild = GuildStore.getGuild(guildId); const rulesPrompt = MemberVerificationFormStore.getRulesPrompt(guildId); const r19 = {}; r19[GuildOnboardingModalStates.PROMPT] = { fullscreen: true, headerTitle, headerRight, render: (a0) => { let currentPromptIdx = a0?.currentPrompt; if (currentPromptIdx == null) { currentPromptIdx = 0; } return ; } }; r19[GuildOnboardingModalStates.CONNECTIONS] = { fullscreen: true, headerTitle, headerRight, headerLeft: getHeaderCloseButton(() => { if (backShouldLeaveGuild2) { const channel = ChannelStore.getChannel(SelectedChannelStore.getLastSelectedChannelId()); if (channel != null && channel.guild_id !== guildId2) { transitionTo(Routes.CHANNEL(channel.guild_id, channel.id)); } else { transitionTo(Routes.ME, { navigationReplace: true }); } onClose3(); } else { onClose3(); } }), render: () => }; r19[GuildOnboardingModalStates.COMPLETED] = { fullscreen: true, headerTitle, headerRight, render: () => { onClose3(); onFinish2(); }} /> }; r19[GuildOnboardingModalStates.RULES] = { fullscreen: true, headerTitle, headerRight, render: () => }; return r19; }, [guildId, stateFromStoresArray, stateFromStores2, callback, callback2, onFinish, onClose2, landingAnimation, isFirstOpen, backShouldLeaveGuild])} initialRouteName={isFirstOpen && stateFromStores2.length > 0 ? GuildOnboardingModalStates.CONNECTIONS : GuildOnboardingModalStates.PROMPT} headerBackTitle={intl.string(t["13/7kX"])} />; };