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

90 lines
2.4 KiB
TypeScript

// Metro module 11748 (f11749).
import Module589 from "../../_bundle/Module589";
import Dispatcher from "../../Dispatcher";
let c8047_0, c8047_1, c8047_2, c8047_3, c8047_4, c8047_5;
const handleInviteData = function handleInviteData(a0) {
const guild = a0.invite.guild;
let r7 = guild?.welcome_screen != null;
if (r7) {
c8047_1[guild.id] = guild.welcome_screen;
r7 = true;
}
return r7;
};
const handleWelcomeScreenUpdate = function handleWelcomeScreenUpdate(a0) {
let welcomeScreen = a0.welcomeScreen;
const guildId = a0.guildId;
if (welcomeScreen == null) {
welcomeScreen = c8047_0;
}
c8047_1[guildId] = welcomeScreen;
};
c8047_0 = {};
c8047_1 = {};
c8047_2 = {};
c8047_3 = false;
c8047_4 = false;
c8047_5 = false;
class WelcomeScreenStore extends Module589.Store {
static displayName = "WelcomeScreenStore";
get(a0) {
if (a0 != null) {
return c8047_1[a0];
}
}
isFetching() {
return c8047_4;
}
hasError() {
return c8047_5;
}
hasSeen(a0, r2 = false) {
return a0 != null && (r2 ? c8047_3 : c8047_2[a0] || false);
}
isEmpty(a0) {
if (a0 == null) {
return true;
}
const r6 = c8047_1[a0];
return r6 == null || r6.welcome_channels.length === 0;
}
}
const welcomeScreenStore = new WelcomeScreenStore(Dispatcher, {
INVITE_RESOLVE_SUCCESS: handleInviteData,
INVITE_ACCEPT_SUCCESS: handleInviteData,
WELCOME_SCREEN_SUBMIT_SUCCESS: handleWelcomeScreenUpdate,
WELCOME_SCREEN_UPDATE: handleWelcomeScreenUpdate,
WELCOME_SCREEN_VIEW: function handleWelcomeScreenView({ guildId, isLurking }) {
c8047_2[guildId] = true;
if (isLurking) {
c8047_3 = true;
}
},
GUILD_STOP_LURKING: function handleGuildStopLurking() {
c8047_3 = false;
},
GUILD_DELETE: function handleGuildDelete(a0) {
c8047_2[a0.guild.id] = false;
},
WELCOME_SCREEN_FETCH_START: function handleFetchWelcomeScreen() {
c8047_4 = true;
c8047_5 = false;
},
WELCOME_SCREEN_FETCH_SUCCESS: function handleFetchWelcomeScreenSuccess(a0) {
c8047_4 = false;
c8047_5 = false;
let welcomeScreen = a0.welcomeScreen;
const guildId = a0.guildId;
if (welcomeScreen == null) {
welcomeScreen = c8047_0;
}
c8047_1[guildId] = welcomeScreen;
},
WELCOME_SCREEN_FETCH_FAIL: function handleFetchWelcomeScreenFail() {
c8047_4 = false;
c8047_5 = true;
}
});
export default welcomeScreenStore;
export { c8047_0 as NO_WELCOME_SCREEN };