decord/stable/source/modules/notifications/HabitualDNDStore.tsx
github-actions 528a3dd5ba chore: update source for stable 345.9
Skipped 1 file(s) >100MB (GitHub limit): source/__polyfill/04xxx/module_4745.js (118.4 MB)
2026-09-18 20:18:48 +00:00

90 lines
3.1 KiB
TypeScript

// Module ID: 13725
// Function ID: 13726
// Name: HabitualDNDStore
// Dependencies: [5279, 1074, 1090, 1935, 573, 504, 2]
// Module 13725 (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" /* 5279 */;
require = fn;
const StatusTypes = fn(1074).StatusTypes;
let sessionStartsWithDND = [];
let c6 = false;
const PersistedStore = initializeDefault.PersistedStore;
class HabitualDNDStore extends PersistedStore {
}
const prototype = HabitualDNDStore.prototype;
prototype["initialize"] = function initialize(sessionStartsWithDND) {
this.waitFor(SelfPresenceStore);
let isArray = null != sessionStartsWithDND;
if (isArray) {
const _Array = Array;
isArray = Array.isArray(sessionStartsWithDND.sessionStartsWithDND);
}
if (isArray) {
sessionStartsWithDND = sessionStartsWithDND.sessionStartsWithDND;
}
};
prototype["showNagBar"] = function showNagBar() {
return c6;
};
prototype["getState"] = function getState() {
return { sessionStartsWithDND };
};
prototype["getTemp"] = function getTemp() {
const obj = { x: null };
const StatusExpiresAtSetting = UserSettings.StatusExpiresAtSetting;
obj.x = StatusExpiresAtSetting.getSetting();
return obj;
};
HabitualDNDStore.displayName = "HabitualDNDStore";
HabitualDNDStore.persistKey = "habitualDND";
const habitualDNDStore = new HabitualDNDStore(DispatcherDefault, {
POST_CONNECTION_OPEN: function handleConnect() {
if (SelfPresenceStore.getStatus() === StatusTypes.DND) {
const StatusExpiresAtSetting = UserSettings.StatusExpiresAtSetting;
if ("0" === StatusExpiresAtSetting.getSetting()) {
const _Date = Date;
sessionStartsWithDND.push(Date.now());
const found = sessionStartsWithDND.filter((item) => {
const timestamp = Date.now();
return item > timestamp - 5 * DurationsDefault.Millis.DAY;
});
sessionStartsWithDND = found;
let someResult = found.length >= 4;
if (someResult) {
someResult = sessionStartsWithDND.some((item) => {
const timestamp = Date.now();
return item < timestamp - 3 * DurationsDefault.Millis.DAY;
});
}
if (someResult) {
const _setTimeout = setTimeout;
const timerId = setTimeout(() => {
DispatcherDefault.dispatch({ type: "HABITUAL_DND_CLEAR" });
}, 15 * DurationsDefault.Millis.SECOND);
}
}
}
sessionStartsWithDND = [];
},
HABITUAL_DND_CLEAR: function handleDNDClear() {
let someResult = sessionStartsWithDND.length >= 4;
if (someResult) {
someResult = sessionStartsWithDND.some((item) => {
const timestamp = Date.now();
return item < timestamp - 3 * DurationsDefault.Millis.DAY;
});
}
c6 = someResult;
sessionStartsWithDND = [];
}
});
const size = fn(2);
const result = size.fileFinishedImporting("modules/notifications/HabitualDNDStore.tsx");
export default habitualDNDStore;