/* 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] */;