Files
discord-decomp/sources/by-id/module-01213-FeedbackWidget.js
2026-07-28 01:06:53 +03:00

1233 lines
66 KiB
JavaScript

/* Metro module 1213; source: unknown; dependencies: [6, 7, 15, 17, 18, 31, 27, 1204, 826, 1010, 1009, 1209, 1206, 1207, 1210, 1212, 1214, 1205] */
import ClassCallCheck from './module-00006-ClassCallCheck.js'; /* Metro dependency 6 */
import CreateClass from './module-00007-CreateClass.js'; /* Metro dependency 7 */
import PossibleConstructorReturn from './module-00015-PossibleConstructorReturn.js'; /* Metro dependency 15 */
import Module00017 from './module-00017.js'; /* Metro dependency 17 */
import Inherits from './module-00018-Inherits.js'; /* Metro dependency 18 */
import Module01210 from './module-01210.js'; /* Metro dependency 1210 */
import * as ReactNativeModule from './module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from './module-00031-React.js'; /* Metro dependency 31 */
import * as Module00826Module from './module-00826.js'; /* Metro dependency 826 */
import * as Module01010Module from './module-01010.js'; /* Metro dependency 1010 */
import * as Module01205Module from './module-01205.js'; /* Metro dependency 1205 */
import * as Module01206Module from './module-01206.js'; /* Metro dependency 1206 */
import * as Module01207Module from './module-01207.js'; /* Metro dependency 1207 */
function _fun13463(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#13463, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:6, offset: 0x00deb691, size: 367 bytes, params: 8, frame: 20
var closure;
let value = this;
let env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let env0_3 = ClassCallCheck;
let value2 = ReactModule;
if (!(value && value.__awaiter)) {
closure = function(a0, a1, a2, a3) {
var r2;
var value = a2;
var env0_0 = a0;
var env0_1 = a1;
var env0_2 = value;
var env0_3 = a3;
r2 = value || global.Promise;
value = Object.create(r2.prototype, {constructor: {value: r2}});
var value2 = new r2(_fun13468);
return value2 instanceof Object ? value2 : value;
};
}
const Component = value2.Component;
value = _fun13474(Component);
value.defaultProps = (require(1209) /* metro dependency 1209 */).defaultConfiguration;
value._savedState = {'name': '', 'email': '', 'description': '', filename: undefined, attachment: undefined,
attachmentUri: undefined};
exports.FeedbackWidget = value;
function _isNativeReflectConstruct_13464() { // fn#13464, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:290, offset: 0x00deb800, size: 94 bytes, params: 1, frame: 18
var Boolean;
var prototype;
var valueOf;
var call;
var Reflect;
var construct;
var closure;
var value;
var error;
try {
Boolean = global.Boolean;
prototype = Boolean.prototype;
valueOf = prototype.valueOf;
call = valueOf.call;
Reflect = global.Reflect;
construct = Reflect.construct;
Boolean = global.Boolean;
closure = function() {
};
value = Reflect.apply(construct, Reflect, [Boolean, [], closure]);
value = Reflect.apply(call, valueOf, [value]);
var result = !value;
} catch (error) {
}
return (_isNativeReflectConstruct_13464_isNativeReflectConstruct = function() {
return !!result;
})();
}
function _fun13467(a0, a1, a2, a3) { // fn#13467, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:537, offset: 0x00deb85e, size: 75 bytes, params: 5, frame: 12
let value = a2;
const env0_0 = a0;
const env0_1 = a1;
const env0_3 = a3;
let r2 = value || global.Promise;
value = Object.create(r2.prototype, {constructor: {value: r2}});
r2 = new r2(_fun13468);
return r2 instanceof Object ? r2 : value;
function _fun13468(a0, a1) { // fn#13468, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:583, offset: 0x00deb8a9, size: 98 bytes, params: 3, frame: 16
const env0_0 = a0;
const env0_1 = a1;
const step_134712 = step_13471;
const value2 = importAll.apply(env0_0, require || []);
step_134712(value2.next());
function fulfilled_13469(a0) { // fn#13469, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:597, offset: 0x00d57fb9, size: 56 bytes, params: 2, frame: 12
var value;
var step_13471Binding;
var value2;
var next;
var value3;
var error;
try {
value = environment;
step_13471Binding = step_13471;
value2 = environment.__proto__;
next = importAll.next;
value3 = Reflect.apply(next, importAll, [a0]);
step_13471Binding(value3);
} catch (error) {
require(error);
}
}
function rejected_13470(a0) { // fn#13470, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:654, offset: 0x00d57ff1, size: 57 bytes, params: 2, frame: 12
var value;
var step_13471Binding;
var value2;
var value3;
var error;
try {
value = environment;
step_13471Binding = step_13471;
value2 = environment.__proto__;
value3 = importAll.throw(a0);
step_13471Binding(value3);
} catch (error) {
require(error);
}
}
function step_13471(a0) { // fn#13471, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:711, offset: 0x00deb90b, size: 77 bytes, params: 2, frame: 14
var value;
if (a0.done) {
env0_0(a0.value);
} else {
value = a0.value;
value = step_13471Adopt(value);
value.then(fulfilled_13469, rejected_13470);
}
function step_13471Adopt(a0) { // fn#13472, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:746, owner: step_13471.adopt, offset: 0x00deb958, size: 54 bytes, params: 2, frame: 12
const value = a0;
return value instanceof env2_2 ? value : new env2_2(_fun13473);
function _fun13473(a0) { // fn#13473, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:795, offset: 0x00cd9b0e, size: 19 bytes, params: 2, frame: 11
a0(env0_0);
}
}
}
}
}
function _fun13474(a0) { // fn#13474, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:890, offset: 0x00deb98e, size: 142 bytes, params: 2, frame: 17
const FeedbackWidget2 = FeedbackWidget;
Inherits(FeedbackWidget2, a0);
return CreateClass(FeedbackWidget2, [{key: 'componentDidMount', value: function() {
var env0_0 = this;
this._themeListener = Appearance.addChangeListener(_fun13496);
}}, {key: 'componentWillUnmount', value: function() {
if (this._didSubmitForm) {
this._clearFormState();
this._didSubmitForm = false;
} else {
this._saveFormState();
}
if (this._themeListener) {
this._themeListener.remove();
}
}}, {key: 'render', value: value_13498}], [{key: 'reset', value: function() {
FeedbackWidget._savedState = {'name': '', 'email': '', 'description': '', filename: undefined,
attachment: undefined, attachmentUri: undefined};
}}]);
function FeedbackWidget(a0) { // fn#13475, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:902, offset: 0x00deba1c, size: 617 bytes, params: 2, frame: 22
var environment;
var r5;
var _getUser;
var value8;
var value10;
const value = environment.__proto__;
const binding = env1_3;
const value3 = undefined;
binding(this, FeedbackWidget);
let object = [a0];
const value4 = env1_6(FeedbackWidget);
const value7 = env1_5(this, _isNativeReflectConstruct_13464() ? global.Reflect.construct(value4, object,
env1_6(this).constructor) : value4.apply(this, object));
value7._didSubmitForm = false;
value7.handleFeedbackSubmit = handleFeedbackSubmit;
value7.onScreenshotButtonPress = onScreenshotButtonPress;
value7._setCapturedScreenshot = _setCapturedScreenshot;
value7._saveFormState = _saveFormState;
value7._clearFormState = function() {
FeedbackWidget._savedState = {'name': '', 'email': '', 'description': '', filename: undefined,
attachment: undefined, attachmentUri: undefined};
};
value7._hasScreenshot = _hasScreenshot;
value7._getUser = _getUser;
value7._showImageRetrievalDevelopmentNote = _showImageRetrievalDevelopmentNote;
object = {};
const object2 = {};
let props = value7.props;
let useSentryUser = props === null || value3 === props ? value3 : props.useSentryUser;
let email = useSentryUser === null || value3 === useSentryUser ? value3 : useSentryUser.email;
if (email) {
r5 = email;
} else {
value8 = value7._getUser();
r5 = value8 === null || value3 === value8 ? value3 : value8.email;
}
r5 = !r5 ? '' : r5;
object2.email = r5;
props = value7.props;
useSentryUser = props === null || value3 === props ? value3 : props.useSentryUser;
let name = useSentryUser === null || value3 === useSentryUser ? value3 : useSentryUser.name;
if (name) {
r5 = name;
} else {
value10 = value7._getUser();
r5 = value10 === null || value3 === value10 ? value3 : value10.name;
}
r5 = !r5 ? '' : r5;
object2.name = r5;
object.useSentryUser = object2;
name = FeedbackWidget._savedState.name;
name = !name ? object.useSentryUser.name : name;
email = FeedbackWidget._savedState.email;
email = !email ? object.useSentryUser.email : email;
let description = FeedbackWidget._savedState.description;
description = !description ? '' : description;
let filename = FeedbackWidget._savedState.filename;
filename = !filename ? value3 : filename;
let attachment = FeedbackWidget._savedState.attachment;
attachment = !attachment ? value3 : attachment;
let attachmentUri = FeedbackWidget._savedState.attachmentUri;
attachmentUri = !attachmentUri ? value3 : attachmentUri;
value7.state = {isVisible: true, name: name, email: email, description: description, filename: filename,
attachment: attachment, attachmentUri: attachmentUri};
(Module01206Module).lazyLoadFeedbackIntegration();
return value7;
function handleFeedbackSubmit() { // fn#13476, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:1172, owner: FeedbackWidget.handleFeedbackSubmit, offset: 0x00debc85, size: 872 bytes, params: 1, frame: 27
var r6;
var r62;
var r2;
var r22;
var r8;
var trim;
var value3;
var value4;
var value5;
var props2;
var isNameRequired;
var value6;
var moduleValue;
var feedbackAlertDialog;
var errorTitle;
var formError;
var props4;
var shouldValidateEmail;
var props5;
var length;
var value7;
var moduleValue2;
var isValidEmail;
var moduleValue3;
var emailError;
var filename;
var attachment;
var object;
var value8;
var moduleValue4;
var lastEventId;
var setState;
var object2;
var property;
var moduleValue5;
var captureFeedback;
var object3;
var moduleValue6;
var successMessageText;
var error;
var Error;
var HermesInternal;
var concat;
var value9;
var prototype;
var value10;
var error2;
var value11;
var moduleValue7;
var genericError;
var debug;
var error3;
const value = undefined;
let binding = env0_0;
let state = binding.state;
const name = state.name;
const email = state.email;
const description = state.description;
let props = binding.props;
const onSubmitSuccess = props.onSubmitSuccess;
const onSubmitError = props.onSubmitError;
const onFormSubmitted = props.onFormSubmitted;
props = binding.props;
reducibleJoin2: while (true) {
if (name == null) {
r6 = value;
break reducibleJoin2;
}
trim = name.trim;
value3 = Reflect.apply(trim, name, []);
r6 = value3;
break reducibleJoin2;
}
reducibleJoin4: while (true) {
if (email == null) {
r62 = value;
break reducibleJoin4;
}
trim = email.trim;
value4 = Reflect.apply(trim, email, []);
r62 = value4;
break reducibleJoin4;
}
reducibleJoin6: while (true) {
if (description == null) {
r2 = value;
break reducibleJoin6;
}
trim = description.trim;
value5 = Reflect.apply(trim, description, []);
r2 = value5;
break reducibleJoin6;
}
reducibleJoin8: while (true) {
reduciblePort61: while (true) {
exceptionLanding60: while (true) {
props2 = env0_0.props;
isNameRequired = props2.isNameRequired;
if (isNameRequired) {
if (r6) {
break reducibleJoin8;
}
value6 = environment.__proto__.__proto__;
moduleValue = require(dependencyMap[7]);
feedbackAlertDialog = moduleValue.feedbackAlertDialog;
errorTitle = props.errorTitle;
formError = props.formError;
Reflect.apply(feedbackAlertDialog, moduleValue, [errorTitle, formError]);
break reduciblePort61;
}
break reducibleJoin8;
}
Error = global.Error;
HermesInternal = global.HermesInternal;
concat = HermesInternal.concat;
value9 = 'Feedback form submission failed: ' + error;
prototype = Error.prototype;
value10 = Object.create(prototype, {constructor: {value: Error}});
error2 = new Error();
value11 = error2 instanceof Object ? error2 : value10;
onSubmitError(value11);
moduleValue7 = require(dependencyMap[7]);
feedbackAlertDialog = moduleValue7.feedbackAlertDialog;
errorTitle = props.errorTitle;
genericError = props.genericError;
Reflect.apply(feedbackAlertDialog, moduleValue7, [errorTitle, genericError]);
debug = require(dependencyMap[8]).debug;
error3 = debug.error;
HermesInternal = global.HermesInternal;
concat = HermesInternal.concat;
Reflect.apply(error3, debug, ['Feedback form submission failed: ' + error]);
break reduciblePort61;
}
return value;
}
let isEmailRequired = env0_0.props.isEmailRequired;
reducibleJoin61: while (true) {
reducibleJoin10: while (true) {
if (isEmailRequired) {
if (r62) {
break reducibleJoin10;
}
value6 = environment.__proto__.__proto__;
moduleValue = require(dependencyMap[7]);
feedbackAlertDialog = moduleValue.feedbackAlertDialog;
errorTitle = props.errorTitle;
formError = props.formError;
Reflect.apply(feedbackAlertDialog, moduleValue, [errorTitle, formError]);
break reducibleJoin61;
}
break reducibleJoin10;
}
if (r2) {
props4 = env0_0.props;
shouldValidateEmail = props4.shouldValidateEmail;
if (shouldValidateEmail) {
props5 = env0_0.props;
isEmailRequired = props5.isEmailRequired;
if (!isEmailRequired) {
length = r62.length;
if (!(length > 0)) {
state = env0_0.state;
filename = state.filename;
reducibleJoin20: while (true) {
if (filename) {
state = env0_0.state;
attachment = state.attachment;
if (attachment) {
binding = env0_0;
state = binding.state;
filename = state.filename;
state = binding.state;
attachment = state.attachment;
r22 = [{filename: filename, data: attachment}];
break reducibleJoin20;
}
r22 = value;
break reducibleJoin20;
}
r22 = value;
break reducibleJoin20;
}
object = {message: r2, name: r6, email: r62};
value8 = environment.__proto__.__proto__;
moduleValue4 = require(dependencyMap[8]);
object.associatedEventId = moduleValue4.lastEventId();
reducibleJoin28: while (true) {
if (onFormSubmitted) {
break reducibleJoin28;
}
try {
binding = env0_0;
} catch (error) {
break exceptionLanding60;
}
try {
setState = binding.setState;
} catch (error) {
break exceptionLanding60;
}
try {
object2 = {};
} catch (error) {
break exceptionLanding60;
}
try {
object2.isVisible = false;
} catch (error) {
break exceptionLanding60;
}
try {
Reflect.apply(setState, binding, [object2]);
} catch (error) {
break exceptionLanding60;
}
break reducibleJoin28;
}
try {
} catch (error) {
break exceptionLanding60;
}
try {
} catch (error) {
break exceptionLanding60;
}
try {
property = dependencyMap[8];
} catch (error) {
break exceptionLanding60;
}
try {
moduleValue5 = require(property);
} catch (error) {
break exceptionLanding60;
}
try {
captureFeedback = moduleValue5.captureFeedback;
} catch (error) {
break exceptionLanding60;
}
reducibleJoin38: while (true) {
if (r22) {
try {
object3 = {};
} catch (error) {
break exceptionLanding60;
}
try {
object3.attachments = r22;
} catch (error) {
break exceptionLanding60;
}
r8 = object3;
break reducibleJoin38;
}
r8 = value;
break reducibleJoin38;
}
try {
Reflect.apply(captureFeedback, moduleValue5, [object, r8]);
} catch (error) {
break exceptionLanding60;
}
try {
object = {};
} catch (error) {
break exceptionLanding60;
}
try {
object.name = r6;
} catch (error) {
break exceptionLanding60;
}
try {
object.email = r62;
} catch (error) {
break exceptionLanding60;
}
try {
object.message = r2;
} catch (error) {
break exceptionLanding60;
}
try {
object.attachments = r22;
} catch (error) {
break exceptionLanding60;
}
try {
onSubmitSuccess(object);
} catch (error) {
break exceptionLanding60;
}
try {
} catch (error) {
break exceptionLanding60;
}
try {
} catch (error) {
break exceptionLanding60;
}
try {
property = dependencyMap[7];
} catch (error) {
break exceptionLanding60;
}
try {
moduleValue6 = require(property);
} catch (error) {
break exceptionLanding60;
}
try {
feedbackAlertDialog = moduleValue6.feedbackAlertDialog;
} catch (error) {
break exceptionLanding60;
}
try {
successMessageText = props.successMessageText;
} catch (error) {
break exceptionLanding60;
}
try {
Reflect.apply(feedbackAlertDialog, moduleValue6, [successMessageText, '']);
} catch (error) {
break exceptionLanding60;
}
try {
onFormSubmitted();
} catch (error) {
break exceptionLanding60;
}
try {
binding = env0_0;
} catch (error) {
break exceptionLanding60;
}
try {
binding._didSubmitForm = true;
} catch (error) {
break exceptionLanding60;
}
break reducibleJoin61;
}
}
value7 = environment.__proto__.__proto__;
moduleValue2 = require(dependencyMap[7]);
isValidEmail = moduleValue2.isValidEmail;
if (!Reflect.apply(isValidEmail, moduleValue2, [r62])) {
moduleValue3 = require(dependencyMap[7]);
feedbackAlertDialog = moduleValue3.feedbackAlertDialog;
errorTitle = props.errorTitle;
emailError = props.emailError;
Reflect.apply(feedbackAlertDialog, moduleValue3, [errorTitle, emailError]);
break reducibleJoin61;
}
}
state = env0_0.state;
filename = state.filename;
reducibleJoin20: while (true) {
if (filename) {
state = env0_0.state;
attachment = state.attachment;
if (attachment) {
binding = env0_0;
state = binding.state;
filename = state.filename;
state = binding.state;
attachment = state.attachment;
r22 = [{filename: filename, data: attachment}];
break reducibleJoin20;
}
r22 = value;
break reducibleJoin20;
}
r22 = value;
break reducibleJoin20;
}
object = {message: r2, name: r6, email: r62};
value8 = environment.__proto__.__proto__;
moduleValue4 = require(dependencyMap[8]);
lastEventId = moduleValue4.lastEventId;
object.associatedEventId = Reflect.apply(lastEventId, moduleValue4, []);
reducibleJoin28: while (true) {
if (onFormSubmitted) {
break reducibleJoin28;
}
try {
binding = env0_0;
} catch (error) {
break exceptionLanding60;
}
try {
setState = binding.setState;
} catch (error) {
break exceptionLanding60;
}
try {
object2 = {};
} catch (error) {
break exceptionLanding60;
}
try {
object2.isVisible = false;
} catch (error) {
break exceptionLanding60;
}
try {
Reflect.apply(setState, binding, [object2]);
} catch (error) {
break exceptionLanding60;
}
break reducibleJoin28;
}
try {
} catch (error) {
break exceptionLanding60;
}
try {
} catch (error) {
break exceptionLanding60;
}
try {
property = dependencyMap[8];
} catch (error) {
break exceptionLanding60;
}
try {
moduleValue5 = require(property);
} catch (error) {
break exceptionLanding60;
}
try {
captureFeedback = moduleValue5.captureFeedback;
} catch (error) {
break exceptionLanding60;
}
reducibleJoin38: while (true) {
if (r22) {
try {
object3 = {};
} catch (error) {
break exceptionLanding60;
}
try {
object3.attachments = r22;
} catch (error) {
break exceptionLanding60;
}
r8 = object3;
break reducibleJoin38;
}
r8 = value;
break reducibleJoin38;
}
try {
Reflect.apply(captureFeedback, moduleValue5, [object, r8]);
} catch (error) {
break exceptionLanding60;
}
try {
object = {};
} catch (error) {
break exceptionLanding60;
}
try {
object.name = r6;
} catch (error) {
break exceptionLanding60;
}
try {
object.email = r62;
} catch (error) {
break exceptionLanding60;
}
try {
object.message = r2;
} catch (error) {
break exceptionLanding60;
}
try {
object.attachments = r22;
} catch (error) {
break exceptionLanding60;
}
try {
onSubmitSuccess(object);
} catch (error) {
break exceptionLanding60;
}
try {
} catch (error) {
break exceptionLanding60;
}
try {
} catch (error) {
break exceptionLanding60;
}
try {
property = dependencyMap[7];
} catch (error) {
break exceptionLanding60;
}
try {
moduleValue6 = require(property);
} catch (error) {
break exceptionLanding60;
}
try {
feedbackAlertDialog = moduleValue6.feedbackAlertDialog;
} catch (error) {
break exceptionLanding60;
}
try {
successMessageText = props.successMessageText;
} catch (error) {
break exceptionLanding60;
}
try {
Reflect.apply(feedbackAlertDialog, moduleValue6, [successMessageText, '']);
} catch (error) {
break exceptionLanding60;
}
try {
onFormSubmitted();
} catch (error) {
break exceptionLanding60;
}
try {
binding = env0_0;
} catch (error) {
break exceptionLanding60;
}
try {
binding._didSubmitForm = true;
} catch (error) {
break exceptionLanding60;
}
break reducibleJoin61;
}
value6 = environment.__proto__.__proto__;
moduleValue = require(dependencyMap[7]);
feedbackAlertDialog = moduleValue.feedbackAlertDialog;
errorTitle = props.errorTitle;
formError = props.formError;
Reflect.apply(feedbackAlertDialog, moduleValue, [errorTitle, formError]);
break reducibleJoin61;
}
return value;
}
function onScreenshotButtonPress() { // fn#13477, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:2256, owner: FeedbackWidget.onScreenshotButtonPress, offset: 0x00debfed, size: 33 bytes, params: 1, frame: 15
return env2_17(env0_0, undefined, undefined, _fun13479);
function* _fun13479() { // fn#13479, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:2293, offset: 0x00dec017, size: 703 bytes, params: 1, frame: 22
var environment;
var r2;
var assets;
var fileName;
var uri;
var base64;
var r7;
var value6;
var value7;
var value9;
var isWeb2;
var property;
if (false) {
return undefined;
}
value = undefined;
if (this._hasScreenshot()) {
this.setState({filename: value, attachment: value, attachmentUri: value});
} else {
var imagePicker = this.props.imagePicker;
if (imagePicker) {
r2 = imagePicker.launchImageLibraryAsync ? _fun13480 : imagePicker.launchImageLibrary ? _fun13481 : null;
if (r2) {
yield r2();
value7 = undefined;
if (false) {
return value7;
}
assets = value7 == null ? value : value7.assets;
if (assets) {
assets = value7.assets;
if (assets.length > 0) {
value9 = environment.__proto__.__proto__.__proto__.__proto__;
isWeb2 = env4_0(env4_2[9]).isWeb();
assets = value7.assets;
property = assets[0];
if (isWeb2) {
fileName = property === null || value === property ? value : property.fileName;
assets = value7.assets;
property = assets[0];
uri = property === null || value === property ? value : property.uri;
assets = value7.assets;
property = assets[0];
base64 = property === null || value === property ? value : property.base64;
r7 = base64 ? env4_0(env4_2[7]).base64ToUint8Array(base64) : value;
if (r7) {
this.setState({filename: fileName, attachment: r7, attachmentUri: uri});
} else {
env4_0(env4_2[8]).debug.error('Failed to read image data on the web');
}
} else {
fileName = property === null || value === property ? value : property.fileName;
property = value7.assets[0];
uri = property === null || value === property ? value : property.uri;
if (uri) {
env4_0(env4_2[10]).getDataFromUri(uri).then(_fun13482).catch(_fun13483);
}
}
}
}
return value;
}
value6 = environment.__proto__.__proto__.__proto__.__proto__;
env4_0(env4_2[8]).debug.warn('No compatible image picker library found. Please provide a valid image picker library.');
return value;
}
var Object = global.Object;
var assign = Object.assign;
var Object2 = global.Object;
Reflect.apply(assign, Object, [Object2.assign({}, env4_0(env4_2[11]).defaultConfiguration),
this.props]).onAddScreenshot(_fun13484);
}
return value;
function _fun13480() { // fn#13480, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:2495, offset: 0x00dec2d6, size: 103 bytes, params: 1, frame: 18
var r0;
var call;
var object;
var value;
const launchImageLibraryAsync = imagePicker.launchImageLibraryAsync;
const value2 = undefined;
if (launchImageLibraryAsync === null) {
r0 = value2;
} else if (value2 === launchImageLibraryAsync) {
r0 = value2;
} else {
call = launchImageLibraryAsync.call;
imagePickerBinding = imagePicker;
object = {mediaTypes: ['images']};
value = environment.__proto__.__proto__.__proto__.__proto__.__proto__;
value = env5_0(env5_2[9]);
object.base64 = value.isWeb();
value = Reflect.apply(call, launchImageLibraryAsync, [imagePickerBinding, object]);
r0 = value;
}
return r0;
}
function _fun13481() { // fn#13481, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:2654, offset: 0x00dec33d, size: 97 bytes, params: 1, frame: 18
var r0;
var call;
var object;
var value;
const launchImageLibrary = imagePicker.launchImageLibrary;
const value2 = undefined;
if (launchImageLibrary === null) {
r0 = value2;
} else if (value2 === launchImageLibrary) {
r0 = value2;
} else {
call = launchImageLibrary.call;
imagePickerBinding = imagePicker;
object = {mediaType: 'photo'};
value = environment.__proto__.__proto__.__proto__.__proto__.__proto__;
value = env5_0(env5_2[9]);
object.includeBase64 = value.isWeb();
value = Reflect.apply(call, launchImageLibrary, [imagePickerBinding, object]);
r0 = value;
}
return r0;
}
function _fun13482(a0) { // fn#13482, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:3478, offset: 0x00dec39e, size: 127 bytes, params: 2, frame: 15
var binding;
var value2;
var debug;
if (a0 != null) {
env0_0.setState({filename: fileName, attachment: a0, attachmentUri: uri});
} else {
binding = env0_0;
binding._showImageRetrievalDevelopmentNote();
value2 = environment.__proto__.__proto__.__proto__.__proto__.__proto__;
binding = env5_0;
debug = binding(env5_2[8]).debug;
debug.error('Failed to read image data from uri:', uri);
}
}
function _fun13483(a0) { // fn#13483, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:3664, offset: 0x00dec41d, size: 81 bytes, params: 2, frame: 18
env0_0._showImageRetrievalDevelopmentNote();
const debug = env5_0(env5_2[8]).debug;
debug.error('Failed to read image data from uri:', uri, 'error: ', a0);
}
function _fun13484(a0) { // fn#13484, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:3892, offset: 0x00dec46e, size: 78 bytes, params: 2, frame: 13
var environment;
const env0_0 = a0;
let value = environment.__proto__.__proto__.__proto__.__proto__.__proto__;
value = env5_0(env5_2[10]);
value = value.getDataFromUri(a0);
value = value.then(_fun13485);
value.catch(_fun13486);
function _fun13485(a0) { // fn#13485, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:3937, offset: 0x00dec4bc, size: 135 bytes, params: 2, frame: 14
var value;
var binding;
if (a0 != null) {
value = environment.__proto__;
env1_0.setState({filename: 'feedback_screenshot', attachment: a0, attachmentUri: env0_0});
} else {
value = environment.__proto__;
binding = env1_0;
binding._showImageRetrievalDevelopmentNote();
value = environment.__proto__.__proto__.__proto__.__proto__.__proto__.__proto__;
binding = env6_0;
binding(env6_2[8]).debug.error('Failed to read image data from uri:', env0_0);
}
}
function _fun13486(a0) { // fn#13486, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:4143, offset: 0x00dec543, size: 84 bytes, params: 2, frame: 18
env1_0._showImageRetrievalDevelopmentNote();
env6_0(env6_2[8]).debug.error('Failed to read image data from uri:', env0_0, 'error: ', a0);
}
}
}
}
function _setCapturedScreenshot(a0) { // fn#13487, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:4304, owner: FeedbackWidget._setCapturedScreenshot, offset: 0x00dec597, size: 200 bytes, params: 2, frame: 18
var environment;
var value;
const debug = (Module00826Module).debug;
var NATIVE;
const env0_0 = a0;
if (a0.data != null) {
value = environment.__proto__.__proto__;
debug.log('Setting captured screenshot:', a0.filename);
NATIVE = (require(1009) /* metro dependency 1009 */).NATIVE;
value = NATIVE.encodeToBase64(a0.data);
value = value.then(_fun13488);
value.catch(_fun13489);
} else {
value = environment.__proto__.__proto__;
debug.error('Failed to read image data from:', a0.filename);
}
function _fun13488(a0) { // fn#13488, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:4436, offset: 0x00dec65f, size: 167 bytes, params: 2, frame: 16
var value;
var debug;
var binding;
var value2;
if (a0 != null) {
binding = env0_0;
value = 'data:' + binding.contentType + ';base64,' + a0;
value2 = environment.__proto__;
env1_0.setState({filename: binding.filename, attachment: binding.data, attachmentUri: value});
} else {
value = environment.__proto__.__proto__.__proto__;
debug = (require(826) /* metro dependency 826 */).debug;
debug.error('Failed to read image data from:', env0_0.filename);
}
}
function _fun13489(a0) { // fn#13489, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:4651, offset: 0x00dec706, size: 73 bytes, params: 2, frame: 18
const debug = (Module00826Module).debug;
debug.error('Failed to read image data from:', env0_0.filename, 'error: ', a0);
}
}
function _saveFormState() { // fn#13490, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:4829, owner: FeedbackWidget._saveFormState, offset: 0x00dec74f, size: 50 bytes, params: 1, frame: 14
const Object = global.Object;
FeedbackWidget._savedState = Object.assign({}, env0_0.state);
}
function _hasScreenshot() { // fn#13492, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:5057, owner: FeedbackWidget._hasScreenshot, offset: 0x00dec7af, size: 70 bytes, params: 1, frame: 4
return env0_0.state.filename !== undefined && env0_0.state.attachment !== undefined && env0_0.state.attachmentUri !== undefined;
}
function _getUser() { // fn#13493, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:5174, owner: FeedbackWidget._getUser, offset: 0x00dec7f5, size: 129 bytes, params: 1, frame: 14
var r1;
let value = environment.__proto__.__proto__;
const user = (require(826) /* metro dependency 826 */).getCurrentScope().getUser();
if (user) {
return user;
}
const user2 = (require(826) /* metro dependency 826 */).getIsolationScope().getUser();
if (user2) {
r1 = user2;
} else {
value = require(826) /* metro dependency 826 */;
value = value.getGlobalScope();
value = value.getUser();
r1 = value;
}
return r1;
}
function _showImageRetrievalDevelopmentNote() { // fn#13494, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:5368, owner: FeedbackWidget._showImageRetrievalDevelopmentNote, offset: 0x00dec876, size: 84 bytes, params: 1, frame: 14
const value = environment.__proto__.__proto__;
if (Module01010Module.isExpoGo()) {
(require(1204) /* metro dependency 1204 */).feedbackAlertDialog('Development note',
'The feedback widget cannot retrieve image data in Expo Go. Please build your app to test this functionality.');
}
}
}
function value_13495() { // fn#13495, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:6392, offset: 0x00dec8ca, size: 42 bytes, params: 1, frame: 12
this._themeListener = Appearance.addChangeListener(_fun13496);
function _fun13496() { // fn#13496, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:6473, offset: 0x00de92fe, size: 21 bytes, params: 1, frame: 9
env0_0.forceUpdate();
}
}
function value_13498() { // fn#13498, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:6733, offset: 0x00dec93b, size: 1674 bytes, params: 1, frame: 55
var environment;
var r8;
var r11;
var r10;
var r7;
var r19;
var r6;
var capturedScreenshot;
var binding;
var createElement;
var object;
var moduleValue3;
var binding2;
var createElement2;
var object2;
var createElement3;
var object3;
var element;
var showBranding;
var binding3;
var createElement5;
var sentryLogo;
var element3;
var binding8;
var element10;
var element11;
var binding9;
var createElement14;
var object8;
var binding11;
var binding13;
let value = environment.__proto__;
const value2 = undefined;
const theme = (Module01207Module).getTheme();
const {name, email, description} = this.state;
let props = this.props;
const env0_1 = props.onFormClose;
props = this.props;
const props2 = this.props;
const props3 = this.props;
const Object = global.Object;
const assign = Object.assign;
const Object2 = global.Object;
const value5 = Object2.assign({}, (Module01210)(theme));
const styles = this.props.styles;
const value6 = Reflect.apply(assign, Object, [value5, styles]);
if (this.state.isVisible) {
capturedScreenshot = (require(1212) /* metro dependency 1212 */).getCapturedScreenshot();
if (capturedScreenshot === 'ErrorCapturingScreenshot') {
global.setTimeout(_fun13500, 100);
} else if (capturedScreenshot) {
this._setCapturedScreenshot(capturedScreenshot);
}
binding = env1_8;
createElement = binding.createElement;
object = {'onPress': null, 'accessible': false, 'accessibilityElementsHidden': false};
moduleValue3 = require(1010) /* metro dependency 1010 */;
object.onPress = moduleValue3.notWeb() ? Keyboard.dismiss : value2;
binding2 = env1_8;
createElement2 = binding2.createElement;
object2 = {};
object2.style = value6.container;
createElement3 = binding2.createElement;
object3 = {};
object3.style = value6.titleContainer;
element = binding2.createElement(Text, {style: value6.title, testID: 'sentry-feedback-form-title'},
props3.formTitle);
showBranding = props.showBranding;
if (showBranding) {
binding3 = env1_8;
createElement5 = binding3.createElement;
sentryLogo = (require(1214) /* metro dependency 1214 */).sentryLogo;
sentryLogo = value6.sentryLogo;
r8 = Reflect.apply(createElement5, binding3, [Image, {source: {uri: sentryLogo}, style: sentryLogo,
testID: 'sentry-logo'}]);
} else {
r8 = showBranding;
}
element3 = Reflect.apply(createElement3, binding2, [View, object3, element, r8]);
r11 = props.showName && env1_8.createElement(env1_8.Fragment, null, env1_8.createElement(Text,
{style: value6.label}, props3.nameLabel, props.isNameRequired && ' ' + props3.isRequiredLabel),
env1_8.createElement(TextInput, {style: value6.input, testID: 'sentry-feedback-name-input',
placeholder: props3.namePlaceholder, value: name, onChangeText: onChangeText}));
r10 = props.showEmail && env1_8.createElement(env1_8.Fragment, null, env1_8.createElement(Text,
{style: value6.label}, props3.emailLabel, props.isEmailRequired && ' ' + props3.isRequiredLabel),
env1_8.createElement(TextInput, {style: value6.input, testID: 'sentry-feedback-email-input',
placeholder: props3.emailPlaceholder, keyboardType: 'email-address', value: email,
onChangeText: onChangeText_13504}));
binding8 = env1_8;
element10 = binding8.createElement(Text, {style: value6.label}, props3.messageLabel,
' ' + props3.isRequiredLabel);
element11 = binding8.createElement(TextInput, {style: [value6.input, value6.textArea],
testID: 'sentry-feedback-message-input', placeholder: props3.messagePlaceholder, value: description,
onChangeText: onChangeText_13505, multiline: true});
r7 = props.enableScreenshot || props2.imagePicker;
r7 = !r7 ? this._hasScreenshot() : r7;
if (r7) {
binding9 = env1_8;
createElement14 = binding9.createElement;
object8 = {};
object8.style = value6.screenshotContainer;
r19 = this.state.attachmentUri && env1_8.createElement(Image, {source: {uri: this.state.attachmentUri},
style: value6.screenshotThumbnail});
binding11 = env1_8;
r7 = Reflect.apply(createElement14, binding9, [View, object8, r19, binding11.createElement(TouchableOpacity,
{style: value6.screenshotButton, onPress: this.onScreenshotButtonPress}, binding11.createElement(Text,
{style: value6.screenshotText},
this._hasScreenshot() ? props3.removeScreenshotButtonLabel : props3.addScreenshotButtonLabel))]);
}
r6 = (require(1010) /* metro dependency 1010 */).notWeb() && props.enableTakeScreenshot;
r6 = r6 && !this.state.attachmentUri;
r6 = r6 && env1_8.createElement(TouchableOpacity, {style: value6.takeScreenshotButton, onPress: onPress_13506},
env1_8.createElement(Text, {style: value6.takeScreenshotText,
testID: 'sentry-feedback-take-screenshot-button'},
props3.captureScreenshotButtonLabel));
binding13 = env1_8;
value = binding13.createElement(TouchableOpacity, {style: value6.submitButton,
onPress: this.handleFeedbackSubmit},
binding13.createElement(Text, {style: value6.submitText, testID: 'sentry-feedback-submit-button'},
props3.submitButtonLabel));
value = Reflect.apply(createElement2, binding2, [View, object2, element3, r11, r10, element10, element11, r7,
r6,
value, binding13.createElement(TouchableOpacity, {style: value6.cancelButton, onPress: onPress_13499},
binding13.createElement(Text, {style: value6.cancelText}, props3.cancelButtonLabel))]);
return Reflect.apply(createElement, binding, [TouchableWithoutFeedback, object, value]);
}
return null;
function value_13498OnPress() { // fn#13499, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:6963, owner: value_13498.onPress, offset: 0x00decfc5, size: 50 bytes, params: 1, frame: 13
if (onFormClose) {
onFormClose();
} else {
env0_0.setState({isVisible: false});
}
}
function _fun13500() { // fn#13500, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:7142, offset: 0x00decff7, size: 33 bytes, params: 1, frame: 15
return env2_17(env0_0, undefined, undefined, _fun13502);
function* _fun13502() { // fn#13502, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:7179, offset: 0x00ded021, size: 69 bytes, params: 1, frame: 15
if (true) {
value = environment.__proto__.__proto__.__proto__.__proto__;
var binding = env4_0;
value = binding(env4_2[7]);
var feedbackAlertDialog = value.feedbackAlertDialog;
binding = env2_2;
Reflect.apply(feedbackAlertDialog, value, [binding.errorTitle, binding.captureScreenshotError]);
}
}
}
function value_13498OnChangeText(a0) { // fn#13503, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:7937, owner: value_13498.onChangeText, offset: 0x00ded066, size: 29 bytes, params: 2, frame: 12
return env0_0.setState({name: a0});
}
function value_13498OnChangeText_13504(a0) { // fn#13504, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:8281, owner: value_13498.onChangeText, offset: 0x00ded083, size: 30 bytes, params: 2, frame: 12
return env0_0.setState({email: a0});
}
function value_13498OnChangeText_13505(a0) { // fn#13505, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:8552, owner: value_13498.onChangeText, offset: 0x00ded0a1, size: 29 bytes, params: 2, frame: 12
return env0_0.setState({description: a0});
}
function value_13498OnPress_13506() { // fn#13506, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1340:9181, owner: value_13498.onPress, offset: 0x00ded0be, size: 67 bytes, params: 1, frame: 14
const value = environment.__proto__.__proto__;
(Module01205Module).hideFeedbackButton();
onPress_13499();
(Module01205Module).showScreenshotButton();
}
}
}
}
global.__d(_fun13463, 1213, [6, 7, 15, 17, 18, 31, 27, 1204, 826, 1010, 1009, 1209, 1206, 1207, 1210, 1212, 1214,
1205]) /* metro module 1213, dependencies: [6, 7, 15, 17, 18, 31, 27, 1204, 826, 1010, 1009, 1209, 1206, 1207, 1210, 1212, 1214, 1205] */;