decord/alpha/source/modules/notifications/HabitualDNDStore.tsx

85 lines
3 KiB
TypeScript
Raw Normal View History

2026-10-09 10:00:15 +00:00
// Module ID: 13938
// Function ID: 13939
// Name: HabitualDNDStore
2026-10-09 10:00:15 +00:00
// Dependencies: [5756, 1085, 1102, 2041, 584, 504, 2]
2026-07-20 16:05:17 +00:00
2026-10-09 10:00:15 +00:00
// Module 13938 (HabitualDNDStore)
2026-10-03 08:58:59 +00:00
import get_initializedDefault from "get initialized" /* 504 */;
import DispatcherDefault from "Dispatcher" /* 584 */;
import Constants from "Constants" /* 1085 */;
import DurationsDefault from "Durations" /* 1102 */;
2026-10-09 10:00:15 +00:00
import UserSettings from "UserSettings" /* 2041 */;
import SelfPresenceStore from "SelfPresenceStore" /* 5756 */;
2026-10-03 08:58:59 +00:00
import size from "module_2" /* 2 */;
2026-07-23 10:11:24 +00:00
2026-10-09 10:00:15 +00:00
const f116740 = (item) => {
2026-10-03 08:58:59 +00:00
const timestamp = Date.now();
return item < timestamp - 3 * DurationsDefault.Millis.DAY;
};
const StatusTypes = Constants.StatusTypes;
const hasOwnProperty = [];
2026-07-29 08:29:29 +00:00
let c6 = false;
2026-10-03 08:58:59 +00:00
const PersistedStore = get_initializedDefault.PersistedStore;
2026-07-29 08:29:29 +00:00
class HabitualDNDStore extends PersistedStore {
2026-10-03 08:58:59 +00:00
initialize(sessionStartsWithDND) {
this.waitFor(SelfPresenceStore);
let isArray = null != sessionStartsWithDND;
if (isArray) {
const _Array = Array;
isArray = Array.isArray(sessionStartsWithDND.sessionStartsWithDND);
}
if (isArray) {
sessionStartsWithDND = sessionStartsWithDND.sessionStartsWithDND;
}
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
showNagBar() {
return c6;
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
getState() {
return { sessionStartsWithDND };
}
getTemp() {
let StatusExpiresAtSetting;
const obj = { x: StatusExpiresAtSetting.getSetting() };
StatusExpiresAtSetting = UserSettings.StatusExpiresAtSetting;
return obj;
}
}
const prototype = HabitualDNDStore.prototype;
2026-07-29 08:29:29 +00:00
HabitualDNDStore.displayName = "HabitualDNDStore";
HabitualDNDStore.persistKey = "habitualDND";
2026-10-03 08:58:59 +00:00
let obj = {
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-10-09 10:00:15 +00:00
const someResult = found.length >= 4 && sessionStartsWithDND.some(f116740);
2026-07-29 08:29:29 +00:00
if (someResult) {
2026-07-20 16:05:17 +00:00
const _setTimeout = setTimeout;
const timerId = setTimeout(() => {
2026-10-03 08:58:59 +00:00
const obj = DispatcherDefault;
obj.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() {
2026-10-09 10:00:15 +00:00
c6 = sessionStartsWithDND.length >= 4 && sessionStartsWithDND.some(f116740);
const someResult = sessionStartsWithDND.length >= 4 && sessionStartsWithDND.some(f116740);
sessionStartsWithDND = [];
2026-07-20 16:05:17 +00:00
}
2026-10-03 08:58:59 +00:00
};
const habitualDNDStore = new HabitualDNDStore(DispatcherDefault, obj);
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;