59 lines
2.6 KiB
TypeScript
59 lines
2.6 KiB
TypeScript
// Metro module 13963 (f13964).
|
|
import { View } from "react-native";
|
|
import { UserSettingsSections } from "../../../Constants";
|
|
import { createStyles } from "../../../design/components/Styles/native/createStyles";
|
|
import Module712 from "../../../_bundle/Module712";
|
|
import { getScheduleRuleDateRange, formatDays, sortRulesByStartTime } from "../FamilyCenterRestrictedHoursUtils";
|
|
import { TableRow } from "../../../design/components/TableRow/native/TableRow.native";
|
|
import { Text } from "../../../design/components/Text/native/Text";
|
|
import { intl } from "../../../intl/index.native";
|
|
import FamilyCenter_messages from "../FamilyCenter.messages";
|
|
import { useSelectedTeenUser } from "../hooks/useSelectedTeenUser";
|
|
import { useNavigation } from "../../../design/components/Navigator/native/useNavigation.native";
|
|
import { TableRowGroup } from "../../../design/components/TableRow/native/TableRowGroup.native";
|
|
let useStyles;
|
|
const ScheduleRuleRow = function ScheduleRuleRow(props) {
|
|
const { rule, teenId, navigation, readOnly: readOnly2 = false } = props;
|
|
return <TableRow label={getScheduleRuleDateRange(rule)} subLabel={formatDays(rule.days)} trailing={<Text variant="text-sm/medium" color="text-subtle">
|
|
{rule.enabled ? intl.string(FamilyCenter_messages["8vDHRq"]) : intl.string(FamilyCenter_messages["4z9fN+"])}
|
|
</Text>} arrow={!readOnly2} onPress={readOnly2 ? void 0 : () => navigation.navigate(UserSettingsSections.FAMILY_CENTER_SCHEDULE_DOWNTIME, {
|
|
teenId,
|
|
rule: {
|
|
...rule
|
|
}
|
|
})} />;
|
|
};
|
|
useStyles = createStyles({
|
|
header: {
|
|
paddingTop: Module712.space.PX_24
|
|
},
|
|
container: {
|
|
paddingHorizontal: Module712.space.PX_16,
|
|
gap: Module712.space.PX_8
|
|
}
|
|
});
|
|
export default function FamilyCenterParentalControlsScreenTime(props) {
|
|
let readOnly2 = props.readOnly;
|
|
if (readOnly2 === void 0) {
|
|
readOnly2 = false;
|
|
}
|
|
const readOnly = readOnly2;
|
|
const styles = useStyles();
|
|
const selectedTeenUser = useSelectedTeenUser();
|
|
const navigation2 = useNavigation();
|
|
const id = selectedTeenUser?.id;
|
|
let r6 = selectedTeenUser == null ? void 0 : selectedTeenUser.restrictedSchedule?.rules;
|
|
if (r6 == null) {
|
|
r6 = [];
|
|
}
|
|
const r12 = sortRulesByStartTime(r6);
|
|
return id == null ? null : <View style={styles.container}>
|
|
<Text variant="text-sm/semibold" color="text-subtle" style={styles.header}>
|
|
{intl.string(FamilyCenter_messages["72CmJd"])}
|
|
</Text>
|
|
<TableRowGroup hasIcons={false}>
|
|
{r12.map((item) => <ScheduleRuleRow key={item.ruleId} rule={item} teenId={id} navigation={navigation2} readOnly={readOnly} />)}
|
|
</TableRowGroup>
|
|
</View>;
|
|
};
|