Files
discord-decomp/modules/nuf/native/components/notification/NotificationReactivationActionSheet.tsx
T
2026-11-01 12:12:55 +02:00

69 lines
2.8 KiB
TypeScript

// Metro module 16282 (f16283).
import { useCallback } from "react";
import { Image as Image2, View } from "react-native";
import { EventActionType } from "./NotificationPermissionConstants";
import { AnalyticEvents } from "../../../../../Constants";
import { createStyles } from "../../../../../design/components/Styles/native/createStyles";
import Module712 from "../../../../../_bundle/Module712";
import AnalyticsUtils from "../../../../../utils/AnalyticsUtils";
import { requestPushNotificationPermission } from "../../NotificationPermissionUtil";
import ActionSheetActionCreators from "../../../../action_sheet/native/ActionSheetActionCreators";
import { BottomSheet } from "../../../../../design/components/Sheet/native/BottomSheet.native";
import Module16283 from "../../../../../_bundle/Module16283";
import { Text } from "../../../../../design/components/Text/native/Text";
import { intl, t } from "../../../../../intl/index.native";
import { ButtonGroup } from "../../../../../design/components/ButtonGroup/native/ButtonGroup.native";
import { Button } from "../../../../../design/components/Button/native/Button.native";
const useStyles = createStyles({
container: {
marginHorizontal: Module712.space.PX_24,
alignItems: "center"
},
image: {
marginVertical: Module712.space.PX_24,
height: 120
},
title: {
textAlign: "center"
},
subtitle: {
textAlign: "center",
marginTop: Module712.space.PX_8
},
buttons: {
marginTop: Module712.space.PX_8
}
});
export default function NotificationReactivationActionSheet(props) {
const location2 = props.location;
const styles = useStyles();
const callback = useCallback(() => {
requestPushNotificationPermission(EventActionType.ALLOW_TO_REQUEST, location2, () => {
ActionSheetActionCreators.hideActionSheet();
});
}, [location2]);
const callback2 = useCallback(() => {
AnalyticsUtils.track(AnalyticEvents.NOTIFICATION_PERMISSION_PREPROMPT_ACKED, {
action_type: EventActionType.SKIP_STEP,
action_location: location2,
permission_granted: void 0
});
ActionSheetActionCreators.hideActionSheet();
}, [location2]);
return <BottomSheet>
<View style={styles.container}>
<Image2 style={styles.image} source={Module16283} resizeMode="contain" />
<Text style={styles.title} variant="heading-xl/bold" accessibilityRole="header">
{intl.string(t.a4bgO0)}
</Text>
<Text style={styles.subtitle} variant="text-sm/medium" color="text-default">
{intl.string(t["rW5gw/"])}
</Text>
<ButtonGroup style={styles.buttons}>
<Button text={intl.string(t.a4bgO0)} onPress={callback} />
<Button text={intl.string(t["/L3kom"])} onPress={callback2} variant="secondary" />
</ButtonGroup>
</View>
</BottomSheet>;
};