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

226 lines
6.5 KiB
TypeScript

// Metro module 11438 (f11439).
import ImpersonateStore from "../impersonate/ImpersonateStore";
import ChannelStore from "../../stores/ChannelStore";
import GuildOnboardingHomeSettingsStore from "./GuildOnboardingHomeSettingsStore";
import GuildOnboardingMemberActionStore from "./GuildOnboardingMemberActionStore";
import { AnalyticEvents, Endpoints } from "../../Constants";
import Dispatcher from "../../Dispatcher";
import { HTTP } from "../../_bundle/sendRequest";
import { settingsFromServer, actionsFromServer } from "./GuildOnboardingHomeTypes";
import AnalyticsUtils from "../../utils/AnalyticsUtils";
import { transitionToChannel } from "../routing/transitionToChannel";
import SnowflakeUtils from "../../utils/SnowflakeUtils";
export async function fetchGuildHomeSettings(guildId) {
let r76;
let c27065_4 = 0;
let c30406_0, c30406_1, c30406_2;
try {
c30406_0 = guildId;
c30406_1 = void 0;
c30406_2 = void 0;
Dispatcher.dispatch({
type: "GUILD_HOME_SETTINGS_FETCH_START",
guildId
});
c27065_4 = 1;
c30406_1 = await HTTP.get({
url: Endpoints.GUILD_HOME_SETTINGS(guildId),
oldFormErrors: true,
rejectWithError: true
});
c30406_2 = settingsFromServer(c30406_1.body);
Dispatcher.dispatch({
type: "GUILD_HOME_SETTINGS_FETCH_SUCCESS",
guildId: c30406_0,
homeSettings: c30406_2
});
r76 = c30406_2;
c27065_4 = 0;
} catch ($e) {
let r8 = $e;
if (c27065_4 !== 0) {
while (true) {
try {
c27065_4 = 0;
Dispatcher.dispatch({
type: "GUILD_HOME_SETTINGS_FETCH_FAIL",
guildId: c30406_0
});
} catch ($e) {
r8 = $e;
if (c27065_4 === 0) {
break;
}
continue;
}
return void 0;
}
}
throw r8;
}
return r76;
}
export async function fetchNewMemberActions(guildId2) {
let r80;
let c27066_4 = 0;
let c30407_0, c30407_1, c30407_2;
L12: {
try {
c30407_0 = guildId2;
c30407_1 = void 0;
c30407_2 = void 0;
if (ImpersonateStore.isFullServerPreview(guildId2)) {
break L12;
}
Dispatcher.dispatch({
type: "GUILD_NEW_MEMBER_ACTIONS_FETCH_START",
guildId: guildId2
});
c27066_4 = 1;
c30407_1 = await HTTP.get({
url: Endpoints.GUILD_MEMBER_ACTIONS(guildId2),
oldFormErrors: true,
rejectWithError: true
});
c30407_2 = actionsFromServer(c30407_1.body);
Dispatcher.dispatch({
type: "GUILD_NEW_MEMBER_ACTIONS_FETCH_SUCCESS",
guildId: c30407_0,
memberActions: c30407_2
});
r80 = c30407_2;
c27066_4 = 0;
} catch ($e) {
let r8 = $e;
if (c27066_4 !== 0) {
while (true) {
try {
c27066_4 = 0;
Dispatcher.dispatch({
type: "GUILD_NEW_MEMBER_ACTIONS_FETCH_FAIL",
guildId: c30407_0
});
} catch ($e) {
r8 = $e;
if (c27066_4 === 0) {
break;
}
continue;
}
return void 0;
}
}
throw r8;
}
return r80;
}
}
export async function clearNewMemberActions(guildId3) {
let c27067_4 = 0;
let c30408_0;
L10: {
try {
c30408_0 = guildId3;
Dispatcher.dispatch({
type: "GUILD_NEW_MEMBER_ACTIONS_DELETE_START",
guildId: guildId3
});
c27067_4 = 1;
await HTTP.del({
url: Endpoints.GUILD_MEMBER_ACTIONS(guildId3),
oldFormErrors: true,
rejectWithError: true
});
Dispatcher.dispatch({
type: "GUILD_NEW_MEMBER_ACTIONS_DELETE_SUCCESS",
guildId: c30408_0
});
c27067_4 = 0;
} catch ($e) {
let r8 = $e;
if (c27067_4 !== 0) {
while (true) {
try {
c27067_4 = 0;
Dispatcher.dispatch({
type: "GUILD_NEW_MEMBER_ACTIONS_DELETE_FAIL",
guildId: c30408_0
});
break L10;
} catch ($e) {
r8 = $e;
if (c27067_4 === 0) {
break;
}
}
}
}
throw r8;
}
}
}
export function selectHomeResourceChannel(a0, a1, r4 = true) {
if (a1 != null) {
const channel = ChannelStore.getChannel(a1);
const resourceForChannel = GuildOnboardingHomeSettingsStore.getResourceForChannel(a0, a1);
if (!(a0 == null || ImpersonateStore.isFullServerPreview(a0) || channel == null || resourceForChannel == null)) {
AnalyticsUtils.track(AnalyticEvents.SERVER_GUIDE_CHANNEL_SELECTED, {
guild_id: a0,
channel_id: channel.id,
server_guide_channel_type: "resource",
channel_action_type: -1
});
}
if (r4) {
transitionToChannel(a1, {
navigationReplace: false
});
}
}
}
export function selectNewMemberActionChannel(a0, a1) {
const channel = ChannelStore.getChannel(a1);
const actionForChannel = GuildOnboardingHomeSettingsStore.getActionForChannel(a0, a1);
if (!(a0 == null || ImpersonateStore.isFullServerPreview(a0) || channel == null || actionForChannel == null)) {
AnalyticsUtils.track(AnalyticEvents.SERVER_GUIDE_CHANNEL_SELECTED, {
guild_id: a0,
channel_id: channel.id,
server_guide_channel_type: "member action",
channel_action_type: actionForChannel.actionType
});
}
transitionToChannel(a1);
}
export function completeNewMemberAction(a0, a1) {
Dispatcher.dispatch({
type: "COMPLETE_NEW_MEMBER_ACTION",
guildId: a0,
channelId: a1
});
if (!ImpersonateStore.isFullServerPreview(a0)) {
const channel = ChannelStore.getChannel(a1);
const actionForChannel = GuildOnboardingHomeSettingsStore.getActionForChannel(a0, a1);
if (channel != null && actionForChannel != null) {
let r27 = GuildOnboardingMemberActionStore.getCompletedActions(a0);
if (r27 == null) {
r27 = {};
}
let c18838_0 = SnowflakeUtils.keys(r27);
let r31 = GuildOnboardingHomeSettingsStore.getNewMemberActions(a0);
if (r31 == null) {
r31 = [];
}
AnalyticsUtils.track(AnalyticEvents.SERVER_GUIDE_ACTION_COMPLETED, {
guild_id: channel.guild_id,
channel_id: channel.id,
channel_action_type: actionForChannel.actionType,
has_completed_all: r31.reduce((acc, item) => acc ? c18838_0.includes(item.channelId) : acc, true)
});
}
HTTP.post({
url: Endpoints.GUILD_MEMBER_ACTION_UPDATE(a0, a1),
rejectWithError: true
});
}
}