62 lines
1.9 KiB
TypeScript
62 lines
1.9 KiB
TypeScript
// Metro module 12773 (f12774).
|
|
import SelfPresenceStore from "../../stores/SelfPresenceStore";
|
|
import { StatusTypes } from "../../Constants";
|
|
import Durations from "../../utils/Durations";
|
|
import { StatusExpiresAtSetting } from "../user_settings/UserSettings";
|
|
import Dispatcher from "../../Dispatcher";
|
|
import Module589 from "../../_bundle/Module589";
|
|
let $mk90389 = function() {
|
|
return (a0) => a0 < Date.now() - 3 * Durations.Millis.DAY;
|
|
};
|
|
let sessionStartsWithDND = [];
|
|
let c8804_6 = false;
|
|
class HabitualDNDStore extends Module589.PersistedStore {
|
|
static displayName = "HabitualDNDStore";
|
|
static persistKey = "habitualDND";
|
|
initialize(a0) {
|
|
this.waitFor(SelfPresenceStore);
|
|
if (a0 != null && Array.isArray(a0.sessionStartsWithDND)) {
|
|
sessionStartsWithDND = a0.sessionStartsWithDND;
|
|
}
|
|
}
|
|
showNagBar() {
|
|
return c8804_6;
|
|
}
|
|
getState() {
|
|
return {
|
|
sessionStartsWithDND
|
|
};
|
|
}
|
|
getTemp() {
|
|
return {
|
|
x: StatusExpiresAtSetting.getSetting()
|
|
};
|
|
}
|
|
}
|
|
const habitualDNDStore = new HabitualDNDStore(Dispatcher, {
|
|
POST_CONNECTION_OPEN: function handleConnect() {
|
|
L7: {
|
|
if (SelfPresenceStore.getStatus() === StatusTypes.DND && StatusExpiresAtSetting.getSetting() === "0") {
|
|
sessionStartsWithDND.push(Date.now());
|
|
const r27 = sessionStartsWithDND.filter((item) => item > Date.now() - 5 * Durations.Millis.DAY);
|
|
sessionStartsWithDND = r27;
|
|
if (!(r27.length >= 4 && sessionStartsWithDND.some($mk90389()))) {
|
|
break L7;
|
|
}
|
|
setTimeout(() => {
|
|
Dispatcher.dispatch({
|
|
type: "HABITUAL_DND_CLEAR"
|
|
});
|
|
}, 15 * Durations.Millis.SECOND);
|
|
} else {
|
|
sessionStartsWithDND = [];
|
|
}
|
|
}
|
|
},
|
|
HABITUAL_DND_CLEAR: function handleDNDClear() {
|
|
c8804_6 = !!(sessionStartsWithDND.length >= 4 && sessionStartsWithDND.some($mk90389()));
|
|
sessionStartsWithDND = [];
|
|
}
|
|
});
|
|
export default habitualDNDStore;
|