Files
discord-decomp/modules/in_app_notifications/native/RestrictedHoursWarningNotification.tsx
T
2026-11-01 12:12:55 +02:00

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;