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

60 lines
1.7 KiB
TypeScript

// Metro module 15884 (f15885).
import { GuildScheduledEventStatus } from "./GuildScheduledEventsConstants";
import Module589 from "../../_bundle/Module589";
import Dispatcher from "../../Dispatcher";
let dismissedEventIds = {};
class EventBannerStore extends Module589.PersistedStore {
static displayName = "EventBannerStore";
static persistKey = "EventBanner";
initialize(a0) {
if (a0 != null) {
let dismissedEventIds2 = a0.dismissedEventIds;
if (dismissedEventIds2 == null) {
dismissedEventIds2 = {};
}
dismissedEventIds = dismissedEventIds2;
}
}
isEventDismissed(a0) {
return dismissedEventIds[a0] != null;
}
getState() {
return {
dismissedEventIds
};
}
}
const eventBannerStore = new EventBannerStore(Dispatcher, {
EVENT_BANNER_DISMISS: function handleDismiss({ eventId }) {
const r7 = {
...dismissedEventIds
};
r7[eventId] = true;
dismissedEventIds = r7;
},
GUILD_SCHEDULED_EVENT_UPDATE: function handleEventUpdate({ guildScheduledEvent }) {
if (guildScheduledEvent.status !== GuildScheduledEventStatus.CANCELED && guildScheduledEvent.status !== GuildScheduledEventStatus.COMPLETED) {
return false;
}
if (dismissedEventIds[guildScheduledEvent.id] == null) {
return false;
}
const r14 = {
...dismissedEventIds
};
delete r14[guildScheduledEvent.id];
dismissedEventIds = r14;
},
GUILD_SCHEDULED_EVENT_DELETE: function handleEventDelete({ guildScheduledEvent }) {
if (dismissedEventIds[guildScheduledEvent.id] == null) {
return false;
}
const r9 = {
...dismissedEventIds
};
delete r9[guildScheduledEvent.id];
dismissedEventIds = r9;
}
});
export default eventBannerStore;