216 lines
12 KiB
TypeScript
216 lines
12 KiB
TypeScript
/* 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] */
|
|
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
|
|
var object3;
|
|
const env0_0 = require;
|
|
const Object = global.Object;
|
|
Object.defineProperty(exports, '__esModule', {value: true});
|
|
const env0_3 = importAll(31) /* metro dependency 31 */;
|
|
let value = require(27) /* metro dependency 27 */;
|
|
const env0_4 = value.Keyboard;
|
|
const env0_5 = value.TouchableOpacity;
|
|
const env0_6 = value.View;
|
|
const channelStore = importDefault(1379) /* metro dependency 1379: ChannelStore */;
|
|
const env0_8 = (require(4645) /* metro dependency 4645: DraftStore */).DraftType;
|
|
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;
|
|
const env0_11 = (require(1881) /* metro dependency 1881: EmojiConstants */).EmojiIntention;
|
|
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;
|
|
object3 = {defaultContainer: {'flexDirection': 'row', 'alignItems': 'center'}};
|
|
const object4 = {'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;
|
|
object4.backgroundColor = INPUT_BACKGROUND_DEFAULT;
|
|
object4.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg;
|
|
object3.defaultImageAndTextContainer = object4;
|
|
object3.cannotRemove = {marginRight: 30};
|
|
object3.defaultImageContainer = {'width': 60, 'height': 48, 'justifyContent': 'center', 'alignItems': 'center'};
|
|
object3.pollAnswerTextInput = {'flex': 1, 'paddingStart': 0};
|
|
const TEXT_MUTED = (importDefault(697) /* metro dependency 697: native */).colors.TEXT_MUTED;
|
|
object3.defaultRemoveButtonContainer = {'paddingLeft': 6, 'height': 48, 'justifyContent': 'center',
|
|
color: TEXT_MUTED};
|
|
object3.uploadContainer = {alignItems: 'flex-start'};
|
|
const BORDER_FEEDBACK_CRITICAL = (importDefault(697) /* metro dependency 697: native */).colors.BORDER_FEEDBACK_CRITICAL;
|
|
object3.errorInput = {borderColor: BORDER_FEEDBACK_CRITICAL, borderWidth: 2};
|
|
const env0_15 = Reflect.apply(createStyles, value, [object3]);
|
|
(require(2) /* metro dependency 2 */).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} = (importDefault(11747) /* metro dependency 11747: useRenderPollAnswerImage */)(channelId,
|
|
localCreationAnswerId, image, imageSize, emojiSize);
|
|
const env0_3 = setUploadSize;
|
|
const value5 = env0_3.useMemo(_fun90030, [image, upload, answerIndex]);
|
|
const value6 = env0_3.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 = (require(5278) /* metro dependency 5278: Pressables */).PressableOpacity;
|
|
const r6 = imageSize == null ? value6 : undefined;
|
|
const items2 = [containerStyle];
|
|
items2[1] = upload != null && styles.uploadContainer;
|
|
if (r4) {
|
|
r4 = <View>{renderImage}</View>;
|
|
} else {
|
|
const Icon = (require(1305) /* metro dependency 1305: native */).Icon;
|
|
r4 = <Icon source={iconSrc} />;
|
|
}
|
|
return (
|
|
<PressableOpacity
|
|
accessibilityRole="button"
|
|
accessibilityLabel={value5}
|
|
onPress={r15}
|
|
onLongPress={r14}
|
|
onLayout={r6}
|
|
style={items2}
|
|
>
|
|
{r4}
|
|
</PressableOpacity>
|
|
);
|
|
}
|
|
|
|
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 object;
|
|
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 = <ImageInput channelId={channelId} localCreationAnswerId={localCreationAnswerId} image={image} openExpressionPicker={closure} openImageInputActionSheet={openImageInputActionSheet} iconSrc={importDefault(7951) /* metro dependency 7951 */} containerStyle={styles.defaultImageContainer} imageSize={48} answerIndex={index} />;
|
|
const FormInput = (require(7972) /* metro dependency 7972: native */).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 = <View style={items2}>{imageInput}<FormInput {...formInputProps} /></View>;
|
|
if (canRemoveAnswer) {
|
|
object = {onPress: function() {
|
|
return onRemoveAnswer(index);
|
|
}, accessibilityRole: 'button'};
|
|
defaultRemoveButtonContainer = styles.defaultRemoveButtonContainer;
|
|
object.style = defaultRemoveButtonContainer;
|
|
object.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 = <TouchableOpacity {...object}><Icon {...iconProps} /></TouchableOpacity>;
|
|
} else {
|
|
r10 = canRemoveAnswer;
|
|
}
|
|
const view2 = <View style={items3}>{view}{r10}</View>;
|
|
if (r5) {
|
|
value = importDefault(11751) /* metro dependency 11751: PollCreationInputError */;
|
|
value = ((Component) => <Component message={error} />)(value);
|
|
r5 = value;
|
|
}
|
|
return (
|
|
<>
|
|
{view2}
|
|
{r5}
|
|
</>
|
|
);
|
|
}
|
|
|
|
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 = (require(1244) /* metro dependency 1244: indexNative */).intl;
|
|
var formatToPlainString;
|
|
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
|
|
var object2;
|
|
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;
|
|
object2 = {};
|
|
object2.imageName = (require(7149) /* metro dependency 7149: PollsUtils */).filterOutUUID(r8);
|
|
object2.answerNumber = answerIndex + 1;
|
|
return Reflect.apply(formatToPlainString, intl, [vcC7Qn, object2]);
|
|
}
|
|
return intl.formatToPlainString(t.ieNrxk, {answerNumber: answerIndex + 1});
|
|
}
|
|
|
|
function PollAnswerInputOpenExpressionPicker() { // 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 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_90033});
|
|
}
|
|
|