// Metro module 16127 (f16128). import { useState, useRef, useEffect } from "react"; import { View } from "react-native"; import UserRequiredActionStore from "../../../../stores/UserRequiredActionStore"; import UserStore from "../../../../stores/UserStore"; import { AgeGateAnalyticAction, AgeGateSource } from "../../AgeGateConstants"; import { ExistingUserAgeGateScreens } from "../ExistingUserAgeGateConstants"; import { AnalyticEvents, HelpdeskArticles } from "../../../../Constants"; import { createStyles } from "../../../../design/components/Styles/native/createStyles"; import { useNavigation } from "../../../../design/components/Navigator/native/useNavigation.native"; import { useStateFromStores } from "../../../../_bundle/Module589"; import AnalyticsUtils from "../../../../utils/AnalyticsUtils"; import { intl, t } from "../../../../intl/index.native"; import HelpdeskUtils from "../../../../utils/HelpdeskUtils"; import Module38 from "../../../../_bundle/Module38"; import { submitDateOfBirth } from "../../AgeGateActionCreators"; import ModalActionCreators from "../../../../actions/ModalActionCreators"; import Module3771 from "../../../../_bundle/Module3771"; import isDateValidDateOfBirth from "../../../auth/native/experiment/isDateValidDateOfBirth"; import { SafeAreaPaddingView } from "../../../../components_native/common/SafeAreaView"; import { Text } from "../../../../design/components/Text/native/Text"; import DateInput from "./DateInput"; import { Button } from "../../../../design/components/Button/native/Button.native"; const useStyles = createStyles({ container: { flex: 1, padding: 16, alignItems: "center", justifyContent: "center" }, header: { marginBottom: 8, textAlign: "center" }, body: { textAlign: "center", lineHeight: 20, marginBottom: 16 }, inputGroup: { marginBottom: 16, width: "100%" }, buttonWrapper: { width: "100%" } }); export default function ExistingUserAgeGate(props) { let r4, state2, r91, loading, onChangeDate, ref; let navigation, stateFromStores, c22808_5, state, setState, setState2, stateFromStores2, _submitBirthday2, _submitBirthdayWithAgeConfirmation2; const { onSuccess, onClose, source } = props; navigation = void 0; stateFromStores = void 0; c22808_5 = void 0; state = void 0; setState = void 0; setState2 = void 0; stateFromStores2 = void 0; const submitBirthday2 = function submitBirthday(a0) { return _submitBirthday2.apply(this, arguments); }; _submitBirthday2 = function _submitBirthday() { const r9 = async (c30955_0) => { let r71; let c30955_3; let c30955_4 = 0; let c31788_0, c31788_1; L10: { try { c31788_0 = void 0; Module38(c30955_0 != null, "Cannot submit null birthday."); c31788_0 = false; c30955_4 = 1; setState(null); setState2(true); await submitDateOfBirth(c30955_0, source); c30955_4 = 0; r71 = { shouldShowError: c31788_0 }; } catch ($e) { const r31 = $e; let r7 = r31; c30955_3 = r31; if (c30955_4 !== 0) { while (true) { try { const r79 = c30955_3; c30955_4 = 0; c31788_1 = r79; if (c31788_1.body != null && c31788_1.body.date_of_birth != null) { navigation.push(ExistingUserAgeGateScreens.Blocked, { onClose: ModalActionCreators.pop, underageMessage: c31788_1.body.date_of_birth, existingUser: true }); } else { const r86 = c31788_1; setState((r86 == null ? void 0 : r86.body?.username) != null ? intl.string(t["TGg/2k"]) : c31788_1.message); (0, setState2)(false); c31788_0 = true; } AnalyticsUtils.track(AnalyticEvents.AGE_GATE_ACTION, { source, action: AgeGateAnalyticAction.AGE_GATE_FAILURE }); r71 = { shouldShowError: c31788_0 }; break L10; } catch (r76) { r7 = r76; c30955_3 = r76; if (c30955_4 === 0) { break; } } } } throw r7; } } return r71; }; _submitBirthday2 = r9; return r9.apply(this, arguments); }; _submitBirthdayWithAgeConfirmation2 = function _submitBirthdayWithAgeConfirmation() { const r9 = async () => { L12: { Module38(state != null, "Cannot submit null birthday."); const age = Module3771().diff(state, "years"); if (age < 18) { navigation.push(ExistingUserAgeGateScreens.AgeGateConfirm, { source, onConfirm: () => submitBirthday2(state), age }); break L12; } await submitBirthday2(state); return void 0; } }; _submitBirthdayWithAgeConfirmation2 = r9; return r9.apply(this, arguments); }; const styles = useStyles(); navigation = useNavigation(); stateFromStores = useStateFromStores([UserStore], () => UserStore.getCurrentUser()); const { NSFW_CHANNEL, NSFW_VOICE_CHANNEL, FAMILY_CENTER } = AgeGateSource; const r2 = source === AgeGateSource.NSFW_SERVER || source === AgeGateSource.NSFW_SERVER_INVITE || source === AgeGateSource.NSFW_SERVER_INVITE_EMBED; L12: { r4 = source === FAMILY_CENTER; c22808_5 = r2; [state, onChangeDate] = useState(null); let state2; [state2, setState] = useState(null); [loading, setState2] = useState(false); ref = useRef(null); stateFromStores2 = useStateFromStores([UserRequiredActionStore], () => UserRequiredActionStore.getAction()); useEffect(() => { if (stateFromStores2 != null && onClose != null) { onClose(); } }, [stateFromStores2, onClose]); useEffect(() => { if (stateFromStores?.nsfwAllowed === false && c22808_5) { navigation.push(ExistingUserAgeGateScreens.Pawtect); } else if (stateFromStores?.nsfwAllowed != null) { onSuccess(); } }, [stateFromStores, onSuccess, r2, navigation]); useEffect(() => { AnalyticsUtils.track(AnalyticEvents.AGE_GATE_ACTION, { source, action: AgeGateAnalyticAction.AGE_GATE_OPEN }); }, [source]); if (source !== NSFW_CHANNEL && (source !== NSFW_VOICE_CHANNEL && !r2)) { if (r4) { r91 = intl.string(t.mhUrKS); break L12; } r91 = intl.format(t.EcJBEI, { helpURL: HelpdeskUtils.getArticleURL(HelpdeskArticles.AGE_GATE) }); } else { r91 = intl.format(t.n3QjDE, { helpURL: HelpdeskUtils.getArticleURL(HelpdeskArticles.AGE_GATE) }); } } const r121 = r2 ? intl.string(t["H0SG/g"]) : r4 ? intl.string(t.M7mt7m) : intl.string(t.F8otRo); const isDateValidDateOfBirth2 = isDateValidDateOfBirth(state); const r128 = !isDateValidDateOfBirth2; const error = isDateValidDateOfBirth2 ? state2 : state != null ? intl.string(t.udnqh6) : state2; const r151 = [{r121}, {r91}, , ,]; const props2 = { loading, disabled: null, text: null, onPress: null, grow: true }; if (!loading) { loading = r128; } props2.disabled = loading; props2.text = intl.string(t.PDTjLN); props2.onPress = function submitBirthdayWithAgeConfirmation() { return _submitBirthdayWithAgeConfirmation2.apply(this, arguments); }; r151[3] =