58 lines
2.5 KiB
TypeScript
58 lines
2.5 KiB
TypeScript
// Metro module 14913 (f14914).
|
|
import { useCallback } from "react";
|
|
import { Image as Image2, View } from "react-native";
|
|
import { PermissionStateType } from "../../../../../stores/native/PushNotificationPermissionStore";
|
|
import { EventActionLocation, EventActionType } from "./NotificationPermissionConstants";
|
|
import { AnalyticEvents } from "../../../../../Constants";
|
|
import { createStyles } from "../../../../../design/components/Styles/native/createStyles";
|
|
import Module712 from "../../../../../_bundle/Module712";
|
|
import { requestPushNotificationPermission, enableProvisionalPushNotification } from "../../NotificationPermissionUtil";
|
|
import AnalyticsUtils from "../../../../../utils/AnalyticsUtils";
|
|
import { setPushPermissionState } from "../../../../../actions/native/PushNotificationActionCreators";
|
|
import NewUserPermissionsOnboarding_android from "../NewUserPermissionsOnboarding.android";
|
|
import Module14914 from "../../../../../_bundle/Module14914";
|
|
import { intl, t } from "../../../../../intl/index.native";
|
|
let useStyles;
|
|
const RedesignNotificationModal = function RedesignNotificationModal(props) {
|
|
const onComplete = props.onComplete;
|
|
const styles = useStyles();
|
|
return <View style={styles.container}>
|
|
<NewUserPermissionsOnboarding_android onAllow={useCallback(() => {
|
|
requestPushNotificationPermission(EventActionType.ALLOW_TO_REQUEST, EventActionLocation.ALERT, () => {
|
|
if (onComplete != null) {
|
|
onComplete();
|
|
}
|
|
});
|
|
}, [onComplete])} onDontAllow={useCallback(() => {
|
|
AnalyticsUtils.track(AnalyticEvents.NOTIFICATION_PERMISSION_PREPROMPT_ACKED, {
|
|
action_type: EventActionType.SKIP_STEP,
|
|
action_location: EventActionLocation.ALERT
|
|
});
|
|
setPushPermissionState(PermissionStateType.PROMPT_SKIPPED);
|
|
enableProvisionalPushNotification();
|
|
if (onComplete != null) {
|
|
onComplete(true);
|
|
}
|
|
}, [onComplete])} header={<Image2 resizeMode="contain" style={styles.notificationHeaderImage} source={Module14914} />} title={intl.string(t["3nx0b5"])} subtitle={intl.string(t.Gf7U1T)} />
|
|
</View>;
|
|
};
|
|
useStyles = createStyles({
|
|
container: {
|
|
flex: 1,
|
|
backgroundColor: Module712.colors.BACKGROUND_BASE_LOW,
|
|
marginTop: -Module712.space.PX_48
|
|
},
|
|
notificationHeaderImage: {
|
|
position: "absolute",
|
|
alignSelf: "center",
|
|
zIndex: 2,
|
|
top: -140,
|
|
height: 156,
|
|
width: 150
|
|
}
|
|
});
|
|
export default RedesignNotificationModal;
|
|
export function RedesignNotificationScreen(props) {
|
|
return <RedesignNotificationModal onComplete={props.route.params.onComplete} />;
|
|
}
|