// Metro module 11372 (f11373). import { forwardRef, useEffect, useRef, useCallback } from "react"; import { ScrollView, TouchableOpacity, View } from "react-native"; import { MAX_POLL_QUESTION_LENGTH, POLL_CREATION_DURATION_ACTION_SHEET_KEY } from "../PollsConstants"; import { createStyles } from "../../../design/components/Styles/native/createStyles"; import Module712 from "../../../_bundle/Module712"; import { isAndroid } from "../../../utils/PlatformUtils"; import { AlertModal, AlertActionButton } from "../../../design/components/AlertModal/native/AlertModal.native"; import { intl, t } from "../../../intl/index.native"; import { TextInput } from "../../../design/components/TextInput/native/TextInput.native"; import { Icon } from "../../../design/void/native"; import Module11373 from "../../../_bundle/Module11373"; import { Text } from "../../../design/components/Text/native/Text"; import usePollDurationOptions from "../usePollDurationOptions"; import ActionSheetActionCreators from "../../action_sheet/native/ActionSheetActionCreators"; import { TableRow } from "../../../design/components/TableRow/native/TableRow.native"; import { dismissKeyboard } from "../../../utils/native/ChatInputUtils"; import useTrackImpression from "../../app_analytics/useTrackImpression"; import { ImpressionTypes, ImpressionNames } from "../../../_bundle/Module503"; import useSafeAreaInsetsKeyboardAware_native from "../../safe_area/useSafeAreaInsetsKeyboardAware.native"; import { closeCreatePollModal } from "./PollCreationModalActionCreators"; import ToastActionCreators from "../../toast/native/ToastActionCreators"; import { PollsIcon } from "../../../design/components/Icon/native/redesign/generated/PollsIcon"; import { AccessibilityAnnouncer } from "../../../_bundle/Module3902"; import useCreatePollFormData from "../useCreatePollFormData"; import { useTrackPollCreationEvents } from "../useTrackPollEvents"; import { useNavigatorBackPressHandler } from "../../../design/components/Navigator/native/useNavigatorBackPressHandler.native"; import { isPollCreationEmpty } from "../PollsUtils"; import { openAlert } from "../../../design/components/AlertModal/native/useAlertStore.native"; import useFocusHelper from "./useFocusHelper"; import { HeaderActionButton } from "../../../design/components/Navigator/native/HeaderActionButton.native"; import Module5176 from "../../../_bundle/Module5176"; import ErrorBlock from "../../guild_role_subscriptions/native/components/ErrorBlock"; import { FormLabel } from "../../../design/void/Form/native/index"; import PollAnswerInput from "./PollAnswerInput"; import { TableCheckboxRow } from "../../../design/components/TableRow/native/TableCheckboxRow.native"; let useStyles, Component, AddAnswerButton, PollDurationSelectionRow; const UnsavedChangesAlertModal = function UnsavedChangesAlertModal(props) { const onConfirm = props.onConfirm; return } />; }; AddAnswerButton = function AddAnswerButton(props) { const onPress2 = props.onPress; const styles = useStyles(); const addAnswerButtonDefault = styles.addAnswerButtonDefault; const r24 = ; return {r24} {intl.string(t.B2Uvme)} ; }; PollDurationSelectionRow = function PollDurationSelectionRow(props) { const { selectedDuration, onChange } = props; const r6 = usePollDurationOptions()[selectedDuration]; return {r6}} arrow />; }; useStyles = createStyles({ viewPadding: { paddingHorizontal: 18 }, scrollContainer: { paddingVertical: 20, gap: 16 }, safeAreaContainer: { backgroundColor: Module712.colors.BACKGROUND_BASE_LOW, flex: 1 }, header: { flexDirection: "row", paddingHorizontal: 18, paddingVertical: 10 }, actionButton: { flex: 0, justifyContent: "flex-start", minWidth: 48, paddingHorizontal: 0, marginHorizontal: 0 }, postButton: { justifyContent: "flex-end" }, title: { textAlign: "center", flexGrow: 1 }, label: { fontSize: 14 }, answerInputsContainer: { marginVertical: 20, rowGap: 16 }, addAnswerButtonDefault: { paddingVertical: isAndroid() ? 10 : 8, paddingLeft: 14, marginRight: 30, display: "flex", flexDirection: "row", gap: 16, alignItems: "center", justifyContent: "flex-start", backgroundColor: Module712.colors.MESSAGE_BACKGROUND_HOVER, borderRadius: Module712.radii.lg }, addAnswerIcon: { color: Module712.colors.TEXT_MUTED }, pollConfigSection: { borderTopWidth: 1, borderColor: Module712.colors.INTERACTIVE_BACKGROUND_HOVER } }); Component = forwardRef(function({ onChange: onChange2, onSubmitEditing, error }, a1) { const r2 = error != null && error.length > 0; return ; }); export default function PollCreation(props) { let ref, answers, question, allowMultiSelect, setAllowMultiSelect, canRemoveMoreAnswers, handleAnswerTextChange, handleEmojiSelect, handleAddAnswer, handleRemoveAnswer, handleRemoveAnswerImage, fieldErrors, shouldFocusOnInvalidField, setShouldFocusOnInvalidField, trackPollCreationCancelled, c18787_18; const { channel, onCancel } = props; ref = void 0; answers = void 0; question = void 0; allowMultiSelect = void 0; setAllowMultiSelect = void 0; canRemoveMoreAnswers = void 0; handleAnswerTextChange = void 0; handleEmojiSelect = void 0; handleAddAnswer = void 0; handleRemoveAnswer = void 0; handleRemoveAnswerImage = void 0; fieldErrors = void 0; shouldFocusOnInvalidField = void 0; setShouldFocusOnInvalidField = void 0; trackPollCreationCancelled = void 0; c18787_18 = void 0; const handleCancelClose2 = function handleCancelClose() { trackPollCreationCancelled(); closeCreatePollModal(); AccessibilityAnnouncer.announce(intl.string(t["+G3oRq"])); }; useTrackImpression({ type: ImpressionTypes.VIEW, name: ImpressionNames.POLL_EDITOR_VIEWED }); useEffect(() => () => { if (!ref.current && onCancel != null) { onCancel(); } }, [onCancel]); const styles = useStyles(); const insets = useSafeAreaInsetsKeyboardAware_native({ includeKeyboardHeight: true }).insets; ref = useRef(false); const createPollFormData = useCreatePollFormData(channel, useCallback(() => { ref.current = true; closeCreatePollModal(); ToastActionCreators.open({ key: "POLL_CREATED_SUCCESS", IconComponent: PollsIcon, content: intl.string(t.OPsckI) }); }, []), useCallback((a0) => { AccessibilityAnnouncer.announce(intl.formatToPlainString(t.BByGU4, { number: a0.indexToRemove + 1 })); }, [])); answers = createPollFormData.answers; question = createPollFormData.question; allowMultiSelect = createPollFormData.allowMultiSelect; setAllowMultiSelect = createPollFormData.setAllowMultiSelect; let canAddMoreAnswers = createPollFormData.canAddMoreAnswers; canRemoveMoreAnswers = createPollFormData.canRemoveMoreAnswers; const handleQuestionChange = createPollFormData.handleQuestionChange; handleAnswerTextChange = createPollFormData.handleAnswerTextChange; handleEmojiSelect = createPollFormData.handleEmojiSelect; handleAddAnswer = createPollFormData.handleAddAnswer; handleRemoveAnswer = createPollFormData.handleRemoveAnswer; handleRemoveAnswerImage = createPollFormData.handleRemoveAnswerImage; const handleSubmitPoll = createPollFormData.handleSubmitPoll; fieldErrors = createPollFormData.fieldErrors; const { duration, setDuration, createPollError, submitting } = createPollFormData; shouldFocusOnInvalidField = createPollFormData.shouldFocusOnInvalidField; setShouldFocusOnInvalidField = createPollFormData.setShouldFocusOnInvalidField; trackPollCreationCancelled = useTrackPollCreationEvents(answers, allowMultiSelect).trackPollCreationCancelled; useNavigatorBackPressHandler(() => { let r0; if (isPollCreationEmpty(question, answers)) { trackPollCreationCancelled(); AccessibilityAnnouncer.announce(intl.string(t["+G3oRq"])); r0 = false; } else { openAlert("poll-creation-unsaved-changes", ); r0 = true; } return r0; }); const focusHelper = useFocusHelper({ onAddAnswer: () => { handleAddAnswer(); } }); c18787_18 = focusHelper; useEffect(() => { const r13 = Object.keys(fieldErrors); if (r13.length > 0) { AccessibilityAnnouncer.announce(intl.formatToPlainString(t.w8e4qF, { numOfErrors: r13.length })); if (shouldFocusOnInvalidField) { c18787_18.focus(r13[0]); setShouldFocusOnInvalidField(false); } } }, [fieldErrors, focusHelper, setShouldFocusOnInvalidField, shouldFocusOnInvalidField]); const r152 = [ ); } }} source={Module5176} style={styles.actionButton} /> {intl.string(t.Flr51u)} , , ,]; const r164 = [createPollError != null && {createPollError == null ? void 0 : createPollError.getAnyErrorMessage()} , , ,]; const r191 = [, answers.map((a0, a1) => ), ,]; if (canAddMoreAnswers) { canAddMoreAnswers = ; } r191[2] = canAddMoreAnswers; r164[2] = {r191}; r152[1] = {r164}; r152[2] = setAllowMultiSelect(!allowMultiSelect)} /> ; return <>{r152} ; };