106 lines
3.8 KiB
TypeScript
106 lines
3.8 KiB
TypeScript
// Metro module 8322 (f8323).
|
|
import AuthenticationStore from "../../stores/AuthenticationStore";
|
|
import GuildScheduledEventStore from "./GuildScheduledEventStore";
|
|
import { GuildScheduledEventStatus, UpcomingGuildEventNoticeTypes } from "./GuildScheduledEventsConstants";
|
|
import { getNextShownUpcomingEventNoticeType } from "./GuildScheduledEventUtils";
|
|
import Module589 from "../../_bundle/Module589";
|
|
import Dispatcher from "../../Dispatcher";
|
|
let upcomingEventDismissals = {};
|
|
let upcomingEventSeenTimestamps = {};
|
|
class UpcomingEventNoticesStore extends Module589.PersistedStore {
|
|
static displayName = "UpcomingEventNoticesStore";
|
|
static persistKey = "UpcomingEventNotices";
|
|
initialize(a0) {
|
|
this.waitFor(AuthenticationStore, GuildScheduledEventStore);
|
|
if (a0 != null) {
|
|
let upcomingEventDismissals2 = a0.upcomingEventDismissals;
|
|
if (upcomingEventDismissals2 == null) {
|
|
upcomingEventDismissals2 = {};
|
|
}
|
|
upcomingEventDismissals = upcomingEventDismissals2;
|
|
let upcomingEventSeenTimestamps2 = a0.upcomingEventSeenTimestamps;
|
|
if (upcomingEventSeenTimestamps2 == null) {
|
|
upcomingEventSeenTimestamps2 = {};
|
|
}
|
|
upcomingEventSeenTimestamps = upcomingEventSeenTimestamps2;
|
|
}
|
|
}
|
|
getGuildEventNoticeDismissalTime(a0) {
|
|
return upcomingEventDismissals[a0];
|
|
}
|
|
getAllEventDismissals() {
|
|
return upcomingEventDismissals;
|
|
}
|
|
getUpcomingNoticeSeenTime(a0) {
|
|
return upcomingEventSeenTimestamps[a0];
|
|
}
|
|
getAllUpcomingNoticeSeenTimes() {
|
|
return upcomingEventSeenTimestamps;
|
|
}
|
|
getState() {
|
|
return {
|
|
upcomingEventDismissals,
|
|
upcomingEventSeenTimestamps
|
|
};
|
|
}
|
|
}
|
|
const upcomingEventNoticesStore = new UpcomingEventNoticesStore(Dispatcher, {
|
|
UPCOMING_GUILD_EVENT_NOTICE_HIDE: function handleHideNotice({ eventId }) {
|
|
const r8 = {
|
|
...upcomingEventDismissals
|
|
};
|
|
r8[eventId] = Date.now();
|
|
upcomingEventDismissals = r8;
|
|
},
|
|
GUILD_SCHEDULED_EVENT_UPDATE: function handleEventUpdate({ guildScheduledEvent }) {
|
|
if (!(guildScheduledEvent.status !== GuildScheduledEventStatus.CANCELED && guildScheduledEvent.status !== GuildScheduledEventStatus.COMPLETED)) {
|
|
const id = guildScheduledEvent.id;
|
|
const r13 = {
|
|
...upcomingEventDismissals
|
|
};
|
|
delete r13[id];
|
|
upcomingEventDismissals = r13;
|
|
const r16 = {
|
|
...upcomingEventSeenTimestamps
|
|
};
|
|
delete r16[id];
|
|
upcomingEventSeenTimestamps = r16;
|
|
}
|
|
},
|
|
GUILD_SCHEDULED_EVENT_DELETE: function handleEventDelete(a0) {
|
|
const id = a0.guildScheduledEvent.id;
|
|
const r8 = {
|
|
...upcomingEventDismissals
|
|
};
|
|
delete r8[id];
|
|
upcomingEventDismissals = r8;
|
|
const r9 = {
|
|
...upcomingEventSeenTimestamps
|
|
};
|
|
delete r9[id];
|
|
upcomingEventSeenTimestamps = r9;
|
|
},
|
|
GUILD_SCHEDULED_EVENT_USER_ADD: function handleMaybeHideNewEventNotice({ userId, guildEventId }) {
|
|
if (userId === AuthenticationStore.getId()) {
|
|
const guildScheduledEvent = GuildScheduledEventStore.getGuildScheduledEvent(guildEventId);
|
|
if (guildScheduledEvent != null && guildScheduledEvent.status === GuildScheduledEventStatus.SCHEDULED && upcomingEventDismissals[guildEventId] == null) {
|
|
if (getNextShownUpcomingEventNoticeType(guildScheduledEvent, void 0, upcomingEventSeenTimestamps[guildEventId], false) === UpcomingGuildEventNoticeTypes.NEW_EVENT) {
|
|
const r31 = {
|
|
...upcomingEventDismissals
|
|
};
|
|
r31[guildEventId] = Date.now();
|
|
upcomingEventDismissals = r31;
|
|
}
|
|
}
|
|
}
|
|
},
|
|
UPCOMING_GUILD_EVENT_NOTICE_SEEN: function handleMarkUpcomingNoticeAsSeen({ guildEventId }) {
|
|
const r8 = {
|
|
...upcomingEventSeenTimestamps
|
|
};
|
|
r8[guildEventId] = Date.now();
|
|
upcomingEventSeenTimestamps = r8;
|
|
}
|
|
});
|
|
export default upcomingEventNoticesStore;
|