/* Metro module 11746; source: modules/polls/native/PollAnswerInput.tsx; dependencies: [31, 27, 1379, 4645, 7217, 1881, 33, 4501, 697, 11747, 1244, 7149, 5278, 1305, 8529, 7879, 4080, 11748, 1962, 7951, 7972, 4072, 11751, 2] */ import ChannelStore from '../../../stores/ChannelStore.tsx'; /* Metro dependency 1379 */ import Module07951 from '../../../by-id/module-07951.js'; /* Metro dependency 7951 */ import UseRenderPollAnswerImage from './useRenderPollAnswerImage.tsx'; /* Metro dependency 11747 */ import * as FileImportTrackerModule from '../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as ReactNativeModule from '../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */ import * as ReactModule from '../../../by-id/module-00031-React.js'; /* Metro dependency 31 */ import * as IndexNativeModule from '../../../intl/index.native.tsx'; /* Metro dependency 1244 */ import * as EmojiConstantsModule from '../../emojis/EmojiConstants.tsx'; /* Metro dependency 1881 */ import * as DraftStoreModule from '../../../stores/DraftStore.tsx'; /* Metro dependency 4645 */ import * as PressablesModule from '../../../design/void/Pressables/native/Pressables.tsx'; /* Metro dependency 5278 */ import * as NativeModule from '../../../design/void/Form/native/index.tsx'; /* Metro dependency 7972 */ function _fun90028(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#90028, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11932:6, offset: 0x020271e5, size: 576 bytes, params: 8, frame: 23 const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); let value = ReactNativeModule; const env0_4 = value.Keyboard; const env0_5 = value.TouchableOpacity; const env0_6 = value.View; value = require(7217) /* metro dependency 7217: PollsConstants */; const env0_9 = value.MAX_POLL_ANSWER_LENGTH; const env0_10 = value.POLL_CREATION_IMAGE_INPUT_ACTION_SHEET_KEY; value = require(33) /* metro dependency 33 */; const env0_12 = value.jsx; const env0_13 = value.jsxs; const env0_14 = value.Fragment; value = require(4501) /* metro dependency 4501: createStyles */; const createStyles = value.createStyles; object = {defaultContainer: {'flexDirection': 'row', 'alignItems': 'center'}}; const object2 = {'flexDirection': 'row', 'alignItems': 'center', 'backgroundColor': null, 'borderRadius': null, 'flex': 1, 'overflow': 'hidden'}; const INPUT_BACKGROUND_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.INPUT_BACKGROUND_DEFAULT; object2.backgroundColor = INPUT_BACKGROUND_DEFAULT; object2.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg; object.defaultImageAndTextContainer = object2; object.cannotRemove = {marginRight: 30}; object.defaultImageContainer = {'width': 60, 'height': 48, 'justifyContent': 'center', 'alignItems': 'center'}; object.pollAnswerTextInput = {'flex': 1, 'paddingStart': 0}; const TEXT_MUTED = (importDefault(697) /* metro dependency 697: native */).colors.TEXT_MUTED; object.defaultRemoveButtonContainer = {'paddingLeft': 6, 'height': 48, 'justifyContent': 'center', color: TEXT_MUTED}; object.uploadContainer = {alignItems: 'flex-start'}; const BORDER_FEEDBACK_CRITICAL = (importDefault(697) /* metro dependency 697: native */).colors.BORDER_FEEDBACK_CRITICAL; object.errorInput = {borderColor: BORDER_FEEDBACK_CRITICAL, borderWidth: 2}; const env0_15 = Reflect.apply(createStyles, value, [object]); (FileImportTrackerModule).fileFinishedImporting('modules/polls/native/PollAnswerInput.tsx'); exports.default = PollAnswerInput; function ImageInput({channelId, localCreationAnswerId, image, iconSrc, openExpressionPicker, emojiSize, containerStyle, imageSize, answerIndex, openImageInputActionSheet}) { // fn#90029, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11932:998, offset: 0x02027425, size: 450 bytes, params: 2, frame: 30 emojiSize = emojiSize === undefined ? 24 : emojiSize; const styles = useStyles(); const {renderImage, upload, setUploadSize} = (UseRenderPollAnswerImage)(channelId, localCreationAnswerId, image, imageSize, emojiSize); const setUploadSize2 = setUploadSize; const value5 = setUploadSize2.useMemo(_fun90030, [image, upload, answerIndex]); const value6 = setUploadSize2.useCallback(function(a0) { setUploadSize(a0.nativeEvent.layout.width); }, [setUploadSize]); let r4 = upload != null || image?.emoji != null; const r15 = r4 ? openImageInputActionSheet : openExpressionPicker; const r14 = r4 ? undefined : openImageInputActionSheet; const PressableOpacity = (PressablesModule).PressableOpacity; const r6 = imageSize == null ? value6 : undefined; const items2 = [containerStyle]; items2[1] = upload != null && styles.uploadContainer; if (r4) { r4 = ( {renderImage} ); } else { const Icon = (require(1305) /* metro dependency 1305: native */).Icon; r4 = ; } return ( {r4} ); function _fun90030() { // fn#90030, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11932:1273, offset: 0x020275e7, size: 361 bytes, params: 1, frame: 19 var r8; const intl = (IndexNativeModule).intl; var formatToPlainString; const t = (IndexNativeModule).t; var object; var value5; var vcC7Qn; var value6; if (image?.emoji != null) { value6 = environment.__proto__; return intl.formatToPlainString(t.vcC7Qn, {imageName: image.emoji.name, answerNumber: answerIndex + 1}); } if (upload != null) { r8 = upload.item.filename ?? ''; value5 = environment.__proto__; formatToPlainString = intl.formatToPlainString; vcC7Qn = t.vcC7Qn; object = {}; object.imageName = (require(7149) /* metro dependency 7149: PollsUtils */).filterOutUUID(r8); object.answerNumber = answerIndex + 1; return Reflect.apply(formatToPlainString, intl, [vcC7Qn, object]); } return intl.formatToPlainString(t.ieNrxk, {answerNumber: answerIndex + 1}); } } function PollAnswerInput({answer, index, inputRef, channelId, onAnswerTextChange, onAnswerEmojiSelect, canRemoveAnswer, onRemoveAnswer, onRemoveAnswerImage, onSubmitEditing, error}) { // fn#90032, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11932:2039, offset: 0x02027750, size: 1002 bytes, params: 2, frame: 37 var r10; var object2; var defaultRemoveButtonContainer; var Icon; var value; const styles = useStyles(); const image = answer.image; let localCreationAnswerId = answer.localCreationAnswerId; const closure = function() { var value3 = ChannelStore.getChannel(channelId); if (value3 != null) { Keyboard.dismiss(); require(dependencyMap[14]).openEmojiPickerActionSheet({channel: value3, onPressEmoji: _fun90034, pickerIntention: EmojiIntention.POLLS, startExpanded: false, autoFocus: false}); } }; const handleSaveAltText = function(a0) { var defaultImport = importDefault(dependencyMap[15]); var channelIdBinding = channelId; var localCreationAnswerId = answer.localCreationAnswerId; var Poll = DraftType.Poll; defaultImport.update(channelIdBinding, localCreationAnswerId, Poll, {description: a0}); }; let r5 = error != null && error.length > 0; const jsxRuntimeEnv0_14Binding = jsxRuntimeEnv0_14; const items3 = [styles.defaultContainer]; items3[1] = !canRemoveAnswer && styles.cannotRemove; const items2 = [styles.defaultImageAndTextContainer]; items2[1] = r5 && styles.errorInput; const imageInput = ( ); const FormInput = (NativeModule).FormInput; const formInputProps = {'ref': null, 'textAlignVertical': 'center', 'showTopContainer': false, 'showBorder': false, ref: inputRef}; const intl = (require(1244) /* metro dependency 1244: indexNative */).intl; const string = intl.string; const NNHVlv = (require(1244) /* metro dependency 1244: indexNative */).t.NNHVlv; formInputProps.placeholder = Reflect.apply(string, intl, [NNHVlv]); formInputProps.onChange = function(a0) { return onAnswerTextChange({text: a0, index: index, localCreationAnswerId: localCreationAnswerId}); }; formInputProps.onSubmitEditing = onSubmitEditing; formInputProps.blurOnSubmit = false; formInputProps.style = styles.pollAnswerTextInput; formInputProps.textContentType = 'none'; formInputProps.accessibilityLabel = intl.formatToPlainString((require(1244) /* metro dependency 1244: indexNative */).t['3+V8G9'], {answerNumber: index + 1}); formInputProps.accessibilityHint = r5 ? intl.formatToPlainString((require(1244) /* metro dependency 1244: indexNative */).t.jnq5Ho, {errorMessage: error}) : undefined; formInputProps.maxLength = MAX_POLL_ANSWER_LENGTH; formInputProps.returnKeyType = 'next'; formInputProps.required = true; formInputProps.autoCorrect = true; formInputProps['aria-invalid'] = error; const view = ( {imageInput} ); if (canRemoveAnswer) { object2 = {onPress: function() { return onRemoveAnswer(index); }, accessibilityRole: 'button'}; defaultRemoveButtonContainer = styles.defaultRemoveButtonContainer; object2.style = defaultRemoveButtonContainer; object2.accessibilityLabel = intl.formatToPlainString((require(1244) /* metro dependency 1244: indexNative */).t['22fjEc'], {answerNumber: index + 1}); Icon = (require(1305) /* metro dependency 1305: native */).Icon; var iconProps = {size: (require(1305) /* metro dependency 1305: native */).Icon.Sizes.MEDIUM, source: importDefault(4072) /* metro dependency 4072 */}; defaultRemoveButtonContainer = styles.defaultRemoveButtonContainer; iconProps.color = defaultRemoveButtonContainer.color; r10 = ( ); } else { r10 = canRemoveAnswer; } const view2 = ( {view} {r10} ); if (r5) { value = importDefault(11751) /* metro dependency 11751: PollCreationInputError */; value = ((Component) => )(value); r5 = value; } return ( <> {view2} {r5} ); function openExpressionPicker() { // fn#90033, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11932:2300, owner: PollAnswerInput.openExpressionPicker, offset: 0x02027b3a, size: 128 bytes, params: 1, frame: 13 const channel = ChannelStore.getChannel(channelId); if (channel != null) { Keyboard.dismiss(); (require(8529) /* metro dependency 8529: openEmojiPickerActionSheet */).openEmojiPickerActionSheet({channel: channel, onPressEmoji: function(a0) { onAnswerEmojiSelect(a0, index); }, pickerIntention: EmojiIntention.POLLS, startExpanded: false, autoFocus: false}); } function openExpressionPickerOnPressEmoji(a0) { // fn#90034, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11932:2409, owner: PollAnswerInput.openExpressionPicker.onPressEmoji, offset: 0x02027bba, size: 24 bytes, params: 2, frame: 13 onAnswerEmojiSelect(a0, index); } } function openImageInputActionSheet() { // fn#90036, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11932:2869, owner: PollAnswerInput.openImageInputActionSheet, offset: 0x02027c21, size: 135 bytes, params: 1, frame: 18 const defaultImport = importDefault(dependencyMap[16]); defaultImport.openLazy(require(dependencyMap[18])(dependencyMap[17], dependencyMap.paths), POLL_CREATION_IMAGE_INPUT_ACTION_SHEET_KEY, {channelId: channelId, index: index, answer: answer, onSaveAltText: handleSaveAltText, onRemoveAnswerImage: onRemoveAnswerImage, openExpressionPicker: openExpressionPicker}); } } } global.__d(_fun90028, 11746, [31, 27, 1379, 4645, 7217, 1881, 33, 4501, 697, 11747, 1244, 7149, 5278, 1305, 8529, 7879, 4080, 11748, 1962, 7951, 7972, 4072, 11751, 2]) /* metro module 11746, dependencies: [31, 27, 1379, 4645, 7217, 1881, 33, 4501, 697, 11747, 1244, 7149, 5278, 1305, 8529, 7879, 4080, 11748, 1962, 7951, 7972, 4072, 11751, 2] */;