Files
discord-decomp/actions/ChannelSettingsActionCreators.tsx
T
2026-11-01 12:12:55 +02:00

284 lines
8.0 KiB
TypeScript

// Metro module 7686 (f7687).
import ChannelSettingsStore from "../stores/ChannelSettingsStore";
import ChannelStore from "../stores/ChannelStore";
import { ChannelSettingsSections, Endpoints, Layers } from "../Constants";
import Dispatcher from "../Dispatcher";
import { getRootNavigationRef } from "../modules/main_tabs_v2/RootNavigationRef.native";
import ThreadActionCreators from "../modules/threads/ThreadActionCreators";
import { rejectWithMigratedError, HTTP } from "../_bundle/sendRequest";
import GuildTemplateTooltipActionCreators from "../modules/guild_templates/GuildTemplateTooltipActionCreators";
function $mk115059($env) {
return (a0) => {
const r7 = $env;
Dispatcher.dispatch({
type: "CHANNEL_SETTINGS_SUBMIT_SUCCESS",
channelId: r7[0]
});
const r13 = r7[26];
const r14 = r13 == null ? void 0 : r13.getGuildId();
let r16 = r14 == null;
if (!r16) {
const r17 = r7[26];
r16 = r17 == null ? void 0 : r17.isThread();
}
if (!r16) {
GuildTemplateTooltipActionCreators.checkGuildTemplateDirty(r14);
}
return a0;
};
}
function $mk115060($env) {
return (a0) => {
Dispatcher.dispatch({
type: "CHANNEL_SETTINGS_SUBMIT_FAILURE",
errors: a0.body
});
return a0;
};
}
let close;
let env4829 = {};
export function init(a0, a1, a2) {
Dispatcher.dispatch({
type: "CHANNEL_SETTINGS_INIT",
channelId: a0,
location: a1,
subsection: a2
});
}
const open2 = function(a0, a1, a2) {
const rootNavigationRef = getRootNavigationRef();
if (rootNavigationRef != null && rootNavigationRef.isReady()) {
Dispatcher.dispatch({
type: "CHANNEL_SETTINGS_INIT",
channelId: a0,
location: a1,
subsection: a2
});
let initialRouteName = ChannelSettingsStore.getSection();
if (initialRouteName == null) {
initialRouteName = ChannelSettingsSections.OVERVIEW;
}
rootNavigationRef.navigate("sidebar", {
channelId: a0,
initialRouteName,
source: "channel-settings-action-creators-open"
});
}
};
const close2 = function close() {
Dispatcher.dispatch({
type: "CHANNEL_SETTINGS_CLOSE"
});
};
close = close2;
export function setSection(a0) {
Dispatcher.dispatch({
type: "CHANNEL_SETTINGS_SET_SECTION",
section: a0
});
}
export function selectPermissionOverwrite(a0) {
Dispatcher.dispatch({
type: "CHANNEL_SETTINGS_OVERWRITE_SELECT",
overwriteId: a0
});
}
export function updateChannel(a0) {
const { name, type, topic, bitrate, userLimit, nsfw, flags, rateLimitPerUser, defaultThreadRateLimitPerUser, defaultAutoArchiveDuration, template, defaultReactionEmoji, rtcRegion, videoQualityMode, autoArchiveDuration, locked, invitable, availableTags, defaultSortOrder } = a0;
Dispatcher.dispatch({
type: "CHANNEL_SETTINGS_UPDATE",
name,
channelType: type,
topic,
bitrate,
userLimit,
nsfw,
flags,
rateLimitPerUser,
defaultThreadRateLimitPerUser,
defaultAutoArchiveDuration,
template,
defaultReactionEmoji,
rtcRegion,
videoQualityMode,
autoArchiveDuration,
locked,
invitable,
availableTags,
defaultSortOrder,
defaultForumLayout: a0.defaultForumLayout,
defaultTagSetting: a0.defaultTagSetting,
iconEmoji: a0.iconEmoji,
themeColor: a0.themeColor
});
}
export async function saveChannel(c26014_0, c26014_1) {
let env29845;
const r32 = env4829;
let c26014_3 = r32;
const r10 = env29845 = {
$parent: r32
};
let c26014_2 = r10;
env29845[1] = void 0;
env29845[2] = void 0;
env29845[3] = void 0;
env29845[4] = void 0;
env29845[5] = void 0;
env29845[6] = void 0;
env29845[7] = void 0;
env29845[8] = void 0;
env29845[9] = void 0;
env29845[10] = void 0;
env29845[11] = void 0;
env29845[12] = void 0;
env29845[13] = void 0;
env29845[14] = void 0;
env29845[15] = void 0;
env29845[16] = void 0;
env29845[17] = void 0;
env29845[18] = void 0;
env29845[19] = void 0;
env29845[20] = void 0;
env29845[21] = void 0;
env29845[22] = void 0;
env29845[23] = void 0;
env29845[24] = void 0;
env29845[25] = void 0;
env29845[0] = c26014_0;
env29845[1] = c26014_1.name;
env29845[2] = c26014_1.type;
env29845[3] = c26014_1.position;
env29845[4] = c26014_1.topic;
env29845[5] = c26014_1.bitrate;
env29845[6] = c26014_1.userLimit;
env29845[7] = c26014_1.nsfw;
env29845[8] = c26014_1.flags;
env29845[9] = c26014_1.permissionOverwrites;
env29845[10] = c26014_1.rateLimitPerUser;
env29845[11] = c26014_1.defaultThreadRateLimitPerUser;
env29845[12] = c26014_1.defaultAutoArchiveDuration;
env29845[13] = c26014_1.template;
env29845[14] = c26014_1.defaultReactionEmoji;
env29845[15] = c26014_1.rtcRegion;
env29845[16] = c26014_1.videoQualityMode;
env29845[17] = c26014_1.autoArchiveDuration;
env29845[18] = c26014_1.locked;
env29845[19] = c26014_1.invitable;
env29845[20] = c26014_1.availableTags;
env29845[21] = c26014_1.defaultSortOrder;
env29845[22] = c26014_1.defaultForumLayout;
env29845[23] = c26014_1.defaultTagSetting;
env29845[24] = c26014_1.iconEmoji;
env29845[25] = c26014_1.themeColor;
env29845[26] = void 0;
await void 0;
env29845[26] = ChannelStore.getChannel(env29845[0]);
Dispatcher.dispatch({
type: "CHANNEL_SETTINGS_SUBMIT"
});
await ThreadActionCreators.unarchiveThreadIfNecessary(env29845[0]);
const r114 = {
url: Endpoints.CHANNEL(env29845[0]),
body: null,
oldFormErrors: true,
rejectWithError: null
};
const default_reaction_emoji = env29845[14] != null ? {
emoji_id: env29845[14]?.emojiId,
emoji_name: env29845[14]?.emojiName
} : env29845[14] === null ? null : void 0;
const r142 = env29845[20];
const available_tags = r142 == null ? void 0 : r142.map((item) => ({
id: item.id,
name: item.name,
emoji_id: item.emojiId,
emoji_name: item.emojiName,
moderated: item.moderated
}));
const icon_emoji = env29845[24] != null ? {
id: env29845[24].id,
name: env29845[24].name
} : env29845[24] === null ? null : void 0;
r114.body = {
name: env29845[1],
type: env29845[2],
position: env29845[3],
topic: env29845[4],
bitrate: env29845[5],
user_limit: env29845[6],
nsfw: env29845[7],
flags: env29845[8],
permission_overwrites: env29845[9],
rate_limit_per_user: env29845[10],
default_thread_rate_limit_per_user: env29845[11],
default_auto_archive_duration: env29845[12],
template: env29845[13],
rtc_region: env29845[15],
video_quality_mode: env29845[16],
auto_archive_duration: env29845[17],
locked: env29845[18],
invitable: env29845[19],
default_reaction_emoji,
available_tags,
default_sort_order: env29845[21],
default_forum_layout: env29845[22],
default_tag_setting: env29845[23],
icon_emoji,
theme_color: env29845[25]
};
r114.rejectWithError = rejectWithMigratedError();
const r170 = HTTP.patch(r114);
const r173 = $mk115060(env4829);
return r170.then($mk115059(c26014_2), r173);
}
export async function deleteChannel(c26015_0) {
let c29846_0 = ChannelStore.getChannel(c26015_0);
await HTTP.del({
url: Endpoints.CHANNEL(c26015_0),
oldFormErrors: true,
rejectWithError: true
});
let c29846_1 = c29846_0 == null ? void 0 : c29846_0.getGuildId();
let r58 = c29846_1 == null;
if (!r58) {
r58 = c29846_0 == null ? void 0 : c29846_0.isThread();
}
if (!r58) {
GuildTemplateTooltipActionCreators.checkGuildTemplateDirty(c29846_1);
}
(0, close)();
}
export function updateVoiceChannelStatus(a0, a1) {
return HTTP.put({
url: Endpoints.UPDATE_VOICE_CHANNEL_STATUS(a0),
body: {
status: a1
},
rejectWithError: rejectWithMigratedError()
});
}
export function removeLinkedLobby(a0) {
return HTTP.del({
url: Endpoints.CHANNEL_LINKED_LOBBY(a0),
rejectWithError: true
});
}
Layers;
const r35 = {
init,
open: open2,
close: close2,
setSection,
selectPermissionOverwrite,
updateChannel,
saveChannel,
deleteChannel,
updateVoiceChannelStatus,
removeLinkedLobby
};
export default r35;
export { open2 as open };
export { close2 as close };