130 lines
4.2 KiB
TypeScript
130 lines
4.2 KiB
TypeScript
// Module ID: 15769
|
|
// Function ID: 15770
|
|
// Name: handleLoadFinished
|
|
// Dependencies: [32, 7243, 687, 589, 7246, 11, 709, 2]
|
|
|
|
// Module 15769 (handleLoadFinished)
|
|
import DISCORD_EPOCHDefault from "DISCORD_EPOCH" /* 11 */;
|
|
import initializeDefault from "initialize" /* 589 */;
|
|
import setDefault from "set" /* 687 */;
|
|
import dispatcherDefault from "dispatcher" /* 709 */;
|
|
import NotificationCenterScenes from "NotificationCenterScenes" /* 7246 */;
|
|
import closure_3 from "_slicedToArray" /* 32 */;
|
|
import closure_4 from "findOrCreateMessageRecord" /* 7243 */;
|
|
|
|
require = arg1;
|
|
function handleLoadFinished() {
|
|
closure_6.hasNewMentions = false;
|
|
closure_6.isDataStale = false;
|
|
closure_6.isRefreshing = false;
|
|
}
|
|
let closure_5 = 90 * setDefault.Millis.DAY;
|
|
let closure_6 = { tab: null, localItemAcks: {}, hasNewMentions: false, isDataStale: false, isRefreshing: false };
|
|
const PersistedStore = initializeDefault.PersistedStore;
|
|
class NotificationCenterStore extends PersistedStore {
|
|
}
|
|
const prototype = NotificationCenterStore.prototype;
|
|
prototype["initialize"] = function initialize(localItemAcks) {
|
|
this.waitFor(closure_4);
|
|
if (null != localItemAcks) {
|
|
closure_6 = localItemAcks;
|
|
localItemAcks = localItemAcks.localItemAcks;
|
|
if (localItemAcks == null) {
|
|
localItemAcks = {};
|
|
}
|
|
localItemAcks.localItemAcks = (function purge(localItemAcks) {
|
|
const obj = {};
|
|
const entries = Object.entries(localItemAcks);
|
|
while (tmp2 !== undefined) {
|
|
let tmp4 = callback;
|
|
let tmp5 = callback(tmp3, 2);
|
|
[tmp6, tmp7] = tmp5;
|
|
let _Date = Date;
|
|
let tmp8 = tmp7;
|
|
let tmp9 = closure_5;
|
|
if (Date.now() - tmp7 < closure_5) {
|
|
let tmp10 = tmp6;
|
|
let tmp11 = tmp7;
|
|
obj[tmp6] = tmp8;
|
|
}
|
|
continue;
|
|
}
|
|
return obj;
|
|
})(localItemAcks);
|
|
closure_6.isDataStale = true;
|
|
}
|
|
};
|
|
prototype["getState"] = function getState() {
|
|
return closure_6;
|
|
};
|
|
prototype["getTab"] = function getTab() {
|
|
let ForYou = closure_6.tab;
|
|
if (ForYou == null) {
|
|
ForYou = NotificationCenterScenes.NotificationCenterTabs.ForYou;
|
|
}
|
|
return ForYou;
|
|
};
|
|
prototype["isLocalItemAcked"] = function isLocalItemAcked(addResult) {
|
|
let tmp = null != addResult.local_id;
|
|
if (tmp) {
|
|
let tmp3 = null != closure_6.localItemAcks[addResult.local_id];
|
|
if (!tmp3) {
|
|
tmp3 = DISCORD_EPOCHDefault.age(addResult.id) > closure_5;
|
|
const obj = DISCORD_EPOCHDefault;
|
|
}
|
|
tmp = tmp3;
|
|
}
|
|
return tmp;
|
|
};
|
|
prototype["hasNewMentions"] = function hasNewMentions() {
|
|
return closure_6.hasNewMentions;
|
|
};
|
|
prototype["isDataStale"] = function isDataStale() {
|
|
return closure_6.isDataStale;
|
|
};
|
|
prototype["isRefreshing"] = function isRefreshing() {
|
|
return closure_6.isRefreshing;
|
|
};
|
|
prototype["shouldReload"] = function shouldReload() {
|
|
let isRefreshing = closure_6.hasNewMentions;
|
|
if (!isRefreshing) {
|
|
isRefreshing = closure_6.isDataStale;
|
|
}
|
|
if (!isRefreshing) {
|
|
isRefreshing = closure_6.isRefreshing;
|
|
}
|
|
return isRefreshing;
|
|
};
|
|
NotificationCenterStore.displayName = "NotificationCenterStore";
|
|
NotificationCenterStore.persistKey = "NotificationCenterStore";
|
|
const notificationCenterStore = new NotificationCenterStore(dispatcherDefault, {
|
|
MESSAGE_CREATE: function handleMessageCreate(message) {
|
|
if (closure_4.hasMention(message.message.id)) {
|
|
closure_6.hasNewMentions = true;
|
|
}
|
|
},
|
|
NOTIFICATION_CENTER_SET_TAB: function handleSetTab(tab) {
|
|
const obj = {};
|
|
const merged = Object.assign(obj);
|
|
obj.tab = tab.tab;
|
|
},
|
|
NOTIFICATION_CENTER_ITEMS_LOCAL_ACK: function handleAck(localIds) {
|
|
localIds = localIds.localIds;
|
|
const item = localIds.forEach((arg0) => {
|
|
let obj = {};
|
|
const merged = Object.assign(obj);
|
|
obj = {};
|
|
const merged1 = Object.assign(obj.localItemAcks);
|
|
obj[arg0] = Date.now();
|
|
obj.localItemAcks = obj;
|
|
});
|
|
},
|
|
NOTIFICATION_CENTER_REFRESH: function handleRefreshData() {
|
|
closure_6.isRefreshing = true;
|
|
},
|
|
LOAD_NOTIFICATION_CENTER_ITEMS_FAILURE: handleLoadFinished,
|
|
LOAD_NOTIFICATION_CENTER_ITEMS_SUCCESS: handleLoadFinished
|
|
});
|
|
const result = require("set").fileFinishedImporting("modules/notification_center/NotificationCenterStore.tsx");
|
|
|
|
export default notificationCenterStore;
|