Files
discord-decomp/sources/modules/interaction_components/native/InteractionModal.tsx
T
2026-07-27 16:20:00 +03:00

113 lines
7.3 KiB
TypeScript

/* Metro module 15735; source: modules/interaction_components/native/InteractionModal.tsx; dependencies: [31, 27, 12952, 33, 4501, 697, 5080, 15736, 5463, 1305, 1423, 4573, 5278, 1244, 5312, 8357, 15737, 4578, 2] */
function _fun120822(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#120822, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15943:6, offset: 0x02536740, size: 574 bytes, params: 8, frame: 24
var object2;
const env0_0 = require;
const closure = InteractionModal;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
importAll(31) /* metro dependency 31 */;
let value = require(27) /* metro dependency 27 */;
const env0_3 = value.View;
const env0_4 = value.ScrollView;
const env0_5 = (require(12952) /* metro dependency 12952: InteractionModalStore */).InteractionModalState;
value = require(33) /* metro dependency 33 */;
const env0_6 = value.jsx;
const env0_7 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
object2 = {};
const BACKGROUND_BASE_LOW = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BASE_LOW;
object2.modal = {backgroundColor: BACKGROUND_BASE_LOW, flex: 1};
object2.scroll = {flex: 1};
const object3 = {flexGrow: 1};
let PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object3.paddingHorizontal = PX_16;
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object3.gap = PX_16;
object2.modalContent = object3;
const object6 = {flexDirection: 'row'};
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object6.marginBottom = PX_16;
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object6.paddingHorizontal = PX_16;
object2.header = object6;
object2.titleView = {flex: 1};
const PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object2.icon = {marginRight: PX_8};
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object2.footer = {marginTop: 'auto', marginBottom: PX_16};
object2.closeButton = {marginLeft: 'auto'};
const TEXT_MUTED = (importDefault(697) /* metro dependency 697: native */).colors.TEXT_MUTED;
object2.closeIcon = {color: TEXT_MUTED};
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object2.error = {marginBottom: PX_16};
const env0_8 = Reflect.apply(createStyles, value, [object2]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/interaction_components/native/InteractionModal.tsx');
exports.default = closure;
exports.openInteractionModal = function(a0) {
importDefault(dependencyMap[6]).push(InteractionModal, a0, 'interaction_modal');
};
}
function InteractionModal(a0) { // fn#120823, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15943:782, offset: 0x0253697e, size: 1138 bytes, params: 2, frame: 42
const HelpMessage = (require(1305) /* metro dependency 1305: native */).HelpMessage;
const styles = useStyles();
const title = a0.title;
const {components, applicationIconURL, applicationName, submissionState, error, validators, validationErrors,
setValidationErrors,
onSubmit} = (require(15736) /* metro dependency 15736: InteractionModalUtils */).useModalState(a0,
onClose_120824);
const insets = (importDefault(5463) /* metro dependency 5463: useSafeAreaInsetsKeyboardAwareNative */)({includeKeyboardHeight: true}).insets;
const items3 = [styles.modal];
items3[1] = {paddingTop: insets.top, paddingBottom: insets.bottom};
const Avatar = (require(1305) /* metro dependency 1305: native */).Avatar;
const avatarProps = {style: styles.icon,
source: (importDefault(1423) /* metro dependency 1423: AvatarUtils */).makeSource(applicationIconURL)};
const AvatarSizes = (require(1305) /* metro dependency 1305: native */).AvatarSizes;
const SMALL = AvatarSizes.SMALL;
avatarProps.size = SMALL;
const items2 = [<Avatar {...avatarProps} />];
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
items2[1] = <View style={styles.titleView}><Text variant="heading-xl/semibold" color="mobile-text-heading-primary">{title}</Text></View>;
const PressableOpacity = (require(5278) /* metro dependency 5278: Pressables */).PressableOpacity;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
let string = intl.string;
const cpT0Cq = (require(1244) /* metro dependency 1244: indexNative */).t.cpT0Cq;
onClose_120824Binding = onClose_120824;
const XSmallIcon = (require(5312) /* metro dependency 5312: XSmallIcon */).XSmallIcon;
items2[2] = <PressableOpacity accessibilityRole="button" accessibilityLabel={Reflect.apply(string, intl,
[cpT0Cq])} onPress={onClose_120824Binding} style={styles.closeButton}><XSmallIcon color={styles.closeIcon.color} /></PressableOpacity>;
const view = <View style={styles.header}>{items2}</View>;
const value5 = null;
const r18 = value5 != error ? error === '' ? value5 : <View style={styles.error}><HelpMessage messageType={(require(1305) /* metro dependency 1305: native */).HelpMessageTypes.ERROR}>{error}</HelpMessage></View> : value5;
const HelpMessageTypes = (require(1305) /* metro dependency 1305: native */).HelpMessageTypes;
const WARNING = HelpMessageTypes.WARNING;
const items5 = [<View>{r18}<HelpMessage messageType={WARNING}>{intl.format((require(1244) /* metro dependency 1244: indexNative */).t['dSTy/w'],
{applicationName: applicationName})}</HelpMessage></View>];
const ComponentStateContextProvider = (require(8357) /* metro dependency 8357: ComponentStateContext */).ComponentStateContextProvider;
items5[1] = <ComponentStateContextProvider modal={a0} validators={validators} validationErrors={validationErrors} setValidationErrors={setValidationErrors}>{(require(15737) /* metro dependency 15737: renderComponents */).renderComponents(components)}</ComponentStateContextProvider>;
const Button = (require(4578) /* metro dependency 4578: ButtonNative */).Button;
string = intl.string;
const geKm7t = (require(1244) /* metro dependency 1244: indexNative */).t.geKm7t;
const IN_FLIGHT = InteractionModalState.IN_FLIGHT;
items5[2] = <View style={styles.footer}><Button text={Reflect.apply(string, intl,
[geKm7t])} loading={submissionState === IN_FLIGHT} size="lg" onPress={onSubmit} /></View>;
return (
<View style={items3}>
{view}
<ScrollView
style={styles.scroll}
contentContainerStyle={styles.modalContent}
keyboardShouldPersistTaps="handled"
>
{items5}
</ScrollView>
</View>
);
}
function onClose_120824() { // fn#120824, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15943:756, offset: 0x02536df0, size: 44 bytes, params: 1, frame: 11
return (importDefault(5080) /* metro dependency 5080: ModalActionCreators */).popWithKey('interaction_modal');
}