// Metro module 11087 (f11088). import { useState, useEffect, useCallback } from "react"; import { View } from "react-native"; import SafetyHubStore from "../SafetyHubStore"; import { APPEAL_INGESTION_IMPRESSION_PROPERTIES, AppealIngestionSections } from "../SafetyHubConstants"; import { EMPTY_STRING_SNOWFLAKE_ID } from "../../../Constants"; import { createStyles } from "../../../design/components/Styles/native/createStyles"; import Module712 from "../../../_bundle/Module712"; import { Text } from "../../../design/components/Text/native/Text"; import { useStateFromStores } from "../../../_bundle/Module589"; import { useSafetyHubClassification, useSafetyHubAppealSignal } from "../hooks/useSafetyHubClassifications"; import { useNavigation } from "../../../design/components/Navigator/native/useNavigation.native"; import { AppealIngestionType } from "../SafetyHubModels"; import AppealIngestionModalActionCreators from "./AppealIngestionModalActionCreators"; import { requestReview } from "../SafetyHubActionCreators"; import { getRequestReviewErrorFromCode } from "../SafetyHubUtils"; import { SafeAreaPaddingView } from "../../../components_native/common/SafeAreaView"; import { intl, t } from "../../../intl/index.native"; import { Button } from "../../../design/components/Button/native/Button.native"; import { getHeaderCloseButton, getHeaderBackButton } from "../../../design/components/Navigator/native/NavigatorHeader.native"; import AppealIngestionSpeedBump from "./AppealIngestionSpeedBump"; import { ImpressionNames } from "../../../_bundle/Module503"; import AppealIngestionCollectSignal from "./AppealIngestionCollectSignal"; import AppealIngestionConfirmSubmission from "./AppealIngestionConfirmSubmission"; import AppealIngestionRequestSent from "./AppealIngestionRequestSent"; import AppealIngestionThanks from "./AppealIngestionThanks"; import AppealIngestionSpam from "./AppealIngestionSpam"; import useInitialValue from "../../../hooks/useInitialValue"; import { Navigator } from "../../../design/components/Navigator/native/Navigator.native"; const useStyles = createStyles({ container: { flex: 1, backgroundColor: Module712.colors.BACKGROUND_BASE_LOW }, headerContainer: { alignSelf: "stretch", marginTop: 16, marginBottom: 8, paddingHorizontal: 16 }, header: { marginBottom: 8, textAlign: "center" }, subheader: { lineHeight: 20, marginBottom: 8, textAlign: "center" }, separator: { height: 1, backgroundColor: Module712.colors.BORDER_SUBTLE, marginVertical: 24 }, footerContainer: { marginBottom: 16 }, footerText: { marginBottom: 16, textAlign: "center" }, footerButton: { paddingHorizontal: 16 } }); export default function AppealIngestionModal(props) { const classificationId = props.classificationId; const safetyHubClassification = useSafetyHubClassification(classificationId); const isDsaEligible = safetyHubClassification.isDsaEligible; let c18527_1 = safetyHubClassification.classification?.is_spam || false; let c18527_2 = safetyHubClassification.classification?.is_coppa || false; return { const isDsaEligible2 = isDsaEligible; const isSpam = c18527_1; const isCoppa = c18527_2; const r14 = {}; r14[AppealIngestionSections.SPEED_BUMP] = { headerLeft: getHeaderCloseButton(AppealIngestionModalActionCreators.close), headerTitle: () => {void 0} , render: () => , impressionName: ImpressionNames.APPEAL_INGESTION_SPEED_BUMP, impressionProperties: APPEAL_INGESTION_IMPRESSION_PROPERTIES }; r14[AppealIngestionSections.COLLECT_SIGNAL] = { headerLeft: getHeaderBackButton(), headerTitle: () => {void 0} , render: () => , impressionName: ImpressionNames.APPEAL_INGESTION_COLLECT_SIGNAL, impressionProperties: APPEAL_INGESTION_IMPRESSION_PROPERTIES }; r14[AppealIngestionSections.CONFIRM_SUBMISSION] = { headerLeft: getHeaderBackButton(), headerTitle: () => {void 0} , render: () => , impressionName: ImpressionNames.APPEAL_INGESTION_CONFIRM_SUBMISSION, impressionProperties: APPEAL_INGESTION_IMPRESSION_PROPERTIES }; r14[AppealIngestionSections.REQUEST_SENT] = { headerLeft: getHeaderCloseButton(AppealIngestionModalActionCreators.close), headerTitle: () => {void 0} , render: () => , impressionName: ImpressionNames.APPEAL_INGESTION_REQUEST_SENT, impressionProperties: APPEAL_INGESTION_IMPRESSION_PROPERTIES }; r14[AppealIngestionSections.THANKS] = { headerLeft: getHeaderCloseButton(AppealIngestionModalActionCreators.close), headerTitle: () => {void 0} , render: () => , impressionName: ImpressionNames.APPEAL_INGESTION_THANKS, impressionProperties: APPEAL_INGESTION_IMPRESSION_PROPERTIES }; r14[AppealIngestionSections.SPAM] = { headerLeft: getHeaderCloseButton(AppealIngestionModalActionCreators.close), headerTitle: () => {void 0} , render: () => , impressionName: ImpressionNames.APPEAL_INGESTION_SPAM, impressionProperties: APPEAL_INGESTION_IMPRESSION_PROPERTIES }; return r14; })} headerBackTitle={intl.string(t["13/7kX"])} headerTitleAlign="center" />; }; export function AppealIngestionModalHeader(props) { const { headerText, subHeaderText } = props; const styles = useStyles(); return {headerText != null && headerText !== "" && {headerText}} {subHeaderText != null ? subHeaderText.length > 0 ? {subHeaderText} : null : null} ; } export function AppealIngestionModalScreen(props) { let safetyHubAppealSignal, stateFromStores, stateFromStores2, navigation, setState, state, setState2, callback; const children = props.children; safetyHubAppealSignal = void 0; stateFromStores = void 0; stateFromStores2 = void 0; navigation = void 0; setState = void 0; state = void 0; setState2 = void 0; callback = void 0; const styles = useStyles(); const stateFromStores3 = useStateFromStores([SafetyHubStore], () => SafetyHubStore.getIsSubmitting()); safetyHubAppealSignal = useSafetyHubAppealSignal(); stateFromStores = useStateFromStores([SafetyHubStore], () => SafetyHubStore.getFreeTextAppealReason()); stateFromStores2 = useStateFromStores([SafetyHubStore], () => SafetyHubStore.getAppealClassificationId()); const safetyHubClassification = useSafetyHubClassification(stateFromStores2 == null ? EMPTY_STRING_SNOWFLAKE_ID : stateFromStores2); const r51 = safetyHubClassification.classification?.is_spam || false; const r54 = safetyHubClassification.classification?.is_coppa || false; const appeal_ingestion_type = safetyHubClassification.classification?.appeal_ingestion_type; navigation = useNavigation(); const r11 = appeal_ingestion_type != null && appeal_ingestion_type !== AppealIngestionType.IN_APP || r54 || r51; let r65 = !r11; let state2; [state2, setState] = useState(""); [state, setState2] = useState(""); useEffect(() => { let c26939_0 = navigation.addListener("state", () => { setState2(navigation.getState().routes[navigation.getState().routes.length - 1].name); }); return () => { navigation.removeListener("state", c26939_0); }; }, [navigation]); callback = useCallback(() => { if (state === AppealIngestionSections.SPEED_BUMP) { navigation.push(AppealIngestionSections.COLLECT_SIGNAL); } else if (state === AppealIngestionSections.COLLECT_SIGNAL) { navigation.push(AppealIngestionSections.CONFIRM_SUBMISSION); } else if (state === AppealIngestionSections.CONFIRM_SUBMISSION) { navigation.push(AppealIngestionSections.REQUEST_SENT); } else { AppealIngestionModalActionCreators.close(); } }, [navigation, state]); const callback2 = useCallback(async () => { let c26940_2; let c26940_3 = 0; let c30349_0; L13: { try { if (stateFromStores2 !== null) { c26940_3 = 1; setState(""); await requestReview(stateFromStores2, safetyHubAppealSignal, stateFromStores); (0, callback)(); c26940_3 = 0; break L13; } } catch ($e) { const r28 = $e; let r7 = r28; c26940_2 = r28; if (c26940_3 !== 0) { while (true) { try { const r68 = c26940_2; c26940_3 = 0; c30349_0 = r68; setState(getRequestReviewErrorFromCode(c30349_0.body?.code)); break L13; } catch (r64) { r7 = r64; c26940_2 = r64; if (c26940_3 === 0) { break; } } } } throw r7; } return void 0; } }, [stateFromStores2, safetyHubAppealSignal, stateFromStores, callback]); const r91 = [children, ,]; const r98 = [, ,]; if (!r11) { r65 = {state === AppealIngestionSections.CONFIRM_SUBMISSION ? <> {intl.string(t["d6qgY/"])} {state2 !== "" && {state2}}