/* 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 = [