Files
discord-decomp/sources/components_native/common/Alerts.tsx
T
2026-07-27 16:20:00 +03:00

295 lines
15 KiB
TypeScript

/* Metro module 15268; source: components_native/common/Alerts.tsx; dependencies: [6, 7, 15, 17, 18, 31, 27, 4502, 12598, 12951, 9536, 9878, 33, 15269, 15270, 15274, 15275, 4501, 697, 4496, 4555, 5467, 3868, 566, 628, 4571, 11206, 1305, 2] */
function _fun116729(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#116729, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15465:6, offset: 0x024950a6, size: 776 bytes, params: 8, frame: 26
const env0_0 = require;
let Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(6) /* metro dependency 6 */;
const env0_4 = importDefault(7) /* metro dependency 7 */;
const env0_5 = importDefault(15) /* metro dependency 15 */;
const env0_6 = importDefault(17) /* metro dependency 17 */;
const env0_7 = importDefault(18) /* metro dependency 18 */;
let value = importAll(31) /* metro dependency 31 */;
const value2 = require(27) /* metro dependency 27 */;
const StyleSheet = value2.StyleSheet;
const env0_10 = value2.Animated;
const env0_11 = value2.Easing;
const env0_12 = value2.TouchableWithoutFeedback;
const accessibilityStore = importDefault(4502) /* metro dependency 4502: AccessibilityStore */;
const permissionSpeakStore = importDefault(12598) /* metro dependency 12598: PermissionSpeakStore */;
const permissionVADStore = importDefault(12951) /* metro dependency 12951: PermissionVADStore */;
const surveyStore = importDefault(9536) /* metro dependency 9536: SurveyStore */;
const alertStore = importDefault(9878) /* metro dependency 9878: AlertStore */;
const value6 = require(33) /* metro dependency 33 */;
const env0_18 = value6.jsx;
const env0_19 = value6.jsxs;
const value9 = new (importDefault(15269) /* metro dependency 15269: ModalRegistry */)([{stores: [permissionSpeakStore],
center: true, isOpen: function() {
return PermissionSpeakStore.shouldShowWarning();
}, getComponent: function() {
return require(dependencyMap[14]).default;
}}, {stores: [permissionVADStore], center: true, isOpen: function() {
return PermissionVADStore.shouldShowWarning();
}, getComponent: function() {
return require(dependencyMap[15]).default;
}}, {stores: [surveyStore], center: true, isOpen: isOpen_116737, getComponent: function() {
return require(dependencyMap[16]).default;
}}]);
const createStylesModule = require(4501) /* metro dependency 4501: createStyles */;
const createLegacyClassComponentStyles = createStylesModule.createLegacyClassComponentStyles;
const object = {};
copyDataProperties(object, StyleSheet.absoluteFillObject, undefined);
const BACKGROUND_SCRIM = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_SCRIM;
object['backgroundColor'] = BACKGROUND_SCRIM;
object['justifyContent'] = 'center';
object['alignItems'] = 'center';
const env0_21 = Reflect.apply(createLegacyClassComponentStyles, createStylesModule, [{alertWrapper: object,
alertContentWrapper: {'display': 'flex', 'alignItems': 'center', 'justifyContent': 'center',
'height': '100%'}}]);
const PureComponent = value.PureComponent;
const value12 = _fun116739(PureComponent);
const ThemeContext = (require(3868) /* metro dependency 3868: native */).ThemeContext;
value12.contextType = ThemeContext;
Object = global.Object;
const env0_23 = Object.freeze({renderAlert: undefined, renderKey: undefined, props: undefined});
value = value.memo(Alerts);
(require(2) /* metro dependency 2 */).fileFinishedImporting('components_native/common/Alerts.tsx');
exports.default = value;
}
function _isNativeReflectConstruct_116730() { // fn#116730, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15465:316, offset: 0x024953ae, size: 98 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_116730_isNativeReflectConstruct = function() {
return !!result;
})();
}
function isOpen_116737() { // fn#116737, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15465:739, offset: 0x02495436, size: 25 bytes, params: 1, frame: 9
return SurveyStore.getCurrentSurvey() != null;
}
function _fun116739(a0) { // fn#116739, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15465:1083, offset: 0x0249544f, size: 72 bytes, params: 2, frame: 15
const closure = AlertWrapper;
env0_7(closure, a0);
return env0_4(closure, [{key: 'render', value: value_116745}]);
}
function Alerts() { // fn#116746, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15465:2861, offset: 0x0249591f, size: 401 bytes, params: 1, frame: 23
const binding = env0_8;
const env0_0 = binding.useRef(env0_23);
const value2 = undefined;
const fluxModule = require(566) /* metro dependency 566: flux */;
const useStateFromStoresObject = fluxModule.useStateFromStoresObject;
const items = [AlertStore];
const binding2 = env0_20;
arraySpread(items, binding2.getStores(), 1, binding2);
const value4 = Reflect.apply(useStateFromStoresObject, fluxModule, [items, _fun116747]);
binding.useEffect(_fun116749);
const value5 = fluxModule.useStateFromStores([AlertStore], function() {
return AlertStore.isAlertDismissable();
});
const useReducedMotion = fluxModule.useStateFromStores([AccessibilityStore], function() {
return AccessibilityStore.useReducedMotion;
});
const renderAlert = value4.renderAlert;
const renderKey = value4.renderKey;
const useCallback = binding.useCallback;
(importDefault(4571) /* metro dependency 4571: useBackPressHandler */)(Reflect.apply(useCallback, binding,
[_fun116752, [renderAlert, value5]]));
const r4 = renderAlert != null ? ((Component) => <Component isDismissable={value5} renderAlert={renderAlert} renderKey={renderKey} useReducedMotion={useReducedMotion} key={renderKey} />)(env0_22) : value2;
const TransitionGroup = (require(11206) /* metro dependency 11206: TransitionGroup */).TransitionGroup;
const TransitionGroupOverlayView = (require(1305) /* metro dependency 1305: native */).TransitionGroupOverlayView;
return (
<TransitionGroup component={TransitionGroupOverlayView} style={StyleSheet.absoluteFill}>
{r4}
</TransitionGroup>
);
}
function AlertWrapper(a0) { // fn#116740, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15465:1095, offset: 0x02495497, size: 283 bytes, params: 2, frame: 22
const value = 0;
const value2 = copyRestArgs(value, undefined);
env1_3(this, AlertWrapper);
let object = [];
arraySpread(object, value2, value, object);
const value5 = env1_6(AlertWrapper);
const value8 = env1_5(this, _isNativeReflectConstruct_116730() ? global.Reflect.construct(value5, object,
env1_6(this).constructor) : value5.apply(this, object));
object = {};
let Value = Animated.Value;
const value9 = Object.create(Value.prototype, {constructor: {value: Value}});
const value10 = new Value(value);
object.opacity = value10 instanceof Object ? value10 : value9;
Value = Animated.Value;
object.scale = new Value(value8.props.useReducedMotion ? 1 : value);
value8.state = object;
value8.componentDidAppear = componentDidAppear_116741;
value8.componentWillEnter = componentWillEnter;
value8.componentWillLeave = componentWillLeave_116743;
value8.handleRequestClose = handleRequestClose;
return value8;
}
function value_116745() { // fn#116745, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15465:2106, offset: 0x024957a0, size: 383 bytes, params: 1, frame: 27
let value = environment.__proto__;
const value2 = env1_21(this.context);
let props = this.props;
const r4 = props.renderKey ?? 'alerts-component';
props = this.props;
const renderAlert = props.renderAlert;
let object2 = {};
object2.onClose = (importDefault(4496) /* metro dependency 4496: AlertActionCreators */).close;
const value4 = Reflect.apply(renderAlert, props, [object2]);
const {opacity, scale} = this.state;
const Dialog = (require(4555) /* metro dependency 4555: DialogNative */).Dialog;
object2 = {dialogKey: r4};
let handleRequestClose = this.handleRequestClose;
object2.onDismiss = handleRequestClose;
const KeyboardAwareView = importDefault(5467) /* metro dependency 5467: KeyboardAwareView */;
const items2 = [StyleSheet.absoluteFill];
items2[1] = value2.alertContentWrapper;
handleRequestClose = this.handleRequestClose;
let View = Animated.View;
value = <TouchableWithoutFeedback accessibilityElementsHidden importantForAccessibility="no-hide-descendants" accessibilityRole="none" accessible={false} onPress={handleRequestClose}><View style={[value2.alertWrapper,
this.props.style, {opacity: opacity}]} /></TouchableWithoutFeedback>;
View = Animated.View;
return (
<Dialog {...object2}>
<KeyboardAwareView style={items2}>
{value}
<View style={{transform: [{scale: scale}]}}>
{value4}
</View>
</KeyboardAwareView>
</Dialog>
);
}
function _fun116747() { // fn#116747, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15465:2955, offset: 0x02495ab0, size: 258 bytes, params: 1, frame: 21
var environment;
var r6;
var object2;
var props;
var value4;
const value = environment.__proto__;
const alert = AlertStore.getAlert();
if (alert != null) {
object2 = {renderAlert: alert};
object2.renderKey = AlertStore.getAlertKey();
object2.props = null;
} else {
var openModal = env1_20.getOpenModal();
var env0_0 = openModal;
if (openModal != null) {
props = openModal.props;
value4 = 'alert-registery-' + openModal.key;
r6 = value4 !== env0_0.current.renderKey ? _fun116748 : (importDefault(628) /* metro dependency 628: shallowEqual */)(props,
env0_0.current.props) ? env0_0.current.renderAlert : _fun116748;
props = openModal.props;
return {renderAlert: r6, renderKey: value4, props: props};
}
object2 = {renderAlert: undefined, renderKey: undefined, props: undefined};
}
return object2;
}
function _fun116749() { // fn#116749, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15465:3365, offset: 0x0106eb4a, size: 21 bytes, params: 1, frame: 2
env0_0.current = env0_1;
}
function _fun116752() { // fn#116752, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15465:3562, offset: 0x02495c0f, size: 63 bytes, params: 1, frame: 12
var value;
const value2 = renderAlert != null;
if (value2 && env0_2) {
value = environment.__proto__;
value = importDefault(4496) /* metro dependency 4496: AlertActionCreators */;
value.close();
}
return value2;
}
function AlertWrapperComponentDidAppear() { // fn#116741, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15465:1419, owner: AlertWrapper.componentDidAppear, offset: 0x024955b2, size: 57 bytes, params: 1, frame: 12
const binding = env0_0;
binding.state.opacity.setValue(1);
binding.state.scale.setValue(1);
}
function componentWillEnter(a0) { // fn#116742, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15465:1500, owner: AlertWrapper.componentWillEnter, offset: 0x024955eb, size: 175 bytes, params: 2, frame: 17
const value = environment.__proto__.__proto__;
const timing = Animated.timing;
const binding = env0_0;
const opacity = binding.state.opacity;
let object = {'toValue': 1, 'easing': null, 'duration': 250, 'useNativeDriver': true};
object.easing = Easing.linear;
object = [Reflect.apply(timing, Animated, [opacity, object])];
if (!binding.props.useReducedMotion) {
object.push(Animated.spring(env0_0.state.scale, {'toValue': 1, 'useNativeDriver': true}));
}
Animated.parallel(object).start(a0);
}
function AlertWrapperComponentWillLeave(a0) { // fn#116743, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15465:1732, owner: AlertWrapper.componentWillLeave, offset: 0x0249569a, size: 202 bytes, params: 2, frame: 19
var push;
var scale;
var object3;
const value = environment.__proto__.__proto__;
let timing = Animated.timing;
const binding = env0_0;
const opacity = binding.state.opacity;
let object = {'toValue': 0, 'easing': null, 'duration': 100, 'useNativeDriver': true};
object.easing = Easing.linear;
object = [Reflect.apply(timing, Animated, [opacity, object])];
if (!binding.props.useReducedMotion) {
push = object.push;
timing = Animated.timing;
scale = env0_0.state.scale;
object3 = {'toValue': 0, 'easing': null, 'duration': 100, 'useNativeDriver': true};
object3.easing = Easing.in(Easing.ease);
Reflect.apply(push, object, [Reflect.apply(timing, Animated, [scale, object3])]);
}
Animated.parallel(object).start(a0);
}
function handleRequestClose() { // fn#116744, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15465:1997, owner: AlertWrapper.handleRequestClose, offset: 0x02495764, size: 60 bytes, params: 1, frame: 11
var value;
if (env0_0.props.isDismissable) {
value = environment.__proto__.__proto__;
value = importDefault(4496) /* metro dependency 4496: AlertActionCreators */;
value.close();
}
}
function _fun116748(a0) { // fn#116748, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15465:3221, offset: 0x02495bb2, size: 57 bytes, params: 2, frame: 15
const binding = env2_8;
const createElement = binding.createElement;
const component = env0_0.component;
const object2 = {};
copyDataProperties(object2, props, copyDataProperties(object2, a0, undefined));
return Reflect.apply(createElement, binding, [component, object2]);
}