46 lines
2.1 KiB
TypeScript
46 lines
2.1 KiB
TypeScript
// Metro module 10379 (f10380).
|
|
import { memo, useMemo, useCallback } from "react";
|
|
import { View } from "react-native";
|
|
import { NOTIFICATION_PREVIEW_LINE_CLAMP } from "./InAppNotificationConstants";
|
|
import { InAppNotificationTypes, UserSettingsSections } from "../../../Constants";
|
|
import { createStyles } from "../../../design/components/Styles/native/createStyles";
|
|
import Module712 from "../../../_bundle/Module712";
|
|
import { ThemeDarkIcon } from "../../../design/components/Icon/native/redesign/generated/ThemeDarkIcon";
|
|
import ModalActionCreators from "../../../actions/ModalActionCreators";
|
|
import InAppNotificationActionCreators from "../../../actions/native/InAppNotificationActionCreators";
|
|
import { openUserSettings } from "../../user_settings/core/native/openUserSettings";
|
|
import { NotificationPressable } from "./Notification";
|
|
import { Text } from "../../../design/components/Text/native/Text";
|
|
const useStyles = createStyles({
|
|
iconContainer: {
|
|
width: 48,
|
|
height: 48,
|
|
backgroundColor: Module712.colors.BACKGROUND_BRAND,
|
|
borderRadius: Module712.radii.round,
|
|
alignItems: "center",
|
|
justifyContent: "center"
|
|
}
|
|
});
|
|
const r44 = memo(function RestrictedHoursWarningNotification(props) {
|
|
const notification = props.notification;
|
|
const styles = useStyles();
|
|
const type = notification.type;
|
|
return <NotificationPressable icon={<View style={styles.iconContainer}>
|
|
<ThemeDarkIcon size="sm" color={Module712.colors.WHITE} />
|
|
</View>} header={useMemo(() => ({
|
|
type: "simple",
|
|
text: notification.title
|
|
}), [notification.title])} onPress={useCallback(() => {
|
|
if (type === InAppNotificationTypes.RESTRICTED_SCHEDULE_UPDATED) {
|
|
ModalActionCreators.popAll();
|
|
InAppNotificationActionCreators.clearNotification();
|
|
}
|
|
openUserSettings({
|
|
screen: UserSettingsSections.FAMILY_CENTER
|
|
});
|
|
}, [type])} notification={notification}>
|
|
<Text variant="redesign/message-preview/medium" color="text-subtle" lineClamp={NOTIFICATION_PREVIEW_LINE_CLAMP}>{notification.subtitle}</Text>
|
|
</NotificationPressable>;
|
|
});
|
|
export default r44;
|