/* Metro module 13447; source: modules/parent_tools/native/ScheduleDowntimeScreen.tsx; dependencies: [5, 57, 31, 27, 1878, 661, 33, 4080, 9066, 1962, 4501, 697, 1305, 4572, 4573, 1244, 2224, 1484, 7032, 10909, 632, 13448, 13449, 4071, 6231, 6808, 6238, 6618, 4578, 2] */
import Module00005 from '../../../by-id/module-00005.js'; /* Metro dependency 5 */
import Module00057 from '../../../by-id/module-00057.js'; /* Metro dependency 57 */
import Native from '../../../external/discord_common/js/packages/tokens/native.tsx'; /* Metro dependency 697 */
import UserStore from '../../../stores/UserStore.tsx'; /* Metro dependency 1878 */
import FamilyCenterMessages from '../FamilyCenter.messages.js'; /* Metro dependency 2224 */
import UseTimeValue from '../hooks/useTimeValue.tsx'; /* Metro dependency 13448 */
import * as FileImportTrackerModule from '../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as UseStateFromStoresModule from '../../../external/discord_common/js/packages/flux/useStateFromStores.tsx'; /* Metro dependency 632 */
import * as ConstantsModule from '../../../Constants.tsx'; /* Metro dependency 661 */
import * as IndexNativeModule from '../../../intl/index.native.tsx'; /* Metro dependency 1244 */
import * as UseNavigationNativeModule from '../../../design/components/Navigator/native/useNavigation.native.tsx'; /* Metro dependency 1484 */
import * as TrashIconModule from '../../../design/components/Icon/native/redesign/generated/TrashIcon.tsx'; /* Metro dependency 4071 */
import * as TextModule from '../../../design/components/Text/native/Text.tsx'; /* Metro dependency 4573 */
import * as ButtonNativeModule from '../../../design/components/Button/native/Button.native.tsx'; /* Metro dependency 4578 */
import * as TableRowGroupNativeModule from '../../../design/components/TableRow/native/TableRowGroup.native.tsx'; /* Metro dependency 6231 */
import * as TableRowNativeModule from '../../../design/components/TableRow/native/TableRow.native.tsx'; /* Metro dependency 6238 */
import * as UseSettingNavigationRouteModule from '../../user_settings/core/native/useSettingNavigationRoute.tsx'; /* Metro dependency 7032 */
import * as FamilyCenterRestrictedHoursUtilsModule from '../FamilyCenterRestrictedHoursUtils.tsx'; /* Metro dependency 10909 */
function _fun102246(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#102246, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13637:6, offset: 0x022340c2, size: 700 bytes, params: 8, frame: 22
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = ReactNativeModule;
const env0_6 = value.View;
const env0_7 = value.Pressable;
const env0_8 = value.ScrollView;
value = require(33) /* metro dependency 33 */;
const env0_11 = value.jsx;
const env0_12 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
object = {};
object.container = {flex: 1};
const object3 = {};
let PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object3.paddingHorizontal = PX_16;
let PX_24 = (importDefault(697) /* metro dependency 697: native */).space.PX_24;
object3.paddingTop = PX_24;
PX_24 = (importDefault(697) /* metro dependency 697: native */).space.PX_24;
object3.gap = PX_24;
object.scrollContent = object3;
let PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object.section = {gap: PX_8};
const PX_4 = (importDefault(697) /* metro dependency 697: native */).space.PX_4;
object.sectionHeader = {gap: PX_4};
PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object.daysContainer = {flexDirection: 'row', gap: PX_8};
const object7 = {'flex': 1, 'aspectRatio': 1, 'borderRadius': null, 'alignItems': 'center',
'justifyContent': 'center', 'backgroundColor': null, 'borderWidth': 1, 'borderColor': 'transparent'};
object7.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round;
const REDESIGN_BUTTON_TERTIARY_BACKGROUND = (importDefault(697) /* metro dependency 697: native */).colors.REDESIGN_BUTTON_TERTIARY_BACKGROUND;
object7.backgroundColor = REDESIGN_BUTTON_TERTIARY_BACKGROUND;
object.dayButton = object7;
object.dayButtonSelected = {'backgroundColor': 'rgba(88, 101, 242, 0.16)', 'borderColor': 'rgba(88, 101, 242, 1)'};
PX_24 = (importDefault(697) /* metro dependency 697: native */).space.PX_24;
object.overlapWarningContent = {marginTop: PX_24};
const object8 = {};
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object8.paddingHorizontal = PX_16;
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object8.paddingVertical = PX_16;
PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object8.gap = PX_8;
object.footer = object8;
const env0_13 = Reflect.apply(createStyles, value, [object]);
(FileImportTrackerModule).fileFinishedImporting('modules/parent_tools/native/ScheduleDowntimeScreen.tsx');
exports.default = ScheduleDowntimeScreen;
function openTimePicker(a0, a1, {hours, minutes}, a3) { // fn#102247, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13637:246, offset: 0x0223437e, size: 178 bytes, params: 5, frame: 27
const env0_0 = a3;
const defaultImport = importDefault(dependencyMap[7]);
const openLazy = defaultImport.openLazy;
let value = require(dependencyMap[9]);
value = value(dependencyMap[8], dependencyMap.paths);
const Date = global.Date;
const value2 = Object.create(Date.prototype, {constructor: {value: Date}});
const date = new Date(2025, 0, 1, hours, minutes, 0, 0);
Reflect.apply(openLazy, defaultImport, [value, a0, {title: a1, mode: 'time',
startDate: date instanceof Object ? date : value2, onSubmit: function(a0) {
return importAll({hours: a0.hours(), minutes: a0.minutes()});
}}]);
}
function OverlappingSchedulesWarning({conflictingEntries}) { // fn#102249, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13637:1250, offset: 0x02234463, size: 333 bytes, params: 2, frame: 29
var r0;
var HelpMessage;
if (conflictingEntries.length === 0) {
r0 = null;
} else {
HelpMessage = (require(1305) /* metro dependency 1305: native */).HelpMessage;
r0 = (
{((Stack) => {((Text) => {(require(1244) /* metro dependency 1244: indexNative */).intl.string((importDefault(2224) /* metro dependency 2224: FamilyCenterMessages */)['26A0Df'])})((require(4573) /* metro dependency 4573: Text */).Text)}{((Stack) => {conflictingEntries.map(_fun102250)})((require(4572) /* metro dependency 4572: StackNative */).Stack)})((require(4572) /* metro dependency 4572: StackNative */).Stack)}
);
}
return r0;
function _fun102250({dayLabel, timeRange}) { // fn#102250, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13637:1624, offset: 0x022345b0, size: 104 bytes, params: 2, frame: 19
const Text = (TextModule).Text;
return (
{'' + dayLabel + ' ' + timeRange}
);
}
}
function ScheduleDowntimeScreen() { // fn#102251, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:13637:1828, offset: 0x02234618, size: 2755 bytes, params: 1, frame: 56
var object12;
var r9;
var r7;
var r0;
var object;
var minutes;
var object2;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const Text = (TextModule).Text;
var string;
var items8;
const TableRowGroup = (TableRowGroupNativeModule).TableRowGroup;
var object3;
var section;
var items2;
const TableRow = (TableRowNativeModule).TableRow;
var object7;
var items3;
var object8;
var object9;
var items4;
var items5;
var items6;
var SafeAreaPaddingView;
const Button = (ButtonNativeModule).Button;
var defaultImport3;
var items7;
const value2 = undefined;
const styles = useStyles();
const value3 = (UseNavigationNativeModule).useStackNavigation();
const useSettingNavigationRoute = UseSettingNavigationRouteModule.useSettingNavigationRoute;
const params = Reflect.apply(useSettingNavigationRoute, UseSettingNavigationRouteModule, []).params;
const value4 = null;
const rule = value4 == params ? value2 : params.rule;
let binding = teenId2;
const env0_3 = binding.useMemo(_fun102252, []);
const value5 = binding.useMemo(_fun102253, []);
const env0_4 = value5;
const teenId = value4 == params ? value2 : params.teenId;
var teenId2 = teenId;
const value6 = value4 != rule;
binding = teenId2;
let useState = binding.useState;
const enabled = value4 == rule ? value2 : rule.enabled;
const value9 = env0_4(Reflect.apply(useState, binding, [value4 == enabled || enabled]), 2);
const value10 = 0;
const property = value9[value10];
const env0_8 = value9[1];
const value11 = (UseStateFromStoresModule).useStateFromStores([UserStore],
_fun102254);
const defaultImport = UseTimeValue;
let startTime = value4 == rule ? value2 : rule.startTime;
if (value4 != startTime) {
object = {};
startTime = rule.startTime;
object.hours = startTime.hours;
startTime = rule.startTime;
minutes = startTime.minutes;
object.minutes = value4 != minutes ? minutes : value10;
object.seconds = value10;
object.nanos = value10;
r9 = object;
} else {
r9 = value4;
}
const value13 = env0_4(defaultImport({initial: r9, defaultValue: {'hours': 22, 'minutes': 0}}), 2);
const property2 = value13[value10];
const env0_11 = value13[1];
const defaultImport2 = defaultImport;
let endTime = value4 == rule ? value2 : rule.endTime;
if (value4 != endTime) {
object2 = {};
endTime = rule.endTime;
object2.hours = endTime.hours;
endTime = rule.endTime;
minutes = endTime.minutes;
object2.minutes = value4 != minutes ? minutes : value10;
object2.seconds = value10;
object2.nanos = value10;
r7 = object2;
} else {
r7 = value4;
}
const value15 = env0_4(defaultImport2({initial: r7, defaultValue: {'hours': 7, 'minutes': 0}}), 2);
const property3 = value15[value10];
const env0_13 = value15[1];
binding = teenId2;
useState = binding.useState;
const Set = global.Set;
const days = value4 == rule ? value2 : rule.days;
const value16 = Object.create(Set.prototype, {constructor: {value: Set}});
const set = new Set(days);
const value18 = Reflect.apply(useState, binding, [set instanceof Object ? set : value16]);
binding = env0_4;
const value19 = binding(value18, 2);
const property4 = value19[value10];
const env0_15 = value19[1];
const binding2 = teenId2;
useState = binding2.useState;
const value20 = binding(Reflect.apply(useState, binding2, [false]), 2);
const property5 = value20[value10];
const env0_17 = value20[1];
const value21 = binding2.useMemo(_fun102255, [value6, value4 == rule ? value2 : rule.ruleId, value11]);
binding = teenId2;
const value22 = binding.useMemo(_fun102257, [value5, value21, property4]);
const useCallback = binding.useCallback;
teenId2.useLayoutEffect(_fun102260, [value3, value6, Reflect.apply(useCallback, binding, [env0_3(_fun102259),
[teenId, value4 == rule ? value2 : rule.ruleId, value3]]), property5]);
const value25 = (require(10909) /* metro dependency 10909: FamilyCenterRestrictedHoursUtils */).timeToMinutes(property2);
const value26 = (require(10909) /* metro dependency 10909: FamilyCenterRestrictedHoursUtils */).timeToMinutes(property3);
const value27 = _fun102262();
object12 = {startTime: (require(10909) /* metro dependency 10909: FamilyCenterRestrictedHoursUtils */).formatTime(property2),
endTime: (require(10909) /* metro dependency 10909: FamilyCenterRestrictedHoursUtils */).formatTime(property3),
timeHook: timeHook};
if (value4 == teenId) {
r0 = value4;
} else {
var viewBindingProps = {style: styles.container};
var viewBindingProps2 = {style: styles.scrollContent};
string = intl.string;
items8 = [
{Reflect.apply(string, intl,
[(importDefault(2224) /* metro dependency 2224: FamilyCenterMessages */).AcJ4ke])}
,
];
items8[1] = value6 && {((TableSwitchRow) => )((require(6808) /* metro dependency 6808: TableSwitchRowNative */).TableSwitchRow)};
object3 = {};
section = styles.section;
object3.style = section;
string = intl.string;
items2 = [
{Reflect.apply(string, intl,
[(importDefault(2224) /* metro dependency 2224: FamilyCenterMessages */)['37z4a2']])}
,
];
items3 = [
{(require(10909) /* metro dependency 10909: FamilyCenterRestrictedHoursUtils */).formatTime(property2)}
}
arrow
onPress={onPress_102269}
/>,
];
items3[1] = (
{(require(10909) /* metro dependency 10909: FamilyCenterRestrictedHoursUtils */).formatTime(property3)}
}
arrow
onPress={onPress_102271}
/>
);
items2[1] = (
{items3}
);
items8[2] = (
{items2}
);
object9 = {};
section = styles.section;
object9.style = section;
var viewBinding2Props = {style: styles.sectionHeader};
string = intl.string;
items4 = [
{Reflect.apply(string, intl,
[(importDefault(2224) /* metro dependency 2224: FamilyCenterMessages */).HaV0Sg])}
,
];
items4[1] = (
{value25 > value26 ? intl.format((importDefault(2224) /* metro dependency 2224: FamilyCenterMessages */).R87Y2K,
object12) : intl.format((importDefault(2224) /* metro dependency 2224: FamilyCenterMessages */).vX7xid,
object12)}
);
items5 = [
{items4}
,
];
items5[1] = (
{(require(10909) /* metro dependency 10909: FamilyCenterRestrictedHoursUtils */).DAYS_ORDERED.map(_fun102272)}
);
items5[2] = value22.conflictingEntries.length > value10 && ;
items8[3] = (
{items5}
);
items6 = [
{items8}
,
];
SafeAreaPaddingView = (require(6618) /* metro dependency 6618: SafeAreaView */).SafeAreaPaddingView;
var viewBinding4Props = {style: styles.footer};
string = intl.string;
defaultImport3 = importDefault(2224) /* metro dependency 2224: FamilyCenterMessages */;
items7 = [