decord/source/modules/parent_tools/RestrictedHoursManager.tsx
2026-07-21 22:01:30 +00:00

143 lines
4.8 KiB
TypeScript

// Module ID: 15848
// Function ID: 121140
// Name: _isNativeReflectConstruct
// Dependencies: [131079, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 4294967295, 0, 0, 0, 0, 0, 0, 0, 0]
// Module 15848 (_isNativeReflectConstruct)
import tmp2 from "result";
import result from "result";
function _isNativeReflectConstruct() {
let closure_0 = !valueOf.call(Reflect.construct(Boolean, [], () => {
}));
function _isNativeReflectConstruct() {
return closure_0;
}
const result = _isNativeReflectConstruct();
}
function getCurrentRestrictedHoursState() {
return currentUserInRestrictedHours.isCurrentUserInRestrictedHours();
}
function dispatchWarningIfNeeded(rule) {
const combined = "" + rule.rule.ruleId + ":" + rule.startAtMs;
if (combined !== closure_14) {
const startAtMs = rule.startAtMs;
const intl = arg1(dependencyMap[8]).intl;
const _Date = Date;
const date = new Date(startAtMs);
const stringResult = intl.string(importDefault(dependencyMap[9]).0JlDg0);
const items = [arg1(dependencyMap[10]).JS_DAY_TO_DAY_OF_WEEK[date.getDay(date)]];
const obj2 = arg1(dependencyMap[11]);
const formatDaysResult = arg1(dependencyMap[11]).formatDays(items);
const _HermesInternal = HermesInternal;
const obj3 = arg1(dependencyMap[11]);
const trimmed = "" + formatDaysResult + " " + arg1(dependencyMap[11]).getScheduleRuleDateRange(rule.rule).trim();
const str2 = "" + formatDaysResult + " " + arg1(dependencyMap[11]).getScheduleRuleDateRange(rule.rule);
const obj = { type: "RESTRICTED_HOURS_WARNING", title: stringResult, subtitle: trimmed };
importDefault(dependencyMap[12]).dispatch(obj);
closure_14 = combined;
const obj4 = importDefault(dependencyMap[12]);
}
}
function scheduleUpcomingWarning() {
if (null != timeout) {
const _clearTimeout = clearTimeout;
clearTimeout(timeout);
let timeout = null;
}
const date = new Date();
let obj = arg1(dependencyMap[13]);
let tmp5 = null;
if (obj.getIsFamilyCenterV3Enabled({ location: "RestrictedHoursManager" })) {
tmp5 = null;
if (obj.screenDowntimeReminder) {
const currentUser = currentUser.getCurrentUser();
let restrictedSchedule;
if (null != currentUser) {
restrictedSchedule = currentUser.restrictedSchedule;
}
tmp5 = null;
if (null != restrictedSchedule) {
const nextStartInfo = restrictedSchedule.getNextStartInfo(date);
let tmp11 = null;
if (null != nextStartInfo) {
obj = { minutesUntil: nextStartInfo.minutesUntil };
const _Date = Date;
const date1 = new Date(date);
obj.startAtMs = date1.setSeconds(0, 0) + 60 * nextStartInfo.minutesUntil * 1000;
obj.rule = nextStartInfo.rule;
tmp11 = obj;
}
tmp5 = tmp11;
}
}
}
if (null != tmp5) {
if (tmp5.minutesUntil <= 16) {
dispatchWarningIfNeeded(tmp5);
const _setTimeout2 = setTimeout;
timeout = setTimeout(() => {
let closure_13 = null;
callback();
}, 60000);
} else {
const _Math = Math;
const _setTimeout = setTimeout;
timeout = setTimeout(() => {
let closure_13 = null;
callback();
}, Math.max(0, 60 * (tmp5.minutesUntil - 16) * 1000));
}
}
}
function checkAndUpdateModal() {
const tmp = getCurrentRestrictedHoursState();
if (tmp !== closure_11) {
closure_11 = tmp;
let obj = importDefault(dependencyMap[12]);
obj = { type: "RESTRICTED_HOURS_STATE_CHANGE", isInRestrictedHours: closure_11 };
obj.dispatch(obj);
const obj3 = arg1(dependencyMap[14]);
if (closure_11) {
const result = obj3.openRestrictedHoursModal();
} else {
const result1 = obj3.closeRestrictedHoursModal();
}
scheduleUpcomingWarning();
}
}
function handleLogout() {
let closure_11 = false;
let closure_14 = null;
importDefault(dependencyMap[12]).dispatch({});
if (null != closure_13) {
const _clearTimeout = clearTimeout;
clearTimeout(closure_13);
closure_13 = null;
}
}
function handleScheduleUpdate() {
checkAndUpdateModal();
scheduleUpcomingWarning();
}
function handleScreenDowntimeReminderChanged() {
scheduleUpcomingWarning();
}
let closure_3 = importDefault(dependencyMap[0]);
let closure_4 = importDefault(dependencyMap[1]);
let closure_5 = importDefault(dependencyMap[2]);
let closure_6 = importDefault(dependencyMap[3]);
let closure_7 = importDefault(dependencyMap[4]);
let closure_8 = importDefault(dependencyMap[5]);
let closure_9 = importDefault(dependencyMap[6]);
let closure_10 = importDefault(dependencyMap[7]);
let closure_11 = false;
let closure_12 = null;
let closure_13 = null;
let closure_14 = null;
tmp2 = new tmp2();
result = result.fileFinishedImporting("modules/parent_tools/RestrictedHoursManager.tsx");
export default tmp2;
export { getCurrentRestrictedHoursState };