Files
discord-decomp/modules/guild_onboarding/GuildOnboardingPromptsActionCreators.tsx
T
2026-11-01 12:12:55 +02:00

127 lines
4.3 KiB
TypeScript

// Metro module 5114 (f5115).
import AuthenticationStore from "../../stores/AuthenticationStore";
import GuildMemberStore from "../../stores/GuildMemberStore";
import GuildStore from "../../stores/GuildStore";
import GuildOnboardingPromptsStore from "./GuildOnboardingPromptsStore";
import { serverApiResponseToClientState } from "./GuildOnboardingPromptsConstants";
import { AnalyticEvents, Endpoints, GuildFeatures } from "../../Constants";
import { GuildMemberFlags } from "../guild_member/GuildMemberConstants";
import AnalyticsUtils from "../../utils/AnalyticsUtils";
import { collectGuildAnalyticsMetadata } from "../app_analytics/AppAnalyticsUtils";
import Dispatcher from "../../Dispatcher";
import { HTTP } from "../../_bundle/sendRequest";
import * as _Module1384 from "../../_bundle/Module1384";
let startOnboarding, step, _trackOnboardingDirectJoin;
const fetchOnboardingPrompts = function fetchOnboardingPrompts(guildId5) {
const guildId = guildId5;
Dispatcher.dispatch({
type: "GUILD_ONBOARDING_PROMPTS_FETCH_START",
guildId: guildId5
});
return HTTP.get({
url: Endpoints.GUILD_ONBOARDING(guildId5),
rejectWithError: false
}).then(({ body }) => {
const r5 = serverApiResponseToClientState(body);
let c25349_0 = r5;
return Dispatcher.dispatch({
type: "GUILD_ONBOARDING_PROMPTS_FETCH_SUCCESS",
guildId,
...r5
}).then(() => c25349_0.prompts);
}, (a0) => {
Dispatcher.dispatch({
type: "GUILD_ONBOARDING_PROMPTS_FETCH_FAILURE",
guildId
});
return a0;
});
};
startOnboarding = function startOnboarding(a0) {
Dispatcher.dispatch({
type: "GUILD_ONBOARDING_START",
guildId: a0
});
};
_trackOnboardingDirectJoin = function _trackOnboardingDirectJoin(a0) {
AnalyticsUtils.track(AnalyticEvents.GUILD_ONBOARDING_STEP_VIEWED, {
...collectGuildAnalyticsMetadata(a0),
step,
required: true
});
AnalyticsUtils.track(AnalyticEvents.GUILD_ONBOARDING_STEP_COMPLETED, {
...collectGuildAnalyticsMetadata(a0),
step,
skipped: false,
is_final_step: true,
in_onboarding: true
});
};
step = -2;
export function loadOnboardingPrompts(a0) {
AnalyticsUtils.track(AnalyticEvents.GUILD_ONBOARDING_LOADED, {
...collectGuildAnalyticsMetadata(a0),
has_new_prompts: false,
number_of_prompts: 0
});
}
export { fetchOnboardingPrompts };
export async function maybeFetchOnboardingPrompts(c25350_0) {
let r48, r72, r112;
let flags, c25350_2, c25350_3;
L32: {
L29: {
L22: {
let env29462;
c25350_3 = void 0;
const r13 = env29462 = {};
c25350_2 = r13;
env29462[0] = c25350_0;
env29462[1] = void 0;
env29462[2] = void 0;
flags = GuildMemberStore.getMember(c25350_0, AuthenticationStore.getId())?.flags;
if (flags == null) {
flags = 0;
}
const hasFlag = _Module1384.hasFlag(flags, GuildMemberFlags.COMPLETED_ONBOARDING);
env29462[1] = hasFlag;
const guild = GuildStore.getGuild(c25350_0);
if (guild != null && guild.features.has(GuildFeatures.GUILD_ONBOARDING)) {
const shouldFetchPrompts = GuildOnboardingPromptsStore.shouldFetchPrompts(c25350_0);
const onboardingPrompts = GuildOnboardingPromptsStore.getOnboardingPrompts(c25350_0);
if (!shouldFetchPrompts && onboardingPrompts.length > 0) {
if (onboardingPrompts.every((onboardingPrompt) => !onboardingPrompt.inOnboarding)) {
_trackOnboardingDirectJoin(c25350_0);
r72 = Promise.resolve();
break L22;
}
if (!hasFlag) {
startOnboarding(c25350_0);
}
r72 = Promise.resolve();
break L22;
}
env29462[2] = await fetchOnboardingPrompts(c25350_0);
if (Array.isArray(env29462[2]) && env29462[2].every((item) => !item.inOnboarding)) {
(0, _trackOnboardingDirectJoin)(env29462[0]);
r112 = Promise.resolve();
break L29;
}
if (!env29462[1]) {
(0, startOnboarding)(env29462[0]);
}
r112 = env29462[2];
break L29;
}
r48 = Promise.resolve();
break L32;
}
return r72;
}
return r112;
}
return r48;
}
export { startOnboarding };
export const CONNECTIONS_STEP = -3;