131 lines
6.1 KiB
TypeScript
131 lines
6.1 KiB
TypeScript
// Metro module 11797 (f11798).
|
|
import { useMemo } from "react";
|
|
import { Keyboard } from "react-native";
|
|
import DefaultRouteStore from "../../../../stores/DefaultRouteStore";
|
|
import { AnalyticEvents, AnalyticsSections, NOOP } from "../../../../Constants";
|
|
import { GuildTemplateId } from "../../../create_guild/CreateGuildConstants";
|
|
import { CreateGuildModalStates, GuildTemplateTriggers, NUXGuildTemplatesAnalytics } from "../../../create_guild/native/CreateGuildConstants";
|
|
import GuildActionCreators from "../../../../actions/GuildActionCreators";
|
|
import { createGuildProgress } from "../../../guild_progress/native/GuildProgressUtils";
|
|
import navigateToLastChannel from "../../../main_tabs_v2/native/navigateToLastChannel";
|
|
import CreateGuildModalActionCreators from "../../../create_guild/native/CreateGuildModalActionCreators";
|
|
import { showInstantInviteModal } from "../../../../actions/native/CreateGuildActionCreators";
|
|
import AnalyticsUtils from "../../../../utils/AnalyticsUtils";
|
|
import { ImpressionGroups, ImpressionNames } from "../../../../_bundle/Module503";
|
|
import { getHeaderCloseButton } from "../../../../design/components/Navigator/native/NavigatorHeader.native";
|
|
import { trackNUFStep } from "../NewUserAnalyticsUtils";
|
|
import { transitionTo } from "../../../routing/router_utils";
|
|
import GuildTemplates from "../../../create_guild/native/components/GuildTemplates";
|
|
import CreationIntent from "../../../create_guild/native/components/CreationIntent";
|
|
import CreateGuildContainer from "../../../create_guild/native/components/CreateGuildContainer";
|
|
import { intl, t } from "../../../../intl/index.native";
|
|
import JoinServer from "../../../create_guild/native/components/JoinServer";
|
|
import AcceptInviteContainer from "../../../create_guild/native/components/AcceptInviteContainer";
|
|
import ChannelPrompt from "./ChannelPrompt";
|
|
import HubEmailConnectionModal from "../../../hub/native/components/HubEmailConnectionModal";
|
|
import { Navigator } from "../../../../design/components/Navigator/native/Navigator.native";
|
|
let _onCreateServer, impressionProperties;
|
|
const onCreateGuild = async function onCreateGuild(c27170_0) {
|
|
let c27170_2;
|
|
c27170_2 = void 0;
|
|
let c30453_0 = c27170_0;
|
|
await GuildActionCreators.transitionToGuildSync(c27170_0);
|
|
createGuildProgress(c30453_0);
|
|
navigateToLastChannel();
|
|
CreateGuildModalActionCreators.closeCreateGuildOnboardingModal();
|
|
showInstantInviteModal(c30453_0);
|
|
AnalyticsUtils.track(AnalyticEvents.USER_FLOW_TRANSITION, {
|
|
flow_type: AnalyticsSections.GUILD_CREATE_MODAL,
|
|
from_step: CreateGuildModalStates.CREATE_SERVER,
|
|
to_step: "modal_closed"
|
|
});
|
|
};
|
|
_onCreateServer = function _onCreateServer() {
|
|
const r8 = async (c27171_0, guildId, c27171_2) => {
|
|
L12: {
|
|
if (c27171_2.id !== GuildTemplateId.CREATE) {
|
|
await onCreateGuild(guildId);
|
|
break L12;
|
|
}
|
|
c27171_0.push(CreateGuildModalStates.CHANNEL_PROMPT, {
|
|
guildId
|
|
});
|
|
return void 0;
|
|
}
|
|
};
|
|
_onCreateServer = r8;
|
|
return r8.apply(this, arguments);
|
|
};
|
|
impressionProperties = {
|
|
impression_group: ImpressionGroups.GUILD_ADD_FLOW
|
|
};
|
|
export default function NUFGuildTemplates() {
|
|
return <Navigator screens={useMemo(() => {
|
|
const r1 = {};
|
|
r1[CreateGuildModalStates.GUILD_TEMPLATES] = {
|
|
impressionName: ImpressionNames.GUILD_ADD_LANDING,
|
|
impressionProperties,
|
|
fullscreen: true,
|
|
headerTitle: () => null,
|
|
headerLeft: getHeaderCloseButton(() => {
|
|
trackNUFStep(NUXGuildTemplatesAnalytics.STEP_GUILD_TEMPLATE, NUXGuildTemplatesAnalytics.STEP_FRIEND_LIST, {
|
|
skip: true
|
|
});
|
|
transitionTo(DefaultRouteStore.fallbackRoute);
|
|
CreateGuildModalActionCreators.closeCreateGuildOnboardingModal();
|
|
}),
|
|
render: () => <GuildTemplates trigger={GuildTemplateTriggers.NUF} />
|
|
};
|
|
r1[CreateGuildModalStates.CREATION_INTENT] = {
|
|
impressionName: ImpressionNames.GUILD_ADD_INTENT_SELECTION,
|
|
impressionProperties,
|
|
fullscreen: true,
|
|
headerTitle: () => null,
|
|
render: (a0) => <CreationIntent guildTemplate={a0.guildTemplate} trigger={GuildTemplateTriggers.NUF} />
|
|
};
|
|
r1[CreateGuildModalStates.CREATE_SERVER] = {
|
|
impressionName: ImpressionNames.GUILD_ADD_CUSTOMIZE,
|
|
impressionProperties,
|
|
fullscreen: true,
|
|
headerTitle: () => null,
|
|
render: (a0, c27172_1) => {
|
|
return <CreateGuildContainer {...a0} onCreate={(event) => (function onCreateServer() {
|
|
return _onCreateServer.apply(this, arguments);
|
|
})(c27172_1, event.guild.id, a0.guildTemplate)} customTitle={intl.string(t["5HZu07"])} />;
|
|
}
|
|
};
|
|
r1[CreateGuildModalStates.JOIN_SERVER] = {
|
|
impressionName: ImpressionNames.GUILD_ADD_JOIN,
|
|
impressionProperties,
|
|
fullscreen: true,
|
|
headerTitle: () => null,
|
|
render: () => <JoinServer location="Onboarding Join Guild Modal" onClose={CreateGuildModalActionCreators.closeCreateGuildModal} />
|
|
};
|
|
r1[CreateGuildModalStates.ACCEPT_INVITE] = {
|
|
impressionName: ImpressionNames.GUILD_ADD_ACCEPT_INVITE,
|
|
impressionProperties,
|
|
fullscreen: true,
|
|
headerTitle: () => null,
|
|
headerLeft: () => null,
|
|
render: (a0) => <AcceptInviteContainer code={a0.code} onPressClose={CreateGuildModalActionCreators.closeCreateGuildModal} />
|
|
};
|
|
r1[CreateGuildModalStates.CHANNEL_PROMPT] = {
|
|
impressionName: ImpressionNames.GUILD_ADD_CHANNEL_PROMPT,
|
|
impressionProperties,
|
|
fullscreen: true,
|
|
headerTitle: () => null,
|
|
render: ({ guildId: guildId2 }) => <ChannelPrompt hasSkip hasBack={false} onCancel={NOOP} onSuccess={() => onCreateGuild(guildId2)} guildId={guildId2} buttonText={intl.string(t["uHXB+F"])} />
|
|
};
|
|
r1[CreateGuildModalStates.JOIN_STUDENT_HUB] = {
|
|
impressionName: void 0,
|
|
impressionProperties,
|
|
fullscreen: true,
|
|
ignoreKeyboard: true,
|
|
headerTitle: () => null,
|
|
headerLeft: () => null,
|
|
render: () => <HubEmailConnectionModal isNestedNavigator />
|
|
};
|
|
return r1;
|
|
}, [])} onWillFocus={Keyboard.dismiss} headerBackTitle={intl.string(t["13/7kX"])} initialRouteName={CreateGuildModalStates.GUILD_TEMPLATES} />;
|
|
};
|