decord/source/modules/parent_tools/RestrictedHoursManager.tsx
2026-08-05 07:35:12 +00:00

187 lines
6.6 KiB
TypeScript

// Module ID: 16216
// Function ID: 16217
// Name: scheduleUpcomingWarning
// Dependencies: [9639, 1874, 6890, 1236, 2255, 1895, 9641, 709, 6947, 16211, 5214, 2]
// Exports: getCurrentRestrictedHoursState
// Module 16216 (scheduleUpcomingWarning)
import DesktopNotificationTypes from "DesktopNotificationTypes";
import mergeGuildAvatar from "mergeGuildAvatar";
import freshTeenActivityWithMap from "freshTeenActivityWithMap";
import "initialize";
const require = arg1;
function scheduleUpcomingWarning() {
let rule;
let startAtMs;
if (null != timeout) {
const _clearTimeout = clearTimeout;
clearTimeout(timeout);
timeout = null;
}
const date = new Date();
let obj = require(6947) /* apexExperiment */;
let tmp7 = null;
if (obj.getIsFamilyCenterV3Enabled({ location: "RestrictedHoursManager" })) {
tmp7 = null;
if (obj.screenDowntimeReminder) {
currentUser = currentUser.getCurrentUser();
let restrictedSchedule;
if (currentUser != null) {
restrictedSchedule = currentUser.restrictedSchedule;
}
tmp7 = null;
if (null != restrictedSchedule) {
const nextStartInfo = restrictedSchedule.getNextStartInfo(date);
let tmp14 = null;
if (null != nextStartInfo) {
obj = { minutesUntil: null, startAtMs: null, rule: null };
obj[0] = nextStartInfo.minutesUntil;
const _Date = Date;
const date1 = new Date(tmp12);
obj[1] = date1.setSeconds(0, 0) + 60 * nextStartInfo.minutesUntil * 1000;
obj[2] = nextStartInfo.rule;
tmp14 = obj;
}
tmp7 = tmp14;
tmp12 = date;
}
}
}
if (null != tmp7) {
if (tmp7.minutesUntil <= 16) {
const _HermesInternal = HermesInternal;
const combined = "" + tmp7.rule.ruleId + ":" + tmp7.startAtMs;
if (combined !== combined) {
({ startAtMs, rule } = tmp7);
const intl = tmp5(1236).intl;
const _Date2 = Date;
const date2 = new Date(startAtMs);
let tmp5Result = tmp5(9641);
const items = [tmp5(1895).JS_DAY_TO_DAY_OF_WEEK[date2.getDay(date2)]];
const stringResult = intl.string(importDefault(2255)["0JlDg0"]);
tmp5Result = tmp5(9641);
const _HermesInternal2 = HermesInternal;
const formatDaysResult = tmp5Result.formatDays(items);
const trimmed = "" + tmp5Result.formatDays(items) + " " + tmp5Result.getScheduleRuleDateRange(rule).trim();
const str4 = "" + tmp5Result.formatDays(items) + " " + tmp5Result.getScheduleRuleDateRange(rule);
obj = { type: "RESTRICTED_HOURS_WARNING", title: null, subtitle: null };
obj[1] = stringResult;
obj[2] = trimmed;
importDefault(709).dispatch(obj);
const obj7 = importDefault(709);
}
const _setTimeout2 = setTimeout;
timeout = setTimeout(() => {
let c8 = null;
callback();
}, 60000);
} else {
const _Math = Math;
const _setTimeout = setTimeout;
timeout = setTimeout(() => {
let c8 = null;
callback();
}, Math.max(0, 60 * (tmp7.minutesUntil - 16) * 1000));
}
}
}
function checkAndUpdateModal() {
const result = freshTeenActivityWithMap.isCurrentUserInRestrictedHours();
if (result !== c6) {
c6 = result;
let obj = importDefault(709);
obj = { type: "RESTRICTED_HOURS_STATE_CHANGE", isInRestrictedHours: null };
obj[1] = c6;
obj.dispatch(obj);
const obj3 = require(16211) /* closeRestrictedHoursModal */;
if (c6) {
const result1 = obj3.openRestrictedHoursModal();
} else {
const result2 = obj3.closeRestrictedHoursModal();
}
scheduleUpcomingWarning();
}
}
function handleLogout() {
let c6 = false;
let c9 = null;
importDefault(709).dispatch({ type: "RESTRICTED_HOURS_STATE_CHANGE", isInRestrictedHours: false });
if (null != c8) {
const _clearTimeout = clearTimeout;
clearTimeout(c8);
c8 = null;
}
}
function handleScheduleUpdate() {
const result = freshTeenActivityWithMap.isCurrentUserInRestrictedHours();
if (result === c6) {
scheduleUpcomingWarning();
} else {
c6 = result;
let obj = importDefault(709);
obj = { type: "RESTRICTED_HOURS_STATE_CHANGE", isInRestrictedHours: null };
obj[1] = c6;
obj.dispatch(obj);
const obj3 = require(16211) /* closeRestrictedHoursModal */;
if (c6) {
const result1 = obj3.openRestrictedHoursModal();
} else {
const result2 = obj3.closeRestrictedHoursModal();
}
scheduleUpcomingWarning();
}
}
function handleScreenDowntimeReminderChanged() {
scheduleUpcomingWarning();
}
let c6 = false;
let c7 = null;
let c8 = null;
let c9 = null;
class RestrictedHoursManager extends tmp2 {
constructor() {
applyArgumentsResult = HermesBuiltin.applyArguments(new.target, new.target);
map = new Map();
result = map.set(handleScreenDowntimeReminderChanged, handleScheduleUpdate);
applyArgumentsResult.stores = result.set(handleScreenDowntimeReminderChanged, handleScheduleUpdate);
obj = { POST_CONNECTION_OPEN: handleScheduleUpdate, CURRENT_USER_UPDATE: handleScheduleUpdate, NOTIFICATIONS_SET_SCREEN_DOWNTIME_REMINDER: handleScreenDowntimeReminderChanged, LOGOUT: handleLogout };
applyArgumentsResult.actions = obj;
return applyArgumentsResult;
}
}
const prototype = RestrictedHoursManager.prototype;
prototype["_initialize"] = function _initialize() {
let closure_6 = freshTeenActivityWithMap.isCurrentUserInRestrictedHours();
let obj = importDefault(709);
obj = { type: "RESTRICTED_HOURS_STATE_CHANGE", isInRestrictedHours: closure_6 };
obj.dispatch(obj);
if (closure_6) {
const result = require(16211) /* closeRestrictedHoursModal */.openRestrictedHoursModal();
const obj3 = require(16211) /* closeRestrictedHoursModal */;
}
const interval = setInterval(checkAndUpdateModal, 60000);
scheduleUpcomingWarning();
};
prototype["_terminate"] = function _terminate() {
if (null != c7) {
const _clearInterval = clearInterval;
clearInterval(c7);
c7 = null;
}
if (null != c8) {
const _clearTimeout = clearTimeout;
clearTimeout(c8);
c8 = null;
}
let c9 = null;
const result = require(16211) /* closeRestrictedHoursModal */.closeRestrictedHoursModal();
let c6 = false;
};
const restrictedHoursManager = new RestrictedHoursManager();
let result = require("freshTeenActivityWithMap").fileFinishedImporting("modules/parent_tools/RestrictedHoursManager.tsx");
export default restrictedHoursManager;
export const getCurrentRestrictedHoursState = function getCurrentRestrictedHoursState() {
return freshTeenActivityWithMap.isCurrentUserInRestrictedHours();
};