This commit is contained in:
janisslsm committed 2026-11-01 12:12:55 +02:00
1 parent 1781d25a15
commit 732c0ad767
33051 files changed
+2591613 -3019689

No files matched your search

@@ -0,0 +1,115 @@
// 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 <Navigator screens={useMemo(() => {
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 <GuildOnboardingPrompts guildId={guildId2} currentPromptIdx={currentPromptIdx} prompts={stateFromStoresArray2} selectOption={callback3} onClose={onClose3} landingAnimation={landingAnimation2} isFirstOpen={isFirstOpen2} backShouldLeaveGuild={backShouldLeaveGuild2} />;
}
};
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: () => <GuildOnboardingConnectionPrompt guildId={guildId2} isLastStep={stateFromStoresArray2.length === 0 && !showRulesInOnboarding(guild, rulesPrompt)} onComplete={callback4} />
};
r19[GuildOnboardingModalStates.COMPLETED] = {
fullscreen: true,
headerTitle,
headerRight,
render: () => <GuildOnboardingCompleted guildId={guildId2} prompts={stateFromStoresArray2} completeOnboarding={callback4} onClose={() => {
onClose3();
onFinish2();
}} />
};
r19[GuildOnboardingModalStates.RULES] = {
fullscreen: true,
headerTitle,
headerRight,
render: () => <RulesPrompt guildId={guildId2} onClose={onClose3} />
};
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"])} />;
};