decord/source/modules/notifications/HabitualDNDStore.tsx

91 lines
3.1 KiB
TypeScript
Raw Normal View History

// Module ID: 13748
// Function ID: 13749
// Name: HabitualDNDStore
// Dependencies: [5293, 1074, 1090, 1935, 573, 504, 2]
2026-07-20 16:05:17 +00:00
// Module 13748 (HabitualDNDStore)
import initializeDefault from "initialize" /* 504 */;
import DispatcherDefault from "Dispatcher" /* 573 */;
import DurationsDefault from "Durations" /* 1090 */;
import UserSettings from "UserSettings" /* 1935 */;
import SelfPresenceStore from "SelfPresenceStore" /* 5293 */;
2026-07-23 10:11:24 +00:00
require = fn;
const StatusTypes = fn(1074).StatusTypes;
let sessionStartsWithDND = [];
2026-07-29 08:29:29 +00:00
let c6 = false;
2026-08-24 06:08:38 +00:00
const PersistedStore = initializeDefault.PersistedStore;
2026-07-29 08:29:29 +00:00
class HabitualDNDStore extends PersistedStore {
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
const prototype = HabitualDNDStore.prototype;
prototype["initialize"] = function initialize(sessionStartsWithDND) {
this.waitFor(SelfPresenceStore);
2026-07-29 08:29:29 +00:00
let isArray = null != sessionStartsWithDND;
if (isArray) {
const _Array = Array;
isArray = Array.isArray(sessionStartsWithDND.sessionStartsWithDND);
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
if (isArray) {
sessionStartsWithDND = sessionStartsWithDND.sessionStartsWithDND;
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
};
prototype["showNagBar"] = function showNagBar() {
return c6;
};
prototype["getState"] = function getState() {
return { sessionStartsWithDND };
2026-07-29 08:29:29 +00:00
};
prototype["getTemp"] = function getTemp() {
const obj = { x: null };
const StatusExpiresAtSetting = UserSettings.StatusExpiresAtSetting;
obj.x = StatusExpiresAtSetting.getSetting();
2026-07-29 08:29:29 +00:00
return obj;
};
HabitualDNDStore.displayName = "HabitualDNDStore";
HabitualDNDStore.persistKey = "habitualDND";
const habitualDNDStore = new HabitualDNDStore(DispatcherDefault, {
2026-07-20 16:05:17 +00:00
POST_CONNECTION_OPEN: function handleConnect() {
if (SelfPresenceStore.getStatus() === StatusTypes.DND) {
const StatusExpiresAtSetting = UserSettings.StatusExpiresAtSetting;
2026-07-20 16:05:17 +00:00
if ("0" === StatusExpiresAtSetting.getSetting()) {
const _Date = Date;
sessionStartsWithDND.push(Date.now());
const found = sessionStartsWithDND.filter((item) => {
2026-07-20 16:05:17 +00:00
const timestamp = Date.now();
return item > timestamp - 5 * DurationsDefault.Millis.DAY;
2026-07-20 16:05:17 +00:00
});
sessionStartsWithDND = found;
2026-07-29 08:29:29 +00:00
let someResult = found.length >= 4;
if (someResult) {
someResult = sessionStartsWithDND.some((item) => {
2026-07-29 08:29:29 +00:00
const timestamp = Date.now();
return item < timestamp - 3 * DurationsDefault.Millis.DAY;
2026-07-29 08:29:29 +00:00
});
}
if (someResult) {
2026-07-20 16:05:17 +00:00
const _setTimeout = setTimeout;
const timerId = setTimeout(() => {
DispatcherDefault.dispatch({ type: "HABITUAL_DND_CLEAR" });
}, 15 * DurationsDefault.Millis.SECOND);
2026-07-20 16:05:17 +00:00
}
}
}
sessionStartsWithDND = [];
2026-07-20 16:05:17 +00:00
},
HABITUAL_DND_CLEAR: function handleDNDClear() {
let someResult = sessionStartsWithDND.length >= 4;
2026-07-29 08:29:29 +00:00
if (someResult) {
someResult = sessionStartsWithDND.some((item) => {
2026-07-29 08:29:29 +00:00
const timestamp = Date.now();
return item < timestamp - 3 * DurationsDefault.Millis.DAY;
2026-07-29 08:29:29 +00:00
});
}
2026-08-24 06:08:38 +00:00
c6 = someResult;
sessionStartsWithDND = [];
2026-07-20 16:05:17 +00:00
}
});
const size = fn(2);
const result = size.fileFinishedImporting("modules/notifications/HabitualDNDStore.tsx");
2026-07-20 16:05:17 +00:00
2026-07-29 08:29:29 +00:00
export default habitualDNDStore;