Initial commit

This commit is contained in:
janisslsm committed 2026-07-27 16:20:00 +03:00
commit af3b49f756
16065 files changed
+2938410

No files matched your search

+111
View File
@@ -0,0 +1,111 @@
/* Metro module 7081; source: modules/chat/SlowmodeUtils.tsx; dependencies: [3784, 661, 566, 1244, 672, 3738, 2] */
function _fun56511(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#56511, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7259:6, offset: 0x013c9e9d, size: 180 bytes, params: 8, frame: 19
let env0_0 = require;
const canBypassSlowmodeHelper = function(a0, a1, a2) {
return a2.can(Permissions.BYPASS_SLOWMODE, a0);
};
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const permissionStore = importDefault(3784) /* metro dependency 3784: PermissionStore */;
const env0_4 = (require(661) /* metro dependency 661: Constants */).Permissions;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/chat/SlowmodeUtils.tsx');
exports.canBypassSlowmode = function(a0, a1) {
return canBypassSlowmodeHelper(a0, undefined, PermissionStore);
};
exports.useCanBypassSlowmode = function(a0, a1) {
var env0_0 = a0;
return require(dependencyMap[2]).useStateFromStores([PermissionStore], _fun56515);
};
exports.getSlowmodeIndicatorText = getSlowmodeIndicatorText;
exports.getSlowmodeDescription = getSlowmodeDescription;
}
function useCanBypassSlowmode(a0, a1) { // fn#56514, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7259:380, offset: 0x013c9f8b, size: 64 bytes, params: 3, frame: 14
const env0_0 = a0;
return (require(566) /* metro dependency 566: flux */).useStateFromStores([PermissionStore], _fun56515);
}
function getSlowmodeIndicatorText(a0, a1) { // fn#56516, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7259:519, offset: 0x013c9fe8, size: 460 bytes, params: 3, frame: 22
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
var value4;
var value7;
var value10;
var value;
if (a1) {
return intl.string(t['8+NidX']);
}
const Millis = (importDefault(672) /* metro dependency 672: Durations */).Millis;
const HOUR = Millis.HOUR;
if (a0 >= HOUR) {
value = importDefault(3738) /* metro dependency 3738 */;
value = value.duration(a0);
value7 = ('' + value.minutes()).padStart(2, '0');
value10 = ('' + value.seconds()).padStart(2, '0');
value = value.hours();
return '' + value + ':' + value7 + ':' + value10;
}
if (a0 > 0) {
value = importDefault(3738) /* metro dependency 3738 */;
value = value.duration(a0);
value4 = ('' + value.seconds()).padStart(2, '0');
value = value.minutes();
return '' + value + ':' + value4;
}
const string = intl.string;
const Icu3bf = t.Icu3bf;
return Reflect.apply(string, intl, [Icu3bf]);
}
function getSlowmodeDescription(a0) { // fn#56517, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7259:933, offset: 0x013ca1b4, size: 548 bytes, params: 2, frame: 21
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
var formatToPlainString;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
var Math;
var floor;
var value2;
var value3;
var value4;
var MINUTE;
var value5;
var value6;
var value7;
const value = a1;
let r1 = value !== undefined ? value : false;
let Seconds = (importDefault(672) /* metro dependency 672: Durations */).Seconds;
let HOUR = Seconds.HOUR;
if (a0 >= HOUR) {
Math = global.Math;
floor = Math.floor;
Seconds = (importDefault(672) /* metro dependency 672: Durations */).Seconds;
HOUR = Seconds.HOUR;
value3 = Reflect.apply(floor, Math, [a0 / HOUR]);
Math = global.Math;
floor = Math.floor;
Seconds = (importDefault(672) /* metro dependency 672: Durations */).Seconds;
HOUR = Seconds.HOUR;
value4 = a0 - value3 * HOUR;
Seconds = (importDefault(672) /* metro dependency 672: Durations */).Seconds;
MINUTE = Seconds.MINUTE;
value5 = Reflect.apply(floor, Math, [value4 / MINUTE]);
Seconds = (importDefault(672) /* metro dependency 672: Durations */).Seconds;
HOUR = Seconds.HOUR;
value6 = a0 - value3 * HOUR;
Seconds = (importDefault(672) /* metro dependency 672: Durations */).Seconds;
MINUTE = Seconds.MINUTE;
value7 = value6 - value5 * MINUTE;
formatToPlainString = intl.formatToPlainString;
r1 = r1 ? t.oEwLez : t['3hz51F'];
return Reflect.apply(formatToPlainString, intl, [r1, {hours: value3, minutes: value5, seconds: value7}]);
}
if (a0 >= 60) {
value2 = global.Math.floor(a0 / 60);
return intl.formatToPlainString(r1 ? t.DARKYm : t.sY3wlG, {minutes: value2, seconds: a0 - 60 * value2});
}
return intl.formatToPlainString(r1 ? t['9yE8Ga'] : t.IWntYg, {seconds: a0});
}
function _fun56515() { // fn#56515, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7259:454, offset: 0x013c9fcb, size: 29 bytes, params: 1, frame: 14
return canBypassSlowmodeHelper(env0_0, undefined, PermissionStore);
}
@@ -0,0 +1,50 @@
/* Metro module 9869; source: modules/chat/native/Chat.android.tsx; dependencies: [31, 4502, 33, 4501, 1357, 5321, 9870, 9871, 566, 9851, 2] */
function _fun77442(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#77442, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10055:6, offset: 0x01dfc321, size: 228 bytes, params: 8, frame: 21
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = importAll(31) /* metro dependency 31 */;
const accessibilityStore = importDefault(4502) /* metro dependency 4502: AccessibilityStore */;
const value2 = require(33) /* metro dependency 33 */;
const env0_5 = value2.jsx;
const env0_6 = value2.jsxs;
const env0_7 = (require(4501) /* metro dependency 4501: createStyles */).createStyles({chatList: {flex: 1}});
value = value.forwardRef(_fun77445);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/chat/native/Chat.android.tsx');
exports.default = value;
}
function DCDChatList() { // fn#77443, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10055:187, offset: 0x01dfc405, size: 218 bytes, params: 1, frame: 21
const styles = useStyles();
const mobileVisualRefreshExperimentModule = require(1357) /* metro dependency 1357: MobileVisualRefreshExperiment */;
const useMobileVisualRefreshConfig = mobileVisualRefreshExperimentModule.useMobileVisualRefreshConfig;
const chatInputFloating = Reflect.apply(useMobileVisualRefreshConfig, mobileVisualRefreshExperimentModule,
[{location: 'DCDChatList'}]).chatInputFloating;
const value2 = env0_3.useMemo(_fun77444, []);
const GestureDetector = (require(5321) /* metro dependency 5321 */).GestureDetector;
const ChatListNativeComponent = importDefault(9870) /* metro dependency 9870: ChatListNativeComponent */;
const TTIFirstContentfulPaint = (require(9871) /* metro dependency 9871: TTIFirstContentfulPaint */).TTIFirstContentfulPaint;
return (
<GestureDetector gesture={value2}>
<ChatListNativeComponent style={styles.chatList} floatingChatInputEnabled={chatInputFloating}>
<TTIFirstContentfulPaint label="chat_list_android" />
</ChatListNativeComponent>
</GestureDetector>
);
}
function _fun77445(a0, a1) { // fn#77445, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10055:607, offset: 0x01dfc524, size: 163 bytes, params: 3, frame: 17
return ((Component) => <Component {...a0} {...{['roleStyle']: (require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore],
function() {
return AccessibilityStore.roleStyle;
})}} {...{['ref']: a1}}><DCDChatList />{a0.children}</Component>)(importDefault(9851) /* metro dependency 9851: ChatNativeComponent */);
}
function _fun77444() { // fn#77444, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10055:316, offset: 0x01dfc4df, size: 69 bytes, params: 1, frame: 11
let value = environment.__proto__;
const Gesture = (require(5321) /* metro dependency 5321 */).Gesture;
value = Gesture.Native();
value = value.disallowInterruption(true);
return value.shouldCancelWhenOutside(false);
}
@@ -0,0 +1,22 @@
/* Metro module 9852; source: modules/chat/native/ChatChangesetUpdateTracker.tsx; dependencies: [2] */
function _fun77219(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#77219, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10038:6, offset: 0x01df5c98, size: 130 bytes, params: 8, frame: 17
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const WeakMap = global.WeakMap;
const weakMap = new WeakMap();
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/chat/native/ChatChangesetUpdateTracker.tsx');
exports.getAndIncrementChangesetIdForChat = getAndIncrementChangesetIdForChat;
exports.getChangesetIdForChat = getChangesetIdForChat;
}
function getAndIncrementChangesetIdForChat(a0) { // fn#77220, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10038:230, offset: 0x01df5d1a, size: 58 bytes, params: 2, frame: 14
const value4 = (env0_0.get(a0) ?? 0) + 1;
env0_0.set(a0, value4);
return value4;
}
function getChangesetIdForChat(a0) { // fn#77221, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10038:356, offset: 0x01df5d54, size: 48 bytes, params: 2, frame: 14
const value = 0;
return a0 == null ? value : env0_0.get(a0) ?? value;
}
@@ -0,0 +1,259 @@
/* Metro module 9715; source: modules/chat/native/ChatLoadingIndicator.tsx; dependencies: [57, 31, 27, 4502, 4257, 4814, 1934, 1878, 7030, 661, 33, 4501, 697, 4496, 4596, 1962, 566, 4573, 9716, 4017, 4504, 1244, 5278, 2] */
function _fun76326(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#76326, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9901:6, offset: 0x01dcae41, size: 492 bytes, params: 8, frame: 23
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(57) /* metro dependency 57 */;
const value = importAll(31) /* metro dependency 31 */;
const env0_5 = (require(27) /* metro dependency 27 */).View;
const accessibilityStore = importDefault(4502) /* metro dependency 4502: AccessibilityStore */;
const gatewayConnectionStore = importDefault(4257) /* metro dependency 4257: GatewayConnectionStore */;
const messageStore = importDefault(4814) /* metro dependency 4814: MessageStore */;
const selectedChannelStore = importDefault(1934) /* metro dependency 1934: SelectedChannelStore */;
const userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
const appStateStore = importDefault(7030) /* metro dependency 7030: AppStateStore */;
const env0_12 = (require(661) /* metro dependency 661: Constants */).AppStates;
const value2 = require(33) /* metro dependency 33 */;
const env0_13 = value2.jsx;
const env0_14 = value2.jsxs;
const env0_15 = value2.Fragment;
const createStylesModule = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = createStylesModule.createStyles;
const object3 = {'height': 8, 'width': 8};
object3.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round;
const BACKGROUND_BRAND = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BRAND;
object3.backgroundColor = BACKGROUND_BRAND;
const env0_16 = Reflect.apply(createStyles, createStylesModule, [{container: {'flexDirection': 'row',
'alignItems': 'center', 'gap': 4}, pulse: object3}]);
const env0_18 = value.memo(_fun76331);
object = {code: 'function ChatLoadingIndicatorTsx1(){const{useReducedMotion,withRepeat,withSequence,withTiming,Easing}=this.__closure;if(useReducedMotion){return{transform:[]};}return{transform:[{scale:withRepeat(withSequence(withTiming(1,{duration:0}),withTiming(0.5,{duration:1500,easing:Easing.bezier(0.4,0,0.2,1)}),withTiming(1,{duration:1500,easing:Easing.bezier(0.4,0,0.2,1)})),-1)}]};}'};
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/chat/native/ChatLoadingIndicator.tsx');
exports.useShouldChannelShowLoadingIndicator = useShouldChannelShowLoadingIndicator;
exports.ChannelHeaderLoadingIndicator = ChannelHeaderLoadingIndicator;
}
function openLoadingIndicatorDebugBody() { // fn#76327, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9901:475, offset: 0x01dcb02d, size: 121 bytes, params: 1, frame: 13
var value;
const currentUser = UserStore.getCurrentUser();
let r1 = currentUser != null && currentUser.isStaff();
r1 = !r1 ? currentUser != null && currentUser.isStaffPersonal() : r1;
if (r1) {
value = importDefault(4496) /* metro dependency 4496: AlertActionCreators */;
value.openLazy({importer: importer_76328, isDismissable: true});
}
}
function _fun76331() { // fn#76331, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9901:731, offset: 0x01dcb145, size: 247 bytes, params: 1, frame: 22
const {messagesCached, messagesReady,
connected} = (require(566) /* metro dependency 566: flux */).useStateFromStoresObject([MessageStore,
GatewayConnectionStore, SelectedChannelStore], _fun76332);
const closure = renderField;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const items2 = [closure('messages.cached', messagesCached, false), '\n', closure('messages.ready', messagesReady,
true), '\n', closure('connected', connected, true), '\n'];
let r6 = messagesCached || !messagesReady;
r6 = !r6 ? !connected : r6;
items2[6] = closure('should show chat indicator', r6);
return (
<Text variant="text-md/normal" color="text-default">
{items2}
</Text>
);
}
function useShouldChannelShowLoadingIndicator(a0) { // fn#76334, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9901:2145, offset: 0x01dcb3a0, size: 208 bytes, params: 2, frame: 18
const env0_0 = a0;
const ChatLoadingIndicatorExperiment = (require(9716) /* metro dependency 9716: ChatLoadingIndicatorExperiment */).ChatLoadingIndicatorExperiment;
const useConfig = ChatLoadingIndicatorExperiment.useConfig;
const env0_1 = Reflect.apply(useConfig, ChatLoadingIndicatorExperiment,
[{location: 'ChatLoadingIndicatorGuard'}]).enabled;
const value2 = (require(566) /* metro dependency 566: flux */).useStateFromStores([MessageStore,
GatewayConnectionStore, AppStateStore], _fun76335);
const binding = env0_4;
const value = env0_3(binding.useState(false), 2);
const property = value[0];
var env0_3 = value[1];
binding.useEffect(_fun76336, [value2]);
return property;
}
function ChannelHeaderLoadingIndicator() { // fn#76339, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9901:2670, offset: 0x01dcb52f, size: 495 bytes, params: 1, frame: 24
var object2;
const styles = useStyles();
const useReducedMotion = (require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore],
function() {
return AccessibilityStore.useReducedMotion;
});
const value2 = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], _fun76341);
const reanimatedRexportModule = require(4017) /* metro dependency 4017: ReanimatedRexport */;
const useAnimatedStyle = reanimatedRexportModule.useAnimatedStyle;
const closure = ChannelHeaderLoadingIndicatorT;
object2 = {useReducedMotion: useReducedMotion};
object2.withRepeat = reanimatedRexportModule.withRepeat;
object2.withSequence = reanimatedRexportModule.withSequence;
object2.withTiming = (require(4504) /* metro dependency 4504: timing */).withTiming;
const Easing = reanimatedRexportModule.Easing;
object2.Easing = Easing;
closure.__closure = object2;
closure.__workletHash = 17454673879926;
closure.__initData = env0_19;
const value3 = Reflect.apply(useAnimatedStyle, reanimatedRexportModule, [closure]);
const View2 = (importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).View;
const view = <View2 style={[styles.pulse, value3]} />;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const string = intl.string;
const JwIJMV = (require(1244) /* metro dependency 1244: indexNative */).t.JwIJMV;
const view2 = <View style={styles.container}>{view}<Text variant="text-xs/medium" color="text-muted">{Reflect.apply(string,
intl, [JwIJMV])}</Text></View>;
if (value2) {
const PressableOpacity = (require(5278) /* metro dependency 5278: Pressables */).PressableOpacity;
return (
<PressableOpacity onPress={openLoadingIndicatorDebugBody}>
{view2}
</PressableOpacity>
);
} else {
return view2;
}
}
function openLoadingIndicatorDebugBodyImporter() { // fn#76328, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9901:587, owner: openLoadingIndicatorDebugBody.importer, offset: 0x01dcb0a6, size: 64 bytes, params: 1, frame: 13
var environment;
let value = environment.__proto__;
value = require(dependencyMap[15]);
value = value(dependencyMap[14], dependencyMap.paths);
return value.then(function({default: env0_0}) {
return _fun76330;
});
}
function _fun76332() { // fn#76332, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9901:791, offset: 0x01dcb23c, size: 104 bytes, params: 1, frame: 12
var object2;
let value = environment.__proto__;
const channelId = SelectedChannelStore.getChannelId();
const isConnected2 = GatewayConnectionStore.isConnected();
if (channelId == null) {
object2 = {'messagesCached': false, 'messagesReady': false};
} else {
value = MessageStore.getMessages(channelId);
object2 = {};
object2.messagesCached = value.cached;
object2.messagesReady = value.ready;
}
object2.connected = isConnected2;
return object2;
}
function renderField(a0, a1, a2) { // fn#76333, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9901:1058, offset: 0x01dcb2a4, size: 252 bytes, params: 4, frame: 24
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const value = environment.__proto__;
const jsxRuntimeEnv1_15Binding = jsxRuntimeEnv1_15;
const items2 = [a0, ':', ' '];
const r10 = a1 ? 'text-feedback-positive' : 'text-feedback-critical';
const value4 = 'false';
items2[3] = <Text variant="text-md/normal" color={r10}>{a1 ? 'true' : value4}</Text>;
const value6 = null;
items2[4] = value6 != a2 ? a1 === a2 ? value6 : <Text variant="text-md/normal" color="text-muted">{' '}{'(should be '}{a2 ? 'true' : value4}{' to hide loading indicator)'}</Text> : value6;
return (
<>
{items2}
</>
);
}
function _fun76335() { // fn#76335, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9901:2337, offset: 0x01dcb470, size: 122 bytes, params: 1, frame: 12
var r0;
var value2;
var isConnected2;
var messages;
if (enabled) {
if (env0_0 == null) {
return false;
}
value2 = environment.__proto__;
if (AppStateStore.getState() !== AppStates.ACTIVE) {
return false;
}
messages = MessageStore.getMessages(env0_0);
isConnected2 = GatewayConnectionStore.isConnected();
r0 = messages.cached || !messages.ready;
r0 = !r0 ? !isConnected2 : r0;
return r0;
}
return false;
}
function _fun76336() { // fn#76336, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9901:2547, offset: 0x01dcb4ea, size: 69 bytes, params: 1, frame: 14
if (env0_2) {
var env0_0 = global.setTimeout(_fun76337, 3000);
return _fun76338;
}
env0_3(false);
}
function _fun76341() { // fn#76341, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9901:2818, offset: 0x01dcb71e, size: 64 bytes, params: 1, frame: 12
var r1;
let value = environment.__proto__;
value = UserStore.getCurrentUser();
const value2 = undefined;
let r0 = value == null ? value2 : value.isStaff();
if (!r0) {
if (value == null) {
r1 = value2;
} else {
value = value.isStaffPersonal();
r1 = value;
}
r0 = r1;
}
return r0;
}
function ChannelHeaderLoadingIndicatorT() { // fn#76342, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9901:2956, owner: ChannelHeaderLoadingIndicator.t, offset: 0x01dcb75e, size: 321 bytes, params: 1, frame: 33
var withRepeat;
var moduleValue;
var withSequence;
var withTiming;
var value2;
var moduleValue3;
var object2;
const Easing = (require(4017) /* metro dependency 4017: ReanimatedRexport */).Easing;
var value3;
var moduleValue4;
var object3;
var value;
const object6 = {};
if (useReducedMotion) {
object6.transform = [];
} else {
value = environment.__proto__;
value = require(4017) /* metro dependency 4017: ReanimatedRexport */;
withRepeat = value.withRepeat;
moduleValue = require(4017) /* metro dependency 4017: ReanimatedRexport */;
withSequence = moduleValue.withSequence;
value2 = (require(4504) /* metro dependency 4504: timing */).withTiming(1, {duration: 0});
moduleValue3 = require(4504) /* metro dependency 4504: timing */;
withTiming = moduleValue3.withTiming;
object2 = {duration: 1500};
object2.easing = Easing.bezier(0.4, 0, 0.2, 1);
value3 = Reflect.apply(withTiming, moduleValue3, [0.5, object2]);
moduleValue4 = require(4504) /* metro dependency 4504: timing */;
withTiming = moduleValue4.withTiming;
object3 = {duration: 1500};
object3.easing = Easing.bezier(0.4, 0, 0.2, 1);
object6.transform = [{scale: Reflect.apply(withRepeat, value, [Reflect.apply(withSequence, moduleValue, [value2,
value3, Reflect.apply(withTiming, moduleValue4, [1, object3])]), -1])}];
}
return object6;
}
function _fun76329({default: env0_0}) { // fn#76329, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9901:621, offset: 0x01dcb0e6, size: 23 bytes, params: 2, frame: 2
return _fun76330;
}
function _fun76330(a0) { // fn#76330, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9901:636, offset: 0x01dcb0fd, size: 72 bytes, params: 2, frame: 15
const value = environment.__proto__.__proto__.__proto__;
return ((Component) => <Component {...a0} {...{['title']: 'Chat Loading indicator'}}>{((Component) => <Component />)(env3_18)}</Component>)(env0_0);
}
@@ -0,0 +1,11 @@
/* Metro module 9716; source: modules/chat/native/ChatLoadingIndicatorExperiment.tsx; dependencies: [1854, 2] */
function _fun76343(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#76343, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9902:6, offset: 0x01dcb89f, size: 145 bytes, params: 8, frame: 20
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = require(1854) /* metro dependency 1854: apex */;
value = value.createApexExperiment({'name': '2026-01-chat-loading-indicator', 'kind': 'user',
defaultConfig: {enabled: false}, variations: {[1]: {enabled: true}}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/chat/native/ChatLoadingIndicatorExperiment.tsx');
exports.ChatLoadingIndicatorExperiment = value;
}
@@ -0,0 +1,33 @@
/* Metro module 11524; source: modules/chat/native/ChatTTITracker.tsx; dependencies: [33, 9872, 14, 2] */
function _fun88215(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#88215, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11710:6, offset: 0x01fda8a3, size: 142 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const value = require(33) /* metro dependency 33 */;
const env0_3 = value.jsx;
const env0_4 = value.Fragment;
const env0_5 = value.jsxs;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/chat/native/ChatTTITracker.tsx');
exports.ChatTTITracker = ChatTTITracker;
}
function ChatTTITracker({messages}) { // fn#88216, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11710:225, offset: 0x01fda931, size: 225 bytes, params: 2, frame: 24
const jsxRuntimeEnv0_4Binding = jsxRuntimeEnv0_4;
const items2 = [messages.length > 0 ? ((TTIMeasurementView) => <TTIMeasurementView nativeID="cached_messages_tti" onMeasurement={function(a0) {
importDefault(dependencyMap[2]).displayMessagesWithCache.record(a0.nativeEvent.timestamp);
}} key="cached_messages_tti" />)((require(9872) /* metro dependency 9872: TTIMeasurementView */).TTIMeasurementView) : null];
items2[1] = messages.hasFetched ? ((TTIMeasurementView) => <TTIMeasurementView nativeID="latest_messages_tti" onMeasurement={function(a0) {
importDefault(dependencyMap[2]).displayLatestMessages.record(a0.nativeEvent.timestamp);
}} key="latest_messages_tti" />)((require(9872) /* metro dependency 9872: TTIMeasurementView */).TTIMeasurementView) : messages.ready ? messages.cached ? null : ((TTIMeasurementView) => <TTIMeasurementView nativeID="latest_messages_tti" onMeasurement={onMeasurement_88218} key="latest_messages_tti" />)((require(9872) /* metro dependency 9872: TTIMeasurementView */).TTIMeasurementView) : null;
return (
<>
{items2}
</>
);
}
function ChatTTITrackerOnMeasurement_88218({nativeEvent}) { // fn#88218, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11710:578, owner: ChatTTITracker.onMeasurement, offset: 0x01fdaa4d, size: 59 bytes, params: 2, frame: 12
const displayLatestMessages = (importDefault(14) /* metro dependency 14: TTITracker */).displayLatestMessages;
displayLatestMessages.record(nativeEvent.timestamp);
}
@@ -0,0 +1,114 @@
/* Metro module 11332; source: modules/chat/native/ChatUpdatesQueue.tsx; dependencies: [6, 7, 27, 2] */
function _fun86537(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#86537, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11518:6, offset: 0x01f971ec, size: 166 bytes, params: 8, frame: 19
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_0 = importDefault(6) /* metro dependency 6 */;
const env0_1 = importDefault(7) /* metro dependency 7 */;
let value = require(27) /* metro dependency 27 */;
const env0_2 = value.NativeEventEmitter;
const NativeModules = value.NativeModules;
const env0_3 = NativeModules.DCDChatBlockerManager;
value = _fun86538();
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/chat/native/ChatUpdatesQueue.tsx');
exports.default = value;
}
function _fun86538() { // fn#86538, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11518:191, offset: 0x01f97292, size: 265 bytes, params: 1, frame: 15
return env0_1(ChatUpdatesQueue, [{key: 'hasUpdates', value: function() {
return this.queue.length > 0;
}}, {key: 'isBlocking', get: function() {
return this.hasUpdates() || this.blockers.size > 0;
}}, {key: 'addBlocker', value: function(a0) {
if (a0 != null) {
this.blockers.add(a0);
}
}}, {key: 'removeBlocker', value: function(a0) {
if (a0 != null) {
this.blockers.delete(a0);
if (this.blockers.size === 0) {
this.flush();
}
}
}}, {key: 'add', value: value_86547}, {key: 'tryFlush', value: function() {
if (this.blockers.size === 0) {
this.flush();
}
}}, {key: 'clear', value: function() {
this.queue = [];
this.queueStartTimestamp = null;
}}, {key: 'flush', value: function() {
var env0_0 = this;
this.queueStartTimestamp = null;
this.queue.forEach(_fun86551);
this.queue = [];
}}, {key: 'cleanup', value: function() {
this.addBlockerSubscription.remove();
this.removeBlockerSubscription.remove();
}}]);
}
function ChatUpdatesQueue(a0, a1) { // fn#86539, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11518:212, offset: 0x01f9739b, size: 226 bytes, params: 3, frame: 16
var environment;
const value = environment.__proto__;
env1_0(this, ChatUpdatesQueue);
const Set = global.Set;
const value3 = Object.create(Set.prototype, {constructor: {value: Set}});
const set = new Set();
this.blockers = set instanceof Object ? set : value3;
this.queue = [];
this.queueStartTimestamp = null;
this.setOnFlushItem = setOnFlushItem;
this.getReactTag = a0;
this.onFlushItem = a1;
this.eventEmitter = new NativeEventEmitter(DCDChatBlockerManager);
let eventEmitter = this.eventEmitter;
this.addBlockerSubscription = eventEmitter.addListener('AddBlocker', _fun86541);
eventEmitter = this.eventEmitter;
this.removeBlockerSubscription = eventEmitter.addListener('RemoveBlocker', _fun86542);
}
function value_86547(a0) { // fn#86547, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11518:1127, offset: 0x01f975af, size: 164 bytes, params: 2, frame: 13
var Date;
if (this.queueStartTimestamp == null) {
Date = global.Date;
this.queueStartTimestamp = Date.now();
}
this.queue.push(a0);
if (this.queue.length > 100 || this.queueStartTimestamp != null && global.Date.now() - this.queueStartTimestamp > 30000) {
this.blockers.clear();
this.flush();
}
}
function value_86550() { // fn#86550, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11518:1544, offset: 0x01f9768e, size: 54 bytes, params: 1, frame: 12
this.queueStartTimestamp = null;
this.queue.forEach(_fun86551);
this.queue = [];
}
function setOnFlushItem(a0) { // fn#86540, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11518:354, owner: ChatUpdatesQueue.setOnFlushItem, offset: 0x01f9747d, size: 20 bytes, params: 2, frame: 2
env0_0.onFlushItem = a0;
}
function _fun86541({blockerId, reactTag}) { // fn#86541, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11518:515, offset: 0x01f97491, size: 69 bytes, params: 2, frame: 14
if (reactTag != null && reactTag === env0_0.getReactTag()) {
env0_0.addBlocker(blockerId);
}
}
function _fun86542({blockerId, reactTag}) { // fn#86542, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11518:685, offset: 0x01f974d6, size: 69 bytes, params: 2, frame: 14
if (reactTag != null && reactTag === env0_0.getReactTag()) {
env0_0.removeBlocker(blockerId);
}
}
function _fun86551(a0) { // fn#86551, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11518:1605, offset: 0x01f976c4, size: 45 bytes, params: 2, frame: 13
var onFlushItem;
if (a0 != null) {
onFlushItem = env0_0.onFlushItem;
if (onFlushItem != null) {
onFlushItem.call(env0_0, a0);
}
}
}
+317
View File
@@ -0,0 +1,317 @@
/* Metro module 11273; source: modules/chat/native/ChatView.tsx; dependencies: [31, 27, 4257, 1383, 1379, 4814, 661, 33, 4501, 697, 4015, 566, 1244, 5072, 5087, 6518, 11274, 11275, 4884, 6904, 9864, 5097, 11277, 11289, 11321, 11525, 11926, 477, 11954, 11955, 11790, 11959, 11962, 11340, 11965, 7704, 14, 8581, 11980, 1305, 11982, 11984, 11985, 12056, 2] */
function _fun86088(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#86088, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11459:6, offset: 0x01f87236, size: 423 bytes, params: 8, frame: 23
var object3;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = importAll(31) /* metro dependency 31 */;
const StyleSheet = (require(27) /* metro dependency 27 */).StyleSheet;
const gatewayConnectionStore = importDefault(4257) /* metro dependency 4257: GatewayConnectionStore */;
const env0_5 = (require(1383) /* metro dependency 1383: ChannelRecord */).createChannelRecord;
const channelStore = importDefault(1379) /* metro dependency 1379: ChannelStore */;
const messageStore = importDefault(4814) /* metro dependency 4814: MessageStore */;
const env0_8 = (require(661) /* metro dependency 661: Constants */).ChannelTypes;
const value2 = require(33) /* metro dependency 33 */;
const env0_9 = value2.jsx;
const env0_10 = value2.jsxs;
const env0_11 = value2.Fragment;
const createStylesModule = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = createStylesModule.createStyles;
object3 = {};
const object4 = {flex: 1};
object4.borderTopWidth = StyleSheet.hairlineWidth;
const BORDER_SUBTLE = (importDefault(697) /* metro dependency 697: native */).colors.BORDER_SUBTLE;
object4.borderTopColor = BORDER_SUBTLE;
object3.empty = object4;
object3.messages = {'flex': 1, 'overflow': 'hidden'};
const CHANNEL_BACKGROUND_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.CHANNEL_BACKGROUND_DEFAULT;
object3.chat = {'backgroundColor': null, 'justifyContent': 'flex-start', 'overflow': 'hidden', 'flex': 1,
backgroundColor: CHANNEL_BACKGROUND_DEFAULT};
const env0_12 = Reflect.apply(createStyles, createStylesModule, [object3]);
value = value.memo(ChatView);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/chat/native/ChatView.tsx');
exports.default = value;
}
function ChatView({alwaysRespectKeyboard, channelId, chatInputRef, disableGradient, guildId, HACK_fixModalInteraction, screenIndex, secondaryTextFieldRef, setNoExtractUI}) { // fn#86089, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11459:536, offset: 0x01f873dd, size: 1484 bytes, params: 2, frame: 34
var r7;
var r5;
const EmptyState = (require(1305) /* metro dependency 1305: native */).EmptyState;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
alwaysRespectKeyboard = !(alwaysRespectKeyboard === undefined) && alwaysRespectKeyboard;
disableGradient = !(disableGradient === undefined) && disableGradient;
var value;
const styles = useStyles();
let binding = HACK_fixModalInteraction;
binding.useEffect(_fun86090, [channelId, alwaysRespectKeyboard]);
const channel = (require(566) /* metro dependency 566: flux */).useStateFromStores([ChannelStore], function() {
return ChannelStore.getChannel(channelId);
});
const value2 = binding.useMemo(_fun86092, [channel, channelId]);
const channelIsLoading = value2.channelIsLoading;
const channel2 = value2.channel;
const value3 = (require(5072) /* metro dependency 5072: AgeGateUtils */).useIsChannelContentGated(channel2);
const value5 = (require(5087) /* metro dependency 5087: SpoilerChannelUtils */).useGetSpoilerGatingChannelId(channel ?? null);
binding = HACK_fixModalInteraction;
const env0_10 = binding.useRef(channelId);
const value6 = binding.useRef(null);
const env0_12 = binding.useRef(null);
const env0_13 = (importDefault(6518) /* metro dependency 6518: useInitialValue */)(_fun86093);
const value8 = (require(566) /* metro dependency 566: flux */).useStateFromStoresObject([MessageStore], _fun86094,
[channelId, (importDefault(11275) /* metro dependency 11275: useIsSelectedResourceChannel */)(channelId)]);
const env0_15 = value8.shouldRenderPlaceholder;
const env0_16 = value8.shouldRenderBegginingRow;
let closure = _fun86095;
const env0_17 = binding.useCallback(closure, []);
const env0_18 = binding.useCallback(function(a0) {
var keyCommand = a0.nativeEvent.keyCommand;
var current = chatInputRef.current;
if (current != null) {
current.handlePressKey(keyCommand);
}
}, [chatInputRef]);
const env0_19 = binding.useCallback(_fun86097, [value6]);
const env0_20 = binding.useCallback(_fun86098, [value6]);
binding.useLayoutEffect(_fun86099, []);
binding.useEffect(_fun86100, [channelId]);
binding.useEffect(_fun86101, [channel2.id]);
binding.useEffect(function() {
return _fun86103;
}, []);
closure = renderMessagesWrapper;
const StartupProfiler = importDefault(11340) /* metro dependency 11340: StartupProfiler */;
const Profiles = (require(11340) /* metro dependency 11340: StartupProfiler */).Profiles;
const ChatView = Profiles.ChatView;
const value9 = ((Component) => <Component channelId={channelId} guildId={guildId} />)(importDefault(11965) /* metro dependency 11965: ChatViewPopups */);
const r8 = disableGradient ? null : ((Component) => <Component absolute />)(importDefault(7704) /* metro dependency 7704: ThemedGradient */);
const closure2 = ChatViewV;
const ageGateUtilsModule = require(8581) /* metro dependency 8581: AgeGateUtils */;
if (ageGateUtilsModule.shouldNSFWGateGuild(guildId)) {
value = importDefault(11980) /* metro dependency 11980: NsfwGateChat */;
value = ((Component) => <Component />)(value);
closure2(value, 'NsfwGateChat');
r5 = value;
} else if (channelIsLoading) {
if (GatewayConnectionStore.isConnected()) {
if (channelIsLoading) {
value = <EmptyState style={styles.empty} title={intl.string(t.ai6Lbr)} body={intl.string(t['LTr+x9'])} />;
closure2(value, 'EmptyState');
r7 = value;
} else if (value3) {
value = importDefault(11982) /* metro dependency 11982: GuildNSFW */;
value = ((Component) => <Component guildId={guildId} channelId={channelId} />)(value);
closure2(value, 'GuildNSFW');
r7 = value;
} else if (value5 == null) {
if (channel2.isDirectory()) {
value = importDefault(11985) /* metro dependency 11985: GuildDirectory */;
value = ((Component) => <Component channel={channel2} guildId={guildId} />)(value);
closure2(value, 'GuildDirectory');
r7 = value;
} else if (channel2.isForumLikeChannel()) {
value = importDefault(12056) /* metro dependency 12056: ForumChannel */;
value = ((Component) => <Component channel={channel2} />)(value);
closure2(value, 'ForumChannel');
r7 = value;
} else {
r7 = closure();
}
} else if (value5 != null) {
value = importDefault(11984) /* metro dependency 11984: ChannelSpoiler */;
value = ((Component) => <Component guildId={guildId} channelId={value5} key={channelId} />)(value);
closure2(value, 'ChannelSpoiler');
r7 = value;
} else if (channel2.isDirectory()) {
value = importDefault(11985) /* metro dependency 11985: GuildDirectory */;
value = ((Component) => <Component channel={channel2} guildId={guildId} />)(value);
closure2(value, 'GuildDirectory');
r7 = value;
} else if (channel2.isForumLikeChannel()) {
value = importDefault(12056) /* metro dependency 12056: ForumChannel */;
value = ((Component) => <Component channel={channel2} />)(value);
closure2(value, 'ForumChannel');
r7 = value;
} else {
r7 = closure();
}
r5 = r7;
} else {
r5 = closure();
}
} else {
if (channelIsLoading) {
value = <EmptyState style={styles.empty} title={intl.string(t.ai6Lbr)} body={intl.string(t['LTr+x9'])} />;
closure2(value, 'EmptyState');
r7 = value;
} else if (value3) {
value = importDefault(11982) /* metro dependency 11982: GuildNSFW */;
value = ((Component) => <Component guildId={guildId} channelId={channelId} />)(value);
closure2(value, 'GuildNSFW');
r7 = value;
} else if (value5 == null) {
if (channel2.isDirectory()) {
value = importDefault(11985) /* metro dependency 11985: GuildDirectory */;
value = ((Component) => <Component channel={channel2} guildId={guildId} />)(value);
closure2(value, 'GuildDirectory');
r7 = value;
} else if (channel2.isForumLikeChannel()) {
value = importDefault(12056) /* metro dependency 12056: ForumChannel */;
value = ((Component) => <Component channel={channel2} />)(value);
closure2(value, 'ForumChannel');
r7 = value;
} else {
r7 = closure();
}
} else if (value5 != null) {
value = importDefault(11984) /* metro dependency 11984: ChannelSpoiler */;
value = ((Component) => <Component guildId={guildId} channelId={value5} key={channelId} />)(value);
closure2(value, 'ChannelSpoiler');
r7 = value;
} else if (channel2.isDirectory()) {
value = importDefault(11985) /* metro dependency 11985: GuildDirectory */;
value = ((Component) => <Component channel={channel2} guildId={guildId} />)(value);
closure2(value, 'GuildDirectory');
r7 = value;
} else if (channel2.isForumLikeChannel()) {
value = importDefault(12056) /* metro dependency 12056: ForumChannel */;
value = ((Component) => <Component channel={channel2} />)(value);
closure2(value, 'ForumChannel');
r7 = value;
} else {
r7 = closure();
}
r5 = r7;
}
return (
<StartupProfiler profile={ChatView}>
{value9}
{r8}
{r5}
</StartupProfiler>
);
}
function _fun86090() { // fn#86090, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11459:747, offset: 0x01f879a9, size: 49 bytes, params: 1, frame: 11
var value;
if (!alwaysRespectKeyboard) {
value = environment.__proto__;
value = require(4015) /* metro dependency 4015: ChatInputUtils */;
value.dismissKeyboard();
}
}
function _fun86092() { // fn#86092, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11459:865, offset: 0x01f879da, size: 137 bytes, params: 1, frame: 20
var r3;
var value2;
var createChannelRecordBinding;
var object;
var intl;
if (channel == null) {
value2 = environment.__proto__;
createChannelRecordBinding = createChannelRecord;
object = {};
object.id = channelId;
object.type = ChannelTypes.GUILD_TEXT;
intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
object.name = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.ZTNur7);
r3 = createChannelRecordBinding(object);
} else {
r3 = channel;
}
return {channel: r3, channelIsLoading: channel == null};
}
function _fun86094() { // fn#86094, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11459:1260, offset: 0x01f87a92, size: 93 bytes, params: 1, frame: 14
const value = environment.__proto__;
const messages = MessageStore.getMessages(channelId);
return {shouldRenderPlaceholder: messages.length === 0 && (messages.loadingMore || !messages.ready),
shouldRenderBegginingRow: !messages.hasMoreBefore && !env0_14};
}
function _fun86095(a0) { // fn#86095, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11459:1489, offset: 0x01f87aef, size: 36 bytes, params: 2, frame: 11
const current = env0_12.current;
if (current != null) {
current.onChatViewScrolled(a0);
}
}
function _fun86097() { // fn#86097, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11459:1671, offset: 0x01f87b45, size: 32 bytes, params: 1, frame: 9
const current = env0_11.current;
if (current != null) {
current.scrollToNewMessages();
}
}
function _fun86098() { // fn#86098, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11459:1751, offset: 0x01f87b65, size: 32 bytes, params: 1, frame: 9
const current = env0_11.current;
if (current != null) {
current.jumpToPresent();
}
}
function _fun86099() { // fn#86099, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11459:1827, offset: 0x01f87b85, size: 37 bytes, params: 1, frame: 11
const value = environment.__proto__;
return (require(4884) /* metro dependency 4884: TTIAnalyticsUtils */).trackAppUIViewed();
}
function _fun86100() { // fn#86100, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11459:1877, offset: 0x01f87baa, size: 72 bytes, params: 1, frame: 14
const value = environment.__proto__;
const defaultImport = importDefault(6904) /* metro dependency 6904: LazyLoadedThreadManager */;
const loadThread = defaultImport.loadThread;
const channelIdBinding = channelId;
Reflect.apply(loadThread, defaultImport, [channelIdBinding]);
(require(9864) /* metro dependency 9864: SummaryActionCreators */).fetchSummaries(channelIdBinding);
}
function _fun86101() { // fn#86101, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11459:1952, offset: 0x01f87bf2, size: 26 bytes, params: 1, frame: 2
env0_10.current = channel.id;
}
function _fun86102() { // fn#86102, offset: 0x01f87c0c, size: 11 bytes, params: 1, frame: 1
return _fun86103;
}
function renderMessagesWrapper() { // fn#86104, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11459:2085, owner: ChatView.renderMessagesWrapper, offset: 0x01f87c49, size: 725 bytes, params: 1, frame: 27
let value = environment.__proto__;
const jsxRuntimeEnv1_11Binding = jsxRuntimeEnv1_11;
const ChatViewWrapper = importDefault(11277) /* metro dependency 11277: ChatViewWrapper */;
const defaultImportProps = {style: styles.messages};
let channelIdBinding = channelId;
defaultImportProps.channelId = channelIdBinding;
defaultImportProps.stickyHeader = ((Component) => <Component channel={channel} ref={env0_12} scrollToNewMessages={env0_19} />)(importDefault(11289) /* metro dependency 11289: ChatViewStickyHeader */);
const Messages = importDefault(11321) /* metro dependency 11321: Messages */;
const screenIndexBinding = screenIndex;
const chatInputRefBinding = chatInputRef;
const items2 = [<Messages alwaysRespectKeyboard={alwaysRespectKeyboard} channel={channel} screenIndex={screenIndexBinding} chatInputRef={chatInputRefBinding} HACK_fixModalInteraction={HACK_fixModalInteraction} isResourceChannel={env0_14} onPressKey={env0_18} onScroll={env0_17} ref={env0_11} style={styles.chat} visibleMessagesWindowHandler={env0_13}>{((Component) => <Component ref={chatInputRefBinding} channel={channel} isResourceChannel={env0_14} screenIndex={screenIndexBinding} secondaryTextFieldRef={secondaryTextFieldRef} setNoExtractUI={setNoExtractUI} onJumpToPresent={env0_20} />)(importDefault(11525) /* metro dependency 11525: ChatInput */)}{((Component) => <Component channelId={channelIdBinding} guildId={channel.getGuildId()} shouldRender={shouldRenderBegginingRow} />)(importDefault(11926) /* metro dependency 11926: ChatBeginningRow */)}</Messages>];
const platformUtilsModule = require(477) /* metro dependency 477: PlatformUtils */;
const isAndroid2 = platformUtilsModule.isAndroid();
const value5 = null;
items2[1] = isAndroid2 ? value5 : ((Component) => <Component channelId={channel.id} messagesRef={env0_11} />)(importDefault(11954) /* metro dependency 11954: PortalKeyboardInlineComponentIos */);
items2[2] = shouldRenderPlaceholder ? ((Component) => <Component screenIndex={screenIndex} />)(importDefault(11955) /* metro dependency 11955: ChatPlaceholder */) : value5;
const moduleValue2 = platformUtilsModule;
items2[3] = moduleValue2.isAndroid() ? ((Component) => <Component channelId={channelId} screenIndex={screenIndex} onJumpToPresent={env0_20} />)(importDefault(11790) /* metro dependency 11790: JumpToPresentButton */) : value5;
const items3 = [<ChatViewWrapper {...defaultImportProps}>{items2}</ChatViewWrapper>];
value = importDefault(11959) /* metro dependency 11959: ChannelSafeAreaBottomAndroid */;
channelIdBinding = channelId;
items3[1] = ((Component) => <Component channelId={channelIdBinding} />)(value);
items3[2] = ((Component) => <Component channelId={channelIdBinding} />)(importDefault(11962) /* metro dependency 11962: VoiceMessageOverlay */);
return (
<>
{items3}
</>
);
}
function ChatViewV(a0, a1) { // fn#86105, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11459:2998, owner: ChatView.V, offset: 0x01f87f1e, size: 44 bytes, params: 3, frame: 11
const value = environment.__proto__;
(importDefault(14) /* metro dependency 14: TTITracker */).setInterstitial(a1);
return a0;
}
function _fun86103() { // fn#86103, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11459:1999, offset: 0x01f87c17, size: 50 bytes, params: 1, frame: 12
let value = environment.__proto__.__proto__;
value = require(5097) /* metro dependency 5097: ReadStateActionCreators */;
value.clearOldestUnreadMessageId(env1_10.current);
}
@@ -0,0 +1,49 @@
/* Metro module 11965; source: modules/chat/native/ChatViewPopups.tsx; dependencies: [31, 11966, 11970, 11978, 2] */
function _fun91851(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#91851, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12151:6, offset: 0x02074ee8, size: 139 bytes, params: 8, frame: 19
const env0_0 = require;
const closure = ChatViewPopups;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = importAll(31) /* metro dependency 31 */;
value = value.memo(closure);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/chat/native/ChatViewPopups.tsx');
exports.default = value;
exports.ChatViewPopups = closure;
}
function ChatViewPopups({channelId, guildId}) { // fn#91852, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12151:106, offset: 0x02074f73, size: 147 bytes, params: 2, frame: 18
const env0_1 = env0_3.useRef(false);
const value2 = (importDefault(11966) /* metro dependency 11966: useIsHubRealNamePromptShowing */)(guildId);
const value3 = (require(11970) /* metro dependency 11970: WelcomeScreenUtils */).useShowWelcomeModal(guildId,
channelId);
var env0_3 = value3;
env0_3.useEffect(_fun91853, [guildId, value3, value2]);
return null;
}
function _fun91853() { // fn#91853, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12151:242, offset: 0x02075006, size: 183 bytes, params: 1, frame: 14
var environment;
var value2;
var value3;
if (!env0_1.current) {
if (env0_2) {
value3 = environment.__proto__;
(importDefault(11978) /* metro dependency 11978: GuildDirectoryNicknameUpsellModalActionCreators */).open({guildId: guildId,
onHide: onHide});
env0_1.current = true;
} else if (env0_3) {
value2 = environment.__proto__;
(require(11970) /* metro dependency 11970: WelcomeScreenUtils */).openWelcomeActionSheet({guildId: guildId,
onHide: onHide_91855});
env0_1.current = true;
}
}
}
function onHide() { // fn#91854, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12151:293, offset: 0x020750bd, size: 17 bytes, params: 1, frame: 2
env1_1.current = false;
return false;
}
@@ -0,0 +1,73 @@
/* Metro module 11289; source: modules/chat/native/ChatViewStickyHeader.tsx; dependencies: [57, 31, 9734, 33, 11290, 11294, 11295, 11296, 11306, 11309, 11310, 11312, 11314, 11317, 2] */
function _fun86174(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#86174, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11475:6, offset: 0x01f8a8b4, size: 231 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(57) /* metro dependency 57 */;
let value = importAll(31) /* metro dependency 31 */;
const env0_5 = (require(9734) /* metro dependency 9734: Constants */).LOCATION_CONTEXT_MOBILE;
const value2 = require(33) /* metro dependency 33 */;
const env0_6 = value2.jsx;
const env0_7 = value2.Fragment;
const env0_8 = value2.jsxs;
value = value.memo(value.forwardRef(_fun86176));
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/chat/native/ChatViewStickyHeader.tsx');
exports.default = value;
}
function ChatViewStickyHeaderAccountSafetyWarnings({channelId, senderId}) { // fn#86175, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11475:190, offset: 0x01f8a99b, size: 279 bytes, params: 2, frame: 21
var r0;
var value;
const value2 = (require(11290) /* metro dependency 11290: useStrangerDangerWarning */).useStrangerDangerWarning(channelId);
const value3 = (require(11294) /* metro dependency 11294: useInappropriateConversationBannerForChannel */).useInappropriateConversationBannerForChannel(channelId,
LOCATION_CONTEXT_MOBILE);
const value4 = (require(11295) /* metro dependency 11295: useLikelyAtoWarning */).useLikelyAtoWarning(channelId);
if (value4 != null) {
value = importDefault(11296) /* metro dependency 11296: LikelyAtoWarningBanner */;
value = ((Component) => <Component channelId={channelId} warningId={value4.id} senderId={senderId} />)(value);
r0 = value;
} else if (value2 != null) {
value = importDefault(11306) /* metro dependency 11306: StrangerDangerWarningBanner */;
value = ((Component) => <Component channelId={channelId} warningId={value2.id} senderId={senderId} />)(value);
r0 = value;
} else if (value3 != null) {
value = importDefault(11309) /* metro dependency 11309: InappropriateConversationWarningBanner */;
value = ((Component) => <Component channelId={channelId} warningId={value3.id} senderId={senderId} />)(value);
r0 = value;
} else {
r0 = null;
}
return r0;
}
function _fun86176({channel, scrollToNewMessages}, a1) { // fn#86176, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11475:611, offset: 0x01f8aab2, size: 370 bytes, params: 3, frame: 25
const binding = env0_4;
const [property, env0_1] = env0_3(binding.useState(false), 2);
const {showUnreadsNotice,
clearUnreadsNotice} = (importDefault(11310) /* metro dependency 11310: useUnreadSettingNotice */)(channel);
binding.useImperativeHandle(a1, function() {
return {onChatViewScrolled: _fun86178};
});
const jsxRuntimeEnv0_7Binding = jsxRuntimeEnv0_7;
const items2 = [channel.isForumPost() && property ? ((Component) => <Component channel={channel} />)(importDefault(11312) /* metro dependency 11312: ForumPostActionBar */) : null];
items2[1] = channel.isDM() ? <ChatViewStickyHeaderAccountSafetyWarnings channelId={channel.id} senderId={channel.getRecipientId()} /> : null;
items2[2] = showUnreadsNotice ? ((Component) => <Component channel={channel} clearUnreadsNotice={clearUnreadsNotice} />)(importDefault(11314) /* metro dependency 11314: UnreadSettingNotice */) : null;
items2[3] = ((Component) => <Component channel={channel} handleScrollToNewMessages={scrollToNewMessages} />)(importDefault(11317) /* metro dependency 11317: ChatBanner */);
return (
<>
{items2}
</>
);
}
function _fun86177() { // fn#86177, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11475:792, offset: 0x01f8ac24, size: 18 bytes, params: 1, frame: 2
return {onChatViewScrolled: onChatViewScrolled};
}
function onChatViewScrolled({isFirstMessageVisible}) { // fn#86178, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11475:817, offset: 0x01f8ac36, size: 47 bytes, params: 2, frame: 12
const channelBinding = channel;
if (channelBinding.isForumPost()) {
env1_1(!isFirstMessageVisible);
}
}
@@ -0,0 +1,10 @@
/* Metro module 11337; source: modules/chat/native/ChatViewWidthContext.tsx; dependencies: [31, 2] */
function _fun86569(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#86569, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11523:6, offset: 0x01f97f9d, size: 106 bytes, params: 8, frame: 16
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = importAll(31) /* metro dependency 31 */;
value = value.createContext(null);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/chat/native/ChatViewWidthContext.tsx');
exports.default = value;
}
@@ -0,0 +1,10 @@
/* Metro module 11277; source: modules/chat/native/ChatViewWrapper.tsx; dependencies: [11278, 11279, 11288, 2] */
function _fun86117(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#86117, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11463:6, offset: 0x01f88600, size: 132 bytes, params: 8, frame: 18
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const animatedKeyboardExperimentModule = require(11278) /* metro dependency 11278: AnimatedKeyboardExperiment */;
const r1 = animatedKeyboardExperimentModule.isAnimatedAndroidKeyboard() ? importDefault(11279) /* metro dependency 11279: ChatViewWrapperAnimatedKeyboard */ : importDefault(11288) /* metro dependency 11288: ChatViewWrapperBase */;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/chat/native/ChatViewWrapper.tsx');
exports.default = r1;
}
@@ -0,0 +1,156 @@
/* Metro module 11279; source: modules/chat/native/ChatViewWrapperAnimatedKeyboard.tsx; dependencies: [31, 27, 33, 4017, 4507, 11280, 4504, 5466, 11284, 11286, 6517, 11287, 2] */
function _fun86120(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#86120, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11465:6, offset: 0x01f88780, size: 338 bytes, params: 8, frame: 22
var object2;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const value = importAll(31) /* metro dependency 31 */;
const env0_4 = (require(27) /* metro dependency 27 */).View;
const value2 = require(33) /* metro dependency 33 */;
const env0_5 = value2.jsx;
const env0_6 = value2.jsxs;
const Easing = (require(4017) /* metro dependency 4017: ReanimatedRexport */).Easing;
const value3 = Easing.bezier(0.2, 0, 0, 1);
object2 = {};
object2.duration = (require(4507) /* metro dependency 4507: timingPresets */).timingStandardDuration;
object2.easing = value3;
object2 = {code: 'function ChatViewWrapperAnimatedKeyboardTsx1(){const{animatedHeight}=this.__closure;return animatedHeight.get();}'};
object2 = {code: 'function ChatViewWrapperAnimatedKeyboardTsx2(height,heightPrev){const{animatedAdjustedMargin,animatedAdjustedMarginPending}=this.__closure;if(heightPrev==null){return;}if(height<heightPrev){animatedAdjustedMargin.set(height);animatedAdjustedMarginPending.set(-1);}else{animatedAdjustedMarginPending.set(height);}}'};
object2 = {code: "function ChatViewWrapperAnimatedKeyboardTsx3(){const{animatedAdjustedMargin,withTiming,animatedHeight,INSET_ANIMATION_CONFIG2,animatedAdjustedMarginPending}=this.__closure;return{flex:1,marginTop:animatedAdjustedMargin.get(),transform:[{translateY:withTiming(-animatedHeight.get(),INSET_ANIMATION_CONFIG2,'respect-motion-settings',function(finished){if(!finished){return;}if(animatedAdjustedMarginPending.get()!==-1){animatedAdjustedMargin.set(animatedAdjustedMarginPending.get());animatedAdjustedMarginPending.set(-1);}})}]};}"};
object2 = {code: 'function ChatViewWrapperAnimatedKeyboardTsx4(finished){const{animatedAdjustedMarginPending,animatedAdjustedMargin}=this.__closure;if(!finished){return;}if(animatedAdjustedMarginPending.get()!==-1){animatedAdjustedMargin.set(animatedAdjustedMarginPending.get());animatedAdjustedMarginPending.set(-1);}}'};
const env0_12 = value.memo(_fun86121);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/chat/native/ChatViewWrapperAnimatedKeyboard.tsx');
exports.default = ChatViewWrapperAnimatedKeyboard;
}
function _fun86121({channelId}) { // fn#86121, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11465:1551, offset: 0x01f888d2, size: 124 bytes, params: 2, frame: 17
return (
<View
style={[(importDefault(11284) /* metro dependency 11284: useChannelSafeAreaBottomStyles */)(channelId),
env0_3.useMemo(_fun86122,
[(importDefault(5466) /* metro dependency 5466: useCustomKeyboardHeight */)()])]}
/>
);
}
function ChatViewWrapperAnimatedKeyboard({channelId, children, stickyHeader, style}) { // fn#86123, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11465:1814, offset: 0x01f88974, size: 235 bytes, params: 2, frame: 24
const value2 = (importDefault(11286) /* metro dependency 11286: useChatViewPointerEventsAndroid */)(channelId);
const value3 = useSafeAreaInsetAnimatedStyle();
const LayerScope = (require(6517) /* metro dependency 6517: LayerScopeNative */).LayerScope;
const StickyWrapper = (require(11287) /* metro dependency 11287: StickyWrapperNative */).StickyWrapper;
const View2 = (importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).View;
return (
<LayerScope>
<StickyWrapper
header={stickyHeader}
style={style}
pointerEvents={value2}
>
<View2 style={value3}>
<View style={style}>
{children}
</View>
{((Component) => <Component channelId={channelId} />)(env0_12)}
</View2>
</StickyWrapper>
</LayerScope>
);
}
function _fun86122() { // fn#86122, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11465:1617, offset: 0x01f8894e, size: 38 bytes, params: 1, frame: 3
const binding = env0_0;
return {'position': 'absolute', 'bottom': null, 'height': null, 'right': 0, 'left': 0, bottom: -binding,
height: binding};
}
function useSafeAreaInsetAnimatedStyle() { // fn#86124, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11465:1923, owner: ChatViewWrapperAnimatedKeyboard.useSafeAreaInsetAnimatedStyle, offset: 0x01f88a5f, size: 333 bytes, params: 1, frame: 24
var object2;
const value2 = (importDefault(11280) /* metro dependency 11280: useChannelSafeAreaHeightSharedValueAndroid */)();
const reanimatedRexportModule = require(4017) /* metro dependency 4017: ReanimatedRexport */;
const useSharedValue = reanimatedRexportModule.useSharedValue;
const get = value2.get;
const value3 = Reflect.apply(useSharedValue, reanimatedRexportModule, [Reflect.apply(get, value2, [])]);
const value4 = reanimatedRexportModule.useSharedValue(-1);
const moduleValue3 = reanimatedRexportModule;
const useAnimatedReaction = moduleValue3.useAnimatedReaction;
let closure = useSafeAreaInsetAnimatedStyleN;
closure.__closure = {animatedHeight: value2};
closure.__workletHash = 9219066704490;
closure.__initData = env1_8;
const closure2 = useSafeAreaInsetAnimatedStyleT;
closure2.__closure = {animatedAdjustedMargin: value3, animatedAdjustedMarginPending: value4};
closure2.__workletHash = 15141457454312;
closure2.__initData = env1_9;
Reflect.apply(useAnimatedReaction, moduleValue3, [closure, closure2]);
const moduleValue4 = reanimatedRexportModule;
const useAnimatedStyle = moduleValue4.useAnimatedStyle;
closure = useSafeAreaInsetAnimatedStyleS;
object2 = {animatedAdjustedMargin: value3};
object2.withTiming = (require(4504) /* metro dependency 4504: timing */).withTiming;
object2.animatedHeight = value2;
object2.INSET_ANIMATION_CONFIG2 = env1_7;
object2.animatedAdjustedMarginPending = value4;
closure.__closure = object2;
closure.__workletHash = 7205645695043;
closure.__initData = env1_10;
return Reflect.apply(useAnimatedStyle, moduleValue4, [closure]);
}
function useSafeAreaInsetAnimatedStyleT(a0, a1) { // fn#86126, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11465:2182, owner: ChatViewWrapperAnimatedKeyboard.useSafeAreaInsetAnimatedStyle.t, offset: 0x01f88bac, size: 76 bytes, params: 3, frame: 12
var binding;
if (a1 != null) {
if (a0 < a1) {
binding = env0_1;
binding.set(a0);
binding = env0_2;
binding.set(-1);
} else {
env0_2.set(a0);
}
}
}
function useSafeAreaInsetAnimatedStyleS() { // fn#86127, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11465:2390, owner: ChatViewWrapperAnimatedKeyboard.useSafeAreaInsetAnimatedStyle.s, offset: 0x01f88bf8, size: 173 bytes, params: 1, frame: 22
const object2 = {flex: 1};
const binding = env0_1;
let get = binding.get;
object2.marginTop = Reflect.apply(get, binding, []);
const timingModule = require(4504) /* metro dependency 4504: timing */;
const withTiming = timingModule.withTiming;
const binding2 = env0_0;
get = binding2.get;
const value3 = -Reflect.apply(get, binding2, []);
const binding3 = env2_7;
const closure = sT;
closure.__closure = {animatedAdjustedMarginPending: env0_2, animatedAdjustedMargin: binding};
closure.__workletHash = 16224255032954;
closure.__initData = env2_11;
object2.transform = [{translateY: Reflect.apply(withTiming, timingModule, [value3, binding3,
'respect-motion-settings', closure])}];
return object2;
}
function sT(a0) { // fn#86128, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11465:2509, owner: ChatViewWrapperAnimatedKeyboard.useSafeAreaInsetAnimatedStyle.s.t, offset: 0x01f88ca5, size: 85 bytes, params: 2, frame: 12
var r0;
var binding;
var set;
var binding2;
let value = a0;
if (value) {
value = environment.__proto__;
value = env1_2.get();
value = value !== -1;
r0 = value;
} else {
r0 = value;
}
if (r0) {
value = environment.__proto__;
binding = env1_1;
set = binding.set;
binding2 = env1_2;
Reflect.apply(set, binding, [binding2.get()]);
binding2.set(-1);
}
}
@@ -0,0 +1,28 @@
/* Metro module 11288; source: modules/chat/native/ChatViewWrapperBase.tsx; dependencies: [31, 33, 11286, 6517, 11287, 2] */
function _fun86172(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#86172, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11474:6, offset: 0x01f8a7a1, size: 138 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
importAll(31) /* metro dependency 31 */;
const env0_3 = (require(33) /* metro dependency 33 */).jsx;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/chat/native/ChatViewWrapperBase.tsx');
exports.default = ChatViewWrapperBase;
}
function ChatViewWrapperBase({channelId, children, stickyHeader, style}) { // fn#86173, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11474:205, offset: 0x01f8a82b, size: 137 bytes, params: 2, frame: 20
const value2 = (importDefault(11286) /* metro dependency 11286: useChatViewPointerEventsAndroid */)(channelId);
const LayerScope = (require(6517) /* metro dependency 6517: LayerScopeNative */).LayerScope;
const StickyWrapper = (require(11287) /* metro dependency 11287: StickyWrapperNative */).StickyWrapper;
return (
<LayerScope>
<StickyWrapper
header={stickyHeader}
style={style}
pointerEvents={value2}
>
{children}
</StickyWrapper>
</LayerScope>
);
}
@@ -0,0 +1,333 @@
/* Metro module 9850; source: modules/chat/native/NativeChatUtils.tsx; dependencies: [27, 477, 9851, 1216, 4020, 9852, 9853, 2] */
function _fun77201(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#77201, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10036:6, offset: 0x01df49ef, size: 350 bytes, params: 8, frame: 20
var object4;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const value = require(27) /* metro dependency 27 */;
const env0_3 = value.NativeModules;
const env0_4 = value.findNodeHandle;
object4 = {TOP: 0};
object4[0] = 'TOP';
object4.MIDDLE = 1;
object4[1] = 'MIDDLE';
object4.BOTTOM = 2;
object4[2] = 'BOTTOM';
object4.NONE = 3;
object4[3] = 'NONE';
const object5 = {SCROLL: 0};
object5[0] = 'SCROLL';
object5.FOCUS_ONLY = 1;
object5[1] = 'FOCUS_ONLY';
const object6 = {scrollTo: scrollTo, scrollToBottom: scrollToBottom_77203, scrollToTop: scrollToTop_77204,
scrollToRelativeOffset: scrollToRelativeOffset_77205, scrollIntoView: scrollIntoView, updateRows: updateRows,
clearRows: clearRows_77208, fadeIn: fadeIn, focus: function(a0, a1) {
var nodeHandle;
if (require(dependencyMap[1]).isIOS()) {
if (a0 != null) {
nodeHandle = findNodeHandle(a0);
if (nodeHandle != null) {
NativeModules.DCDChatManager.focus(nodeHandle, a1);
}
}
}
}};
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/chat/native/NativeChatUtils.tsx');
exports.default = object6;
exports.ChatScrollPosition = object4;
exports.ChatScrollType = object5;
}
function scrollTo(a0, a1, a2) { // fn#77202, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10036:351, offset: 0x01df4b4d, size: 227 bytes, params: 4, frame: 23
var r0;
var r5;
var r4;
var r3;
var animated;
var highlight;
var position;
var moduleValue;
var nodeHandle;
let value = a2;
if (a0 != null) {
r0 = value ?? ({});
animated = r0.animated;
value = animated !== undefined;
r5 = value && animated;
highlight = r0.highlight;
value = highlight !== undefined;
r4 = value && highlight;
position = r0.position;
r3 = position !== undefined ? position : env0_5.TOP;
moduleValue = require(477) /* metro dependency 477: PlatformUtils */;
if (moduleValue.isIOS()) {
nodeHandle = findNodeHandle(a0);
if (nodeHandle != null) {
NativeModules.DCDChatManager.scrollTo(nodeHandle, a1, r5, r4, r3);
}
} else {
(require(9851) /* metro dependency 9851: ChatNativeComponent */).Commands.scrollTo(a0, a1, r5, r4, r3);
}
}
}
function scrollToBottom_77203(a0, a1) { // fn#77203, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10036:636, offset: 0x01df4c30, size: 129 bytes, params: 3, frame: 17
var moduleValue;
var nodeHandle;
if (a0 != null) {
moduleValue = require(477) /* metro dependency 477: PlatformUtils */;
if (moduleValue.isIOS()) {
nodeHandle = findNodeHandle(a0);
if (nodeHandle != null) {
NativeModules.DCDChatManager.scrollToBottom(nodeHandle, a1);
}
} else {
(require(9851) /* metro dependency 9851: ChatNativeComponent */).Commands.scrollToBottom(a0, a1);
}
}
}
function scrollToTop_77204(a0, a1) { // fn#77204, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10036:808, offset: 0x01df4cb1, size: 89 bytes, params: 3, frame: 15
var moduleValue;
var nodeHandle;
if (a0 != null) {
moduleValue = require(477) /* metro dependency 477: PlatformUtils */;
if (moduleValue.isIOS()) {
nodeHandle = findNodeHandle(a0);
if (nodeHandle != null) {
NativeModules.DCDChatManager.scrollToTop(nodeHandle, a1);
}
}
}
}
function scrollToRelativeOffset_77205(a0, a1, a2) { // fn#77205, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10036:942, offset: 0x01df4d0a, size: 93 bytes, params: 4, frame: 16
var moduleValue;
var nodeHandle;
if (a0 != null) {
moduleValue = require(477) /* metro dependency 477: PlatformUtils */;
if (moduleValue.isIOS()) {
nodeHandle = findNodeHandle(a0);
if (nodeHandle != null) {
NativeModules.DCDChatManager.scrollToRelativeOffset(nodeHandle, a1, a2);
}
}
}
}
function scrollIntoView(a0, a1, a2) { // fn#77206, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10036:1094, offset: 0x01df4d67, size: 199 bytes, params: 4, frame: 21
var r0;
var r4;
var r3;
var animated;
var highlight;
var moduleValue;
var nodeHandle;
let value = a2;
if (a0 != null) {
r0 = value ?? ({});
animated = r0.animated;
value = animated !== undefined;
r4 = value && animated;
highlight = r0.highlight;
value = highlight !== undefined;
r3 = value && highlight;
moduleValue = require(477) /* metro dependency 477: PlatformUtils */;
if (moduleValue.isIOS()) {
nodeHandle = findNodeHandle(a0);
if (nodeHandle != null) {
NativeModules.DCDChatManager.scrollIntoView(nodeHandle, a1, r4, r3);
}
} else {
(require(9851) /* metro dependency 9851: ChatNativeComponent */).Commands.scrollIntoView(a0, a1, r4, r3);
}
}
}
function updateRows(a0, a1) { // fn#77207, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10036:1355, offset: 0x01df4e2e, size: 709 bytes, params: 3, frame: 32
var r13;
var r7;
var r5;
var r3;
var r1;
var r12;
var r2;
var moduleValue2;
var nodeHandle;
var moduleValue3;
var updateRows;
var JSON;
var stringify;
var rows;
var value3;
var isLoadingAtTop;
var andIncrementChangesetIdForChat;
var HACK_iOSForceAnimations;
var forceReload;
var isAnimated;
var andIncrementChangesetIdForChat2;
var defaultImport2;
var addBreadcrumb;
var object2;
var length;
var Commands;
var value10;
let value = null;
if (value != a0) {
var moduleValue = require(477) /* metro dependency 477: PlatformUtils */;
var isIOS = moduleValue.isIOS;
if (Reflect.apply(isIOS, moduleValue, [])) {
moduleValue2 = require(4020) /* metro dependency 4020: FabricUtils */;
if (moduleValue2.isFabric()) {
andIncrementChangesetIdForChat2 = (require(9852) /* metro dependency 9852: ChatChangesetUpdateTracker */).getAndIncrementChangesetIdForChat(a0);
rows = a1.rows;
forceReload = a1.forceReload;
r12 = value != forceReload && forceReload;
defaultImport2 = importDefault(1216) /* metro dependency 1216: SentryUtilsNative */;
addBreadcrumb = defaultImport2.addBreadcrumb;
object2 = {category: 'chat.dispatch'};
length = rows.length;
object2.message = 'updateRows dispatch id=' + andIncrementChangesetIdForChat2 + ' ops=' + length;
length = rows.length;
object2.data = {changesetUpdateId: andIncrementChangesetIdForChat2, opCount: length, rows: rows,
forceReload: r12};
Reflect.apply(addBreadcrumb, defaultImport2, [object2]);
Commands = (require(9851) /* metro dependency 9851: ChatNativeComponent */).Commands;
updateRows = Commands.updateRows;
JSON = global.JSON;
stringify = JSON.stringify;
rows = a1.rows;
value10 = Reflect.apply(stringify, JSON, [rows]);
isLoadingAtTop = a1.isLoadingAtTop;
r3 = value != a1.scrollData ? global.JSON.stringify(a1.scrollData) : '';
HACK_iOSForceAnimations = a1.HACK_iOSForceAnimations;
r2 = value != HACK_iOSForceAnimations && HACK_iOSForceAnimations;
forceReload = a1.forceReload;
r1 = value != forceReload && forceReload;
isAnimated = a1.isAnimated;
value = value == isAnimated;
Reflect.apply(updateRows, Commands, [a0, value10, isLoadingAtTop, r3, andIncrementChangesetIdForChat2,
r2,
r1,
value || isAnimated]);
return undefined;
}
nodeHandle = findNodeHandle(a0);
if (value == nodeHandle) {
return undefined;
}
moduleValue3 = require(477) /* metro dependency 477: PlatformUtils */;
r13 = moduleValue3.isIOS() ? NativeModules.DCDChatManager : importDefault(9853) /* metro dependency 9853: NativeChatModule */;
updateRows = r13.updateRows;
JSON = global.JSON;
stringify = JSON.stringify;
rows = a1.rows;
value3 = Reflect.apply(stringify, JSON, [rows]);
isLoadingAtTop = a1.isLoadingAtTop;
r7 = value != a1.scrollData ? global.JSON.stringify(a1.scrollData) : value;
andIncrementChangesetIdForChat = (require(9852) /* metro dependency 9852: ChatChangesetUpdateTracker */).getAndIncrementChangesetIdForChat(a0);
HACK_iOSForceAnimations = a1.HACK_iOSForceAnimations;
r5 = value != HACK_iOSForceAnimations && HACK_iOSForceAnimations;
forceReload = a1.forceReload;
r3 = value != forceReload && forceReload;
isAnimated = a1.isAnimated;
value = value == isAnimated;
r1 = value || isAnimated;
Reflect.apply(updateRows, r13, [nodeHandle, value3, isLoadingAtTop, r7, andIncrementChangesetIdForChat, r5,
r3,
r1]);
return undefined;
}
nodeHandle = findNodeHandle(a0);
if (value == nodeHandle) {
return undefined;
}
moduleValue3 = require(477) /* metro dependency 477: PlatformUtils */;
isIOS = moduleValue3.isIOS;
r13 = Reflect.apply(isIOS, moduleValue3,
[]) ? NativeModules.DCDChatManager : importDefault(9853) /* metro dependency 9853: NativeChatModule */;
updateRows = r13.updateRows;
JSON = global.JSON;
stringify = JSON.stringify;
rows = a1.rows;
value3 = Reflect.apply(stringify, JSON, [rows]);
isLoadingAtTop = a1.isLoadingAtTop;
r7 = value != a1.scrollData ? global.JSON.stringify(a1.scrollData) : value;
andIncrementChangesetIdForChat = (require(9852) /* metro dependency 9852: ChatChangesetUpdateTracker */).getAndIncrementChangesetIdForChat(a0);
HACK_iOSForceAnimations = a1.HACK_iOSForceAnimations;
r5 = value != HACK_iOSForceAnimations && HACK_iOSForceAnimations;
forceReload = a1.forceReload;
r3 = value != forceReload && forceReload;
isAnimated = a1.isAnimated;
value = value == isAnimated;
r1 = value || isAnimated;
Reflect.apply(updateRows, r13, [nodeHandle, value3, isLoadingAtTop, r7, andIncrementChangesetIdForChat, r5, r3,
r1]);
}
}
function clearRows_77208(a0) { // fn#77208, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10036:2294, offset: 0x01df50f3, size: 273 bytes, params: 2, frame: 18
var r4;
var moduleValue2;
var nodeHandle;
var moduleValue3;
var clearRows;
var Commands;
if (a0 != null) {
var value;
var moduleValue = require(477) /* metro dependency 477: PlatformUtils */;
var isIOS = moduleValue.isIOS;
if (Reflect.apply(isIOS, moduleValue, [])) {
moduleValue2 = require(4020) /* metro dependency 4020: FabricUtils */;
if (moduleValue2.isFabric()) {
Commands = (require(9851) /* metro dependency 9851: ChatNativeComponent */).Commands;
clearRows = Commands.clearRows;
value = require(9852) /* metro dependency 9852: ChatChangesetUpdateTracker */;
Reflect.apply(clearRows, Commands, [a0, value.getAndIncrementChangesetIdForChat(a0)]);
return undefined;
}
nodeHandle = findNodeHandle(a0);
if (nodeHandle == null) {
return undefined;
}
moduleValue3 = require(477) /* metro dependency 477: PlatformUtils */;
r4 = moduleValue3.isIOS() ? NativeModules.DCDChatManager : importDefault(9853) /* metro dependency 9853: NativeChatModule */;
clearRows = r4.clearRows;
value = require(9852) /* metro dependency 9852: ChatChangesetUpdateTracker */;
Reflect.apply(clearRows, r4, [nodeHandle, value.getAndIncrementChangesetIdForChat(a0)]);
return undefined;
}
nodeHandle = findNodeHandle(a0);
if (nodeHandle == null) {
return undefined;
}
moduleValue3 = require(477) /* metro dependency 477: PlatformUtils */;
isIOS = moduleValue3.isIOS;
r4 = Reflect.apply(isIOS, moduleValue3,
[]) ? NativeModules.DCDChatManager : importDefault(9853) /* metro dependency 9853: NativeChatModule */;
clearRows = r4.clearRows;
value = require(9852) /* metro dependency 9852: ChatChangesetUpdateTracker */;
Reflect.apply(clearRows, r4, [nodeHandle, value.getAndIncrementChangesetIdForChat(a0)]);
}
}
function fadeIn(a0) { // fn#77209, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10036:2585, offset: 0x01df5204, size: 160 bytes, params: 2, frame: 15
var moduleValue;
var moduleValue2;
var nodeHandle;
if (a0 != null) {
moduleValue = require(477) /* metro dependency 477: PlatformUtils */;
if (moduleValue.isIOS()) {
moduleValue2 = require(4020) /* metro dependency 4020: FabricUtils */;
if (moduleValue2.isFabric()) {
(require(9851) /* metro dependency 9851: ChatNativeComponent */).Commands.fadeIn(a0);
} else {
nodeHandle = findNodeHandle(a0);
if (nodeHandle != null) {
NativeModules.DCDChatManager.fadeIn(nodeHandle);
}
}
}
}
}
@@ -0,0 +1,159 @@
/* Metro module 16155; source: modules/chat/native/NativeExperimentBridgeManager.tsx; dependencies: [7, 6, 15, 17, 18, 27, 1949, 1226, 4819, 16156, 16157, 683, 16158, 507, 477, 4860, 2] */
function _fun124886(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#124886, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16363:6, offset: 0x025c65a1, size: 306 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(7) /* metro dependency 7 */;
const env0_4 = importDefault(6) /* metro dependency 6 */;
const env0_5 = importDefault(15) /* metro dependency 15 */;
const env0_6 = importDefault(17) /* metro dependency 17 */;
const env0_7 = importDefault(18) /* metro dependency 18 */;
const env0_8 = (require(27) /* metro dependency 27 */).NativeModules;
const localeStore = importDefault(1949) /* metro dependency 1949: LocaleStore */;
const authenticationStore = importDefault(1226) /* metro dependency 1226: AuthenticationStore */;
let value = importDefault(4860) /* metro dependency 4860: AutomaticLifecycleManager */;
value = _fun124892(value);
value = new value();
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/chat/native/NativeExperimentBridgeManager.tsx');
exports.default = value;
}
function _isNativeReflectConstruct_124887() { // fn#124887, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16363:192, offset: 0x025c66d3, 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_124887_isNativeReflectConstruct = function() {
return !!result;
})();
}
function updateIOSExperiments() { // fn#124890, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16363:385, offset: 0x025c6735, size: 277 bytes, params: 1, frame: 16
var setShouldFixPushNotificationRawPayload;
var moduleValue;
var setShouldEnableYYTextReplacement;
var moduleValue2;
var RNVVideo;
let NSUserDefaultsBridge = NativeModules.NSUserDefaultsBridge;
if (!(NSUserDefaultsBridge == null || NSUserDefaultsBridge.setShouldFixPushNotificationRawPayload == null)) {
setShouldFixPushNotificationRawPayload = NSUserDefaultsBridge.setShouldFixPushNotificationRawPayload;
moduleValue = require(4819) /* metro dependency 4819: IOSPushNotificationRawPayloadFixExperiment */;
Reflect.apply(setShouldFixPushNotificationRawPayload, NSUserDefaultsBridge,
[moduleValue.isIOSPushNotificationRawPayloadFixExperimentEnabled()]);
}
NSUserDefaultsBridge = NativeModules.NSUserDefaultsBridge;
if (!(NSUserDefaultsBridge == null || NSUserDefaultsBridge.setShouldEnableYYTextReplacement == null)) {
setShouldEnableYYTextReplacement = NSUserDefaultsBridge.setShouldEnableYYTextReplacement;
moduleValue2 = require(16156) /* metro dependency 16156: YYTextReplacementExperiment */;
Reflect.apply(setShouldEnableYYTextReplacement, NSUserDefaultsBridge,
[moduleValue2.shouldEnableYYTextReplacement({location: 'NativeExperimentBridgeManager'})]);
}
const defaultImport = importDefault(16157) /* metro dependency 16157: VideoStutterMitigationExperiment */;
const getConfig = defaultImport.getConfig;
if (Reflect.apply(getConfig, defaultImport, [{location: 'NativeExperimentBridgeManager'}]).enabled) {
RNVVideo = NativeModules.RNVVideo;
if (RNVVideo != null) {
RNVVideo.setOptimizeConfigureAudio(true);
}
RNVVideo = NativeModules.RNVVideo;
if (RNVVideo != null) {
RNVVideo.setUseBackgroundProgressQueue(true);
}
}
}
function updateAndroidExperiments() { // fn#124891, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16363:997, offset: 0x025c684a, size: 317 bytes, params: 1, frame: 23
var setItem;
var JSON;
var stringify;
var object2;
const object4 = {};
var value;
const defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
const getSuperPropertiesBase64 = defaultImport.getSuperPropertiesBase64;
object4['X-Super-Properties'] = Reflect.apply(getSuperPropertiesBase64, defaultImport, []);
const getFingerprint = AuthenticationStore.getFingerprint;
object4['X-Fingerprint'] = Reflect.apply(getFingerprint, AuthenticationStore, []);
const getInstallationForTracking = AuthenticationStore.getInstallationForTracking;
object4['X-Installation-ID'] = Reflect.apply(getInstallationForTracking, AuthenticationStore, []);
object4['X-Discord-Locale'] = LocaleStore.locale;
const {enabled, limit, cooldownMs,
debounceMs} = (importDefault(16158) /* metro dependency 16158: NotificationLoadMessagesExperiment */).getConfig({location: 'NativeExperimentBridgeManager'});
const NativeCacheModule = NativeModules.NativeCacheModule;
if (NativeCacheModule != null) {
setItem = NativeCacheModule.setItem;
JSON = global.JSON;
stringify = JSON.stringify;
object2 = {headers: object4};
object2.userId = AuthenticationStore.getId();
object2.enabled = enabled;
value = require(507) /* metro dependency 507: HTTPUtils */;
object2.apiBaseUrl = value.getAPIBaseURL();
object2.urlQueryParams = '?limit=' + limit;
object2.cooldownMs = cooldownMs;
object2.debounceMs = debounceMs;
value = Reflect.apply(stringify, JSON, [object2]);
Reflect.apply(setItem, NativeCacheModule, ['notificationNetworkRequest', value]);
}
}
function _fun124892(a0) { // fn#124892, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16363:1602, offset: 0x025c6987, size: 42 bytes, params: 2, frame: 14
const closure = NativeExperimentBridgeManager;
env0_7(closure, a0);
return env0_3(closure);
}
function NativeExperimentBridgeManager(a0) { // fn#124893, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16363:1614, offset: 0x025c69b1, size: 235 bytes, params: 2, frame: 20
var r0;
var r1;
var Reflect;
var moduleValue2;
let value = copyRestArgs(0, undefined);
let binding = env1_4;
binding(this, NativeExperimentBridgeManager);
const items = [];
arraySpread(items, value, 0, items);
value = env1_6(NativeExperimentBridgeManager);
binding = env1_5;
if (_isNativeReflectConstruct_124887()) {
Reflect = global.Reflect;
value = Reflect.construct(value, items, env1_6(this).constructor);
r0 = value;
} else {
value = value.apply(this, items);
r0 = value;
}
value = binding(this, r0);
const platformUtilsModule = require(477) /* metro dependency 477: PlatformUtils */;
if (platformUtilsModule.isIOS()) {
r1 = updateIOSExperiments;
} else {
moduleValue2 = platformUtilsModule;
r1 = moduleValue2.isAndroid() ? updateAndroidExperiments : function() {
};
}
value.handleUpdate = r1;
value.actions = {POST_CONNECTION_OPEN: value.handleUpdate};
return value;
}
@@ -0,0 +1,79 @@
/* Metro module 11789; source: modules/chat/native/SlowModeIndicator.tsx; dependencies: [31, 7080, 33, 4501, 697, 566, 7081, 3857, 10227, 5278, 4573, 2] */
function _fun90295(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#90295, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11975:6, offset: 0x02033917, size: 257 bytes, params: 8, frame: 22
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = importAll(31) /* metro dependency 31 */;
const slowmodeStore = importDefault(7080) /* metro dependency 7080: SlowmodeStore */;
const value2 = require(33) /* metro dependency 33 */;
const env0_5 = value2.jsx;
const env0_6 = value2.jsxs;
const createStylesModule = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = createStylesModule.createStyles;
const PX_4 = (importDefault(697) /* metro dependency 697: native */).space.PX_4;
const env0_7 = Reflect.apply(createStyles, createStylesModule, [{container: {'alignItems': 'center',
'flexDirection': 'row'}, icon: {marginLeft: PX_4}}]);
value = value.memo(SlowModeIndicator);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/chat/native/SlowModeIndicator.tsx');
exports.default = value;
}
function SlowModeIndicator({channel, hasTypingText, slowmodeType}) { // fn#90296, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11975:272, offset: 0x02033a18, size: 348 bytes, params: 2, frame: 22
const styles = useStyles();
const slowmodeCooldownGuess = (require(566) /* metro dependency 566: flux */).useStateFromStores([SlowmodeStore],
function() {
return SlowmodeStore.getSlowmodeCooldownGuess(channel.id, slowmodeType);
});
const env0_3 = slowmodeCooldownGuess;
const value2 = (require(7081) /* metro dependency 7081: SlowmodeUtils */).useCanBypassSlowmode(channel,
slowmodeType);
const binding = env0_3;
const value3 = binding.useMemo(_fun90298, [hasTypingText, value2, slowmodeCooldownGuess]);
const value4 = binding.useCallback(_fun90299, [channel.rateLimitPerUser]);
const PressableOpacity = (require(5278) /* metro dependency 5278: Pressables */).PressableOpacity;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const text = <Text lineClamp={1} allowFontScaling={false} variant="text-xs/medium" color="interactive-text-default">{value3}</Text>;
const TimerIcon = (require(10227) /* metro dependency 10227: TimerIcon */).TimerIcon;
return (
<PressableOpacity onPress={value4} style={styles.container}>
{text}
<TimerIcon style={styles.icon} size="xxs" />
</PressableOpacity>
);
}
function _fun90298() { // fn#90298, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11975:477, offset: 0x02033b99, size: 79 bytes, params: 1, frame: 14
var r0;
var value3;
var moduleValue;
if (hasTypingText) {
if (env0_4) {
value3 = environment.__proto__;
moduleValue = require(7081) /* metro dependency 7081: SlowmodeUtils */;
r0 = moduleValue.getSlowmodeIndicatorText(slowmodeCooldownGuess, env0_4);
} else if (slowmodeCooldownGuess <= 0) {
r0 = null;
} else {
value3 = environment.__proto__;
moduleValue = require(7081) /* metro dependency 7081: SlowmodeUtils */;
r0 = moduleValue.getSlowmodeIndicatorText(slowmodeCooldownGuess, env0_4);
}
} else {
value3 = environment.__proto__;
moduleValue = require(7081) /* metro dependency 7081: SlowmodeUtils */;
r0 = moduleValue.getSlowmodeIndicatorText(slowmodeCooldownGuess, env0_4);
}
return r0;
}
function _fun90299() { // fn#90299, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11975:563, offset: 0x02033be8, size: 116 bytes, params: 1, frame: 15
const value = environment.__proto__;
const defaultImport = importDefault(3857) /* metro dependency 3857: ToastActionCreators */;
const open = defaultImport.open;
const object2 = {key: 'CHANNEL_SLOWMODE_INFO'};
const TimerIcon = (require(10227) /* metro dependency 10227: TimerIcon */).TimerIcon;
object2.IconComponent = TimerIcon;
object2.content = (require(7081) /* metro dependency 7081: SlowmodeUtils */).getSlowmodeDescription(channel.rateLimitPerUser);
Reflect.apply(open, defaultImport, [object2]);
}
@@ -0,0 +1,173 @@
/* Metro module 11788; source: modules/chat/native/TypingIndicator.tsx; dependencies: [31, 27, 7729, 7080, 33, 4501, 697, 11566, 4017, 4508, 4577, 4581, 1305, 4573, 11789, 11531, 2] */
function _fun90287(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#90287, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11974:6, offset: 0x02033182, size: 450 bytes, params: 8, frame: 24
var object3;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importAll(31) /* metro dependency 31 */;
const env0_4 = (require(27) /* metro dependency 27 */).View;
const env0_5 = (require(7729) /* metro dependency 7729: useChatBottomManagerUIStore */).useChatShowingAutoComplete;
const env0_6 = (require(7080) /* metro dependency 7080: SlowmodeStore */).SlowmodeType;
let value = require(33) /* metro dependency 33 */;
const env0_7 = value.jsx;
const env0_8 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
object3 = {};
const object4 = {'paddingTop': null, 'paddingBottom': 4, 'paddingHorizontal': 16, 'alignSelf': 'stretch'};
const CHAT_INPUT_FLOATING_ACCESSORY_PADDING_TOP = (importDefault(697) /* metro dependency 697: native */).modules.mobile.CHAT_INPUT_FLOATING_ACCESSORY_PADDING_TOP;
object4.paddingTop = CHAT_INPUT_FLOATING_ACCESSORY_PADDING_TOP;
const MOBILE_TYPING_INDICATOR_BACKGROUND_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.MOBILE_TYPING_INDICATOR_BACKGROUND_DEFAULT;
object4.backgroundColor = MOBILE_TYPING_INDICATOR_BACKGROUND_DEFAULT;
object3.typingWrapper = object4;
object3.wrapperHoriz = {'justifyContent': 'space-between', 'flexDirection': 'row', 'alignItems': 'center'};
const PX_8 = (importDefault(697) /* metro dependency 697: native */).space.PX_8;
object3.horiz = {'marginRight': null, 'alignItems': 'center', 'flexDirection': 'row', 'flex': 1, marginRight: PX_8};
object3.text = {flex: 1};
const env0_9 = Reflect.apply(createStyles, value, [object3]);
object3 = {code: "function TypingIndicatorTsx1(){const{typingIndicatorLayout,transitionState,TransitionStates,withSpring,springStandard,runOnJS,cleanUp}=this.__closure;const layout=typingIndicatorLayout.get();const laidOutAndTransitioned=layout!=null&&layout.y.toFixed(2)===layout.height.toFixed(2)&&transitionState!==TransitionStates.YEETED;return{opacity:!laidOutAndTransitioned?0:1,top:layout===null||layout===void 0?void 0:layout.height,transform:[{translateY:withSpring(laidOutAndTransitioned?-layout.height:0,springStandard,'respect-motion-settings',function(finished){if(finished&&transitionState===TransitionStates.YEETED){runOnJS(cleanUp)();}})}]};}"};
object3 = {code: 'function TypingIndicatorTsx2(finished){const{transitionState,TransitionStates,runOnJS,cleanUp}=this.__closure;if(finished&&transitionState===TransitionStates.YEETED){runOnJS(cleanUp)();}}'};
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/chat/native/TypingIndicator.tsx');
exports.default = TypingIndicator;
}
function TypingIndicatorInner({channel, typingUserIds, wrapperStyle, transitionState, cleanUp}) { // fn#90288, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11974:1494, offset: 0x02033344, size: 671 bytes, params: 2, frame: 29
const defaultImport = importDefault(11566) /* metro dependency 11566: useTypingText */;
let object2 = {};
object2.channelId = channel.id;
object2.guildId = channel.getGuildId();
object2.typingUserIds = typingUserIds;
const value2 = defaultImport(object2);
const value3 = (require(4017) /* metro dependency 4017: ReanimatedRexport */).useSharedValue(undefined);
const value4 = env0_3.useCallback(_fun90289, [value3]);
const styles = useStyles();
const reanimatedRexportModule = require(4017) /* metro dependency 4017: ReanimatedRexport */;
const useAnimatedStyle = reanimatedRexportModule.useAnimatedStyle;
const closure = TypingIndicatorInner_;
object2 = {typingIndicatorLayout: value3, transitionState: transitionState};
const TransitionStates = (require(4508) /* metro dependency 4508: TransitionGroup */).TransitionStates;
object2.TransitionStates = TransitionStates;
object2.withSpring = (require(4577) /* metro dependency 4577: spring */).withSpring;
object2.springStandard = (require(4581) /* metro dependency 4581: springPresets */).springStandard;
object2.runOnJS = reanimatedRexportModule.runOnJS;
object2.cleanUp = cleanUp;
closure.__closure = object2;
closure.__workletHash = 8910299992702;
closure.__initData = env0_10;
const value5 = Reflect.apply(useAnimatedStyle, reanimatedRexportModule, [closure]);
const View2 = (importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).View;
const items2 = [styles.typingWrapper, wrapperStyle, value5];
const r11 = value2 != null ? ((Ellipsis) => <Ellipsis />)((require(1305) /* metro dependency 1305: native */).Ellipsis) : null;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
return (
<View2 style={items2} onLayout={value4}>
<View style={styles.wrapperHoriz}>
<View style={styles.horiz}>
{r11}
<Text
style={styles.text}
lineClamp={1}
maxFontSizeMultiplier={2}
variant="text-xs/medium"
color="interactive-text-default"
ellipsizeMode="tail"
>
{value2}
</Text>
</View>
{channel.rateLimitPerUser > 0 ? ((Component) => <Component channel={channel} hasTypingText={value2 != null} slowmodeType={SlowmodeType.SendMessage} />)(importDefault(11789) /* metro dependency 11789: SlowModeIndicator */) : null}
</View>
</View2>
);
}
function renderTypingIndicator(a0, a1, a2, a3) { // fn#90292, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11974:2993, offset: 0x020337d8, size: 61 bytes, params: 5, frame: 15
return (
<TypingIndicatorInner
{...a1}
{...{['transitionState']: a2}}
{...{['cleanUp']: a3}}
key={a0}
/>
);
}
function TypingIndicator({channel, screenIndex, wrapperStyle}) { // fn#90293, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11974:3107, offset: 0x02033815, size: 179 bytes, params: 2, frame: 21
const value2 = useChatShowingAutoComplete(screenIndex);
const value3 = (require(11531) /* metro dependency 11531: useTypingUsersIds */).useTypingUserIds(channel.id, 4);
const value4 = value3.useMemo(_fun90294, [channel, value3, value2, wrapperStyle]);
const TransitionItem = (require(4508) /* metro dependency 4508: TransitionGroup */).TransitionItem;
return <TransitionItem item={value4} renderItem={renderTypingIndicator} />;
}
function _fun90289({nativeEvent}) { // fn#90289, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11974:1719, offset: 0x020335e3, size: 36 bytes, params: 2, frame: 11
const binding = env0_2;
binding.set(nativeEvent.layout);
}
function TypingIndicatorInner_() { // fn#90290, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11974:1799, owner: TypingIndicatorInner._, offset: 0x02033607, size: 358 bytes, params: 1, frame: 25
var r4;
var height;
var value4;
const TransitionStates = (require(4508) /* metro dependency 4508: TransitionGroup */).TransitionStates;
const value2 = env0_2.get();
const value3 = value2 != null;
if (value3) {
value4 = value2.y.toFixed(2);
height = value2.height;
r4 = value4 === height.toFixed(2);
} else {
r4 = value3;
}
r4 = r4 && transitionState !== TransitionStates.YEETED;
const object2 = {};
const value8 = 0;
object2.opacity = r4 ? 1 : value8;
object2.top = value2?.height;
const springModule = require(4577) /* metro dependency 4577: spring */;
const withSpring = springModule.withSpring;
const r7 = r4 ? -value2.height : value8;
const springStandard = (require(4581) /* metro dependency 4581: springPresets */).springStandard;
const closure = _T;
const object4 = {};
object4.transitionState = transitionState;
object4.TransitionStates = TransitionStates;
object4.runOnJS = (require(4017) /* metro dependency 4017: ReanimatedRexport */).runOnJS;
object4.cleanUp = cleanUp;
closure.__closure = object4;
closure.__workletHash = 10182848545071;
closure.__initData = env1_11;
object2.transform = [{translateY: Reflect.apply(withSpring, springModule, [r7, springStandard,
'respect-motion-settings', closure])}];
return object2;
}
function _fun90294() { // fn#90294, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11974:3234, offset: 0x020338c8, size: 79 bytes, params: 1, frame: 4
return channel.rateLimitPerUser > 0 || env0_3.length > 0 ? env0_2 ? undefined : {channel: channel,
typingUserIds: env0_3, wrapperStyle: wrapperStyle} : undefined;
}
function _T(a0) { // fn#90291, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11974:2070, owner: TypingIndicatorInner._.t, offset: 0x0203376d, size: 107 bytes, params: 2, frame: 13
var r0;
var transitionStateBinding;
var runOnJS;
var value2;
let value = a0;
if (value) {
value = environment.__proto__;
transitionStateBinding = transitionState;
value = environment.__proto__.__proto__;
value = transitionStateBinding === (require(4508) /* metro dependency 4508: TransitionGroup */).TransitionStates.YEETED;
r0 = value;
} else {
r0 = value;
}
if (r0) {
value = environment.__proto__.__proto__;
value = require(4017) /* metro dependency 4017: ReanimatedRexport */;
runOnJS = value.runOnJS;
value2 = environment.__proto__;
Reflect.apply(runOnJS, value, [cleanUp])();
}
}
@@ -0,0 +1,112 @@
/* Metro module 9849; source: modules/chat/native/computeScrollData.tsx; dependencies: [4502, 8178, 9850, 4044, 2] */
function _fun77195(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#77195, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10035:6, offset: 0x01df46cd, size: 163 bytes, params: 8, frame: 19
let env0_0 = require;
const closure = function(a0, a1) {
var env0_0 = a1;
var index = a0.findIndex(_fun77197);
if (index !== -1) {
return index;
}
};
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const accessibilityStore = importDefault(4502) /* metro dependency 4502: AccessibilityStore */;
const rowGeneratorConstantsModule = require(8178) /* metro dependency 8178: RowGeneratorConstants */;
const env0_3 = rowGeneratorConstantsModule.RowType;
const env0_4 = rowGeneratorConstantsModule.SeparatorType;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/chat/native/computeScrollData.tsx');
exports.default = computeScrollData;
exports.findMessageRowIndex = closure;
}
function findMessageRowIndex(a0, a1) { // fn#77196, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10035:146, offset: 0x01df4770, size: 46 bytes, params: 3, frame: 11
const env0_0 = a1;
const index = a0.findIndex(_fun77197);
if (index !== -1) {
return index;
}
}
function computeScrollData({rows, scrollToMessageId, jumpTargetId, jumpType, shouldInitialScroll, animated, scrollPosition, focusTargetId}) { // fn#77198, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10035:342, offset: 0x01df47c6, size: 465 bytes, params: 2, frame: 28
var r0;
var r1;
var value;
var messageRowIndex;
const ChatScrollType = (require(9850) /* metro dependency 9850: NativeChatUtils */).ChatScrollType;
const JumpTypes = (require(4044) /* metro dependency 4044: Client */).JumpTypes;
const ChatScrollPosition = (require(9850) /* metro dependency 9850: NativeChatUtils */).ChatScrollPosition;
var messageRowIndex2;
if (shouldInitialScroll) {
if (jumpTargetId != null) {
value = undefined;
if (scrollToMessageId != null) {
messageRowIndex = findMessageRowIndex(rows, scrollToMessageId);
r0 = messageRowIndex != null ? {type: ChatScrollType.SCROLL, index: messageRowIndex,
animate: !AccessibilityStore.useReducedMotion && jumpType !== JumpTypes.INSTANT,
highlight: scrollToMessageId === jumpTargetId,
position: scrollPosition ?? ChatScrollPosition.TOP} : value;
} else {
r0 = value;
}
if (r0 == null) {
if (focusTargetId != null) {
messageRowIndex2 = findMessageRowIndex(rows, focusTargetId);
r1 = messageRowIndex2 != null ? {type: ChatScrollType.FOCUS_ONLY, index: messageRowIndex2} : value;
} else {
r1 = value;
}
r0 = r1;
}
return r0;
}
value = ((a0) => {
var index = a0.findIndex(_fun77200);
if (index !== -1) {
return index;
}
})(rows);
if (value != null) {
return {type: ChatScrollType.SCROLL, index: value,
animate: animated && !AccessibilityStore.useReducedMotion,
highlight: false, position: ChatScrollPosition.TOP};
}
}
value = undefined;
if (scrollToMessageId != null) {
messageRowIndex = findMessageRowIndex(rows, scrollToMessageId);
r0 = messageRowIndex != null ? {type: ChatScrollType.SCROLL, index: messageRowIndex,
animate: !AccessibilityStore.useReducedMotion && jumpType !== JumpTypes.INSTANT,
highlight: scrollToMessageId === jumpTargetId, position: scrollPosition ?? ChatScrollPosition.TOP} : value;
} else {
r0 = value;
}
if (r0 == null) {
if (focusTargetId != null) {
messageRowIndex2 = findMessageRowIndex(rows, focusTargetId);
r1 = messageRowIndex2 != null ? {type: ChatScrollType.FOCUS_ONLY, index: messageRowIndex2} : value;
} else {
r1 = value;
}
r0 = r1;
}
return r0;
}
function _fun77197(a0) { // fn#77197, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10035:199, offset: 0x01df479e, size: 40 bytes, params: 2, frame: 3
return a0.message != null && a0.message.id === require;
}
function findUnreadSeperatorRowIndex(a0) { // fn#77199, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10035:512, owner: computeScrollData.findUnreadSeperatorRowIndex, offset: 0x01df4997, size: 39 bytes, params: 2, frame: 11
const index = a0.findIndex(_fun77200);
if (index !== -1) {
return index;
}
}
function _fun77200(a0) { // fn#77200, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10035:571, offset: 0x01df49be, size: 49 bytes, params: 2, frame: 4
const type = a0.type;
const value = environment.__proto__.__proto__;
const SEPARATOR = RowType.SEPARATOR;
return type === SEPARATOR && a0.id === SeparatorType.UNREAD;
}
@@ -0,0 +1,107 @@
/* Metro module 11955; source: modules/chat/native/placeholder/ChatPlaceholder.tsx; dependencies: [31, 27, 7729, 33, 4501, 697, 1585, 5463, 1478, 11956, 11957, 11958, 4017, 2] */
function _fun91741(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#91741, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12141:6, offset: 0x020704cb, size: 296 bytes, params: 8, frame: 22
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = importAll(31) /* metro dependency 31 */;
const StyleSheet = (require(27) /* metro dependency 27 */).StyleSheet;
const env0_3 = (require(7729) /* metro dependency 7729: useChatBottomManagerUIStore */).useChatInputContainerHeight;
const env0_4 = (require(33) /* metro dependency 33 */).jsx;
const createStylesModule = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = createStylesModule.createStyles;
const object = {};
copyDataProperties(object, StyleSheet.absoluteFillObject, undefined);
const PX_24 = (importDefault(697) /* metro dependency 697: native */).space.PX_24;
object['paddingBottom'] = PX_24;
object['flexDirection'] = 'column-reverse';
object['overflow'] = 'hidden';
const env0_5 = Reflect.apply(createStyles, createStylesModule, [{placeholder: object}]);
value = value.memo(ChatPlaceholder);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/chat/native/placeholder/ChatPlaceholder.tsx');
exports.default = value;
}
function ChatPlaceholder({screenIndex}) { // fn#91742, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12141:340, offset: 0x020705f3, size: 371 bytes, params: 2, frame: 24
const styles = useStyles();
const value2 = useChatInputContainerHeight(screenIndex);
const height = (importDefault(1478) /* metro dependency 1478: useWindowDimensionsNative */)().height;
const value3 = (importDefault(1585) /* metro dependency 1585: useSafeAreaInsetsNative */)();
const insets = (importDefault(5463) /* metro dependency 5463: useSafeAreaInsetsKeyboardAwareNative */)({'isKeyboardAwareOnAndroid': false,
'includeKeyboardHeight': true}).insets;
const object2 = {};
object2.containerBottomInset = insets.bottom - value3.bottom;
object2.windowVerticalInset = value3.top + insets.bottom;
const containerBottomInset = object2.containerBottomInset;
const env0_2 = containerBottomInset;
const windowVerticalInset = object2.windowVerticalInset;
const binding = env0_2;
const value4 = binding.useMemo(_fun91743, [value2, containerBottomInset]);
const value5 = useLinesForRowIndexCallback();
const value6 = (importDefault(11956) /* metro dependency 11956: useChatPlaceholderAnimatedStyles */)({'visible': true,
'animated': true});
const value7 = binding.useMemo(_fun91746, [height, windowVerticalInset, value2, value5]);
const View = (importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).View;
return (
<View style={[styles.placeholder, value4, value6]} pointerEvents="none">
{value7}
</View>
);
}
function _fun91743() { // fn#91743, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12141:690, offset: 0x02070766, size: 23 bytes, params: 1, frame: 3
return {marginBottom: env0_0 + containerBottomInset};
}
function useLinesForRowIndexCallback() { // fn#91744, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12141:725, owner: ChatPlaceholder.useLinesForRowIndexCallback, offset: 0x0207077d, size: 51 bytes, params: 1, frame: 13
const binding = env1_2;
const env0_0 = binding.useRef([]);
return binding.useCallback(_fun91745, []);
}
function _fun91746() { // fn#91746, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12141:953, offset: 0x0207080c, size: 126 bytes, params: 1, frame: 23
var value4;
var push;
var jsxRuntimeEnv1_4Binding;
var ChatPlaceholderRow;
var object2;
var value5;
const items2 = [];
let value = 0;
let r2 = value;
let r3 = value;
reducibleLoop1: while (true) {
value = env0_4(r2);
value4 = r3 + (importDefault(11957) /* metro dependency 11957: getChatPlaceholderRowHeight */)(value);
push = items2.push;
jsxRuntimeEnv1_4Binding = jsxRuntimeEnv1_4;
ChatPlaceholderRow = importDefault(11958) /* metro dependency 11958: ChatPlaceholderRow */;
object2 = {lines: value};
value = typeof r2 === 'bigint' ? r2 : +r2;
value5 = typeof value === 'bigint' ? value + 1n : +value + 1;
Reflect.apply(push, items2, [<ChatPlaceholderRow {...object2} key={value} />]);
value = height - env0_0;
if (value4 < value - windowVerticalInset) {
r2 = value5;
r3 = value4;
continue reducibleLoop1;
}
break reducibleLoop1;
}
return items2;
}
function _fun91745(a0) { // fn#91745, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12141:805, offset: 0x020707b0, size: 92 bytes, params: 2, frame: 15
var r0;
var Math;
var value4;
const property = env0_0.current[a0];
if (property != null) {
r0 = property;
} else {
Math = global.Math;
value4 = Math.floor(3 * global.Math.random()) + 1;
env0_0.current[a0] = value4;
r0 = value4;
}
return r0;
}
@@ -0,0 +1,93 @@
/* Metro module 11958; source: modules/chat/native/placeholder/ChatPlaceholderRow.tsx; dependencies: [31, 27, 33, 1305, 4501, 697, 11957, 9671, 2] */
function _fun91753(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#91753, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12144:6, offset: 0x02070c52, size: 519 bytes, params: 8, frame: 26
var object3;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = importAll(31) /* metro dependency 31 */;
const env0_2 = (require(27) /* metro dependency 27 */).View;
const value2 = require(33) /* metro dependency 33 */;
const env0_3 = value2.jsx;
const env0_4 = value2.jsxs;
const AVATAR_SIZE_MAP = (require(1305) /* metro dependency 1305: native */).AVATAR_SIZE_MAP;
const AvatarSizes = (require(1305) /* metro dependency 1305: native */).AvatarSizes;
const NORMAL = AvatarSizes.NORMAL;
const property = AVATAR_SIZE_MAP[NORMAL];
const createStylesModule = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = createStylesModule.createStyles;
object3 = {};
const object6 = {};
let PX_12 = (importDefault(697) /* metro dependency 697: native */).space.PX_12;
object6.paddingLeft = PX_12;
const CHAT_PLACEHOLDER_ROW_MARGIN_TOP = (require(11957) /* metro dependency 11957: getChatPlaceholderRowHeight */).CHAT_PLACEHOLDER_ROW_MARGIN_TOP;
object6.paddingTop = CHAT_PLACEHOLDER_ROW_MARGIN_TOP;
object6.flexDirection = 'row';
object3.row = object6;
PX_12 = (importDefault(697) /* metro dependency 697: native */).space.PX_12;
object3.rowInner = {marginHorizontal: PX_12, flex: 1};
const object7 = {};
let BACKGROUND_MOD_MUTED = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_MOD_MUTED;
object7.backgroundColor = BACKGROUND_MOD_MUTED;
object7.height = property;
object7.width = property;
object7.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round;
object3.placeholderAvatar = object7;
const object8 = {};
BACKGROUND_MOD_MUTED = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_MOD_MUTED;
object8.backgroundColor = BACKGROUND_MOD_MUTED;
const CHAT_PLACEHOLDER_ROW_LINE_HEIGHT = (require(11957) /* metro dependency 11957: getChatPlaceholderRowHeight */).CHAT_PLACEHOLDER_ROW_LINE_HEIGHT;
object8.height = CHAT_PLACEHOLDER_ROW_LINE_HEIGHT;
object8.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
object3.placeholderText = object8;
const CHAT_PLACEHOLDER_ROW_LINE_MARGIN_TOP = (require(11957) /* metro dependency 11957: getChatPlaceholderRowHeight */).CHAT_PLACEHOLDER_ROW_LINE_MARGIN_TOP;
object3.placeholderBody = {marginTop: CHAT_PLACEHOLDER_ROW_LINE_MARGIN_TOP, width: '100%'};
const env0_5 = Reflect.apply(createStyles, createStylesModule, [object3]);
value = value.memo(ChatPlaceholderRow);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/chat/native/placeholder/ChatPlaceholderRow.tsx');
exports.default = value;
}
function ChatPlaceholderRow({lines}) { // fn#91754, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12144:762, offset: 0x02070e59, size: 400 bytes, params: 2, frame: 30
var r1;
var defaultImport;
var value7;
var push;
var jsxRuntimeEnv0_3Binding;
var placeholderText;
var placeholderBody;
var value8;
const styles = useStyles();
let Math = global.Math;
let floor = Math.floor;
const Math2 = global.Math;
const value3 = Reflect.apply(floor, Math, [10 * Math2.random()]);
Math = global.Math;
floor = Math.floor;
const Math3 = global.Math;
const value5 = Reflect.apply(floor, Math, [50 * Math3.random()]) + 10;
const items2 = [];
if (0 < lines) {
for (r1 = 0; true; r1 = value8) {
defaultImport = importDefault(9671) /* metro dependency 9671: getChatPlaceholderRowWidth */;
value7 = defaultImport(value3 + r1);
push = items2.push;
jsxRuntimeEnv0_3Binding = jsxRuntimeEnv0_3;
placeholderText = styles.placeholderText;
placeholderBody = styles.placeholderBody;
Reflect.apply(push, items2, [<View style={[placeholderText, placeholderBody,
{width: '' + value7 + '%'}]} key={r1} />]);
value8 = typeof r1 === 'bigint' ? r1 + 1n : +r1 + 1;
if (!(value8 < lines)) {
break;
}
}
}
const items3 = [<View style={styles.placeholderAvatar} />];
items3[1] = <View style={styles.rowInner}><View style={[styles.placeholderText,
{width: '' + value5 + '%'}]} />{items2}</View>;
return (
<View style={styles.row}>
{items3}
</View>
);
}
@@ -0,0 +1,24 @@
/* Metro module 11957; source: modules/chat/native/placeholder/getChatPlaceholderRowHeight.tsx; dependencies: [697, 1305, 2] */
function _fun91751(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#91751, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12143:6, offset: 0x02070b2a, size: 237 bytes, params: 8, frame: 21
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const PX_24 = (importDefault(697) /* metro dependency 697: native */).space.PX_24;
const AVATAR_SIZE_MAP = (require(1305) /* metro dependency 1305: native */).AVATAR_SIZE_MAP;
const AvatarSizes = (require(1305) /* metro dependency 1305: native */).AvatarSizes;
const NORMAL = AvatarSizes.NORMAL;
const property = AVATAR_SIZE_MAP[NORMAL];
const PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
const PX_12 = (importDefault(697) /* metro dependency 697: native */).space.PX_12;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/chat/native/placeholder/getChatPlaceholderRowHeight.tsx');
exports.default = getChatPlaceholderRowHeight;
exports.CHAT_PLACEHOLDER_ROW_MARGIN_TOP = PX_24;
exports.CHAT_PLACEHOLDER_ROW_AVATAR_HEIGHT = property;
exports.CHAT_PLACEHOLDER_ROW_LINE_HEIGHT = PX_16;
exports.CHAT_PLACEHOLDER_ROW_LINE_MARGIN_TOP = PX_12;
}
function getChatPlaceholderRowHeight(a0) { // fn#91752, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12143:323, offset: 0x02070c17, size: 59 bytes, params: 2, frame: 16
const Math = global.Math;
return PX_24 + Math.max(env0_1, PX_16 + a0 * (PX_16 + PX_12));
}
@@ -0,0 +1,15 @@
/* Metro module 9671; source: modules/chat/native/placeholder/getChatPlaceholderRowWidth.tsx; dependencies: [2] */
function _fun75781(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#75781, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9857:6, offset: 0x01db9a0e, size: 87 bytes, params: 8, frame: 15
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/chat/native/placeholder/getChatPlaceholderRowWidth.tsx');
exports.default = function(a0) {
var Math = global.Math;
var value = Math.sin(a0);
value = 10000 * value;
Math = global.Math;
value -= Math.floor(value);
return 40 * value + 60;
};
}
@@ -0,0 +1,83 @@
/* Metro module 11956; source: modules/chat/native/placeholder/useChatPlaceholderAnimatedStyles.tsx; dependencies: [4502, 1305, 566, 4017, 4504, 4507, 2] */
function _fun91747(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#91747, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12142:6, offset: 0x0207088a, size: 169 bytes, params: 8, frame: 18
var object2;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const accessibilityStore = importDefault(4502) /* metro dependency 4502: AccessibilityStore */;
object2 = {duration: 1300};
const STANDARD_EASING = (require(1305) /* metro dependency 1305: native */).STANDARD_EASING;
object2.easing = STANDARD_EASING;
object2 = {code: 'function useChatPlaceholderAnimatedStylesTsx1(){const{visible,animated,useReducedMotion,withRepeat,withSequence,withTiming,timingNone,TIMING_CONFIG}=this.__closure;if(!visible){return{opacity:0};}else if(!animated||useReducedMotion){return{opacity:0.7};}return{opacity:withRepeat(withSequence(withTiming(0.3,timingNone),withTiming(0.7,TIMING_CONFIG),withTiming(0.3,TIMING_CONFIG)),-1)};}'};
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/chat/native/placeholder/useChatPlaceholderAnimatedStyles.tsx');
exports.default = useChatPlaceholderAnimatedStyles;
}
function useChatPlaceholderAnimatedStyles({visible, animated}) { // fn#91748, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12142:666, offset: 0x02070933, size: 258 bytes, params: 2, frame: 21
var object2;
const useReducedMotion = (require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore],
function() {
return AccessibilityStore.useReducedMotion;
});
const reanimatedRexportModule = require(4017) /* metro dependency 4017: ReanimatedRexport */;
const useAnimatedStyle = reanimatedRexportModule.useAnimatedStyle;
const closure = useChatPlaceholderAnimatedStylesC;
object2 = {visible: visible, animated: animated, useReducedMotion: useReducedMotion};
object2.withRepeat = reanimatedRexportModule.withRepeat;
object2.withSequence = reanimatedRexportModule.withSequence;
object2.withTiming = (require(4504) /* metro dependency 4504: timing */).withTiming;
object2.timingNone = (require(4507) /* metro dependency 4507: timingPresets */).timingNone;
object2.TIMING_CONFIG = env0_3;
closure.__closure = object2;
closure.__workletHash = 3375288363194;
closure.__initData = env0_4;
return Reflect.apply(useAnimatedStyle, reanimatedRexportModule, [closure]);
}
function useChatPlaceholderAnimatedStylesC() { // fn#91750, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12142:833, owner: useChatPlaceholderAnimatedStyles.c, offset: 0x02070a35, size: 245 bytes, params: 1, frame: 26
var object;
var r0;
var moduleValue;
var withRepeat;
var moduleValue2;
var withSequence;
var withTiming;
var value2;
var moduleValue4;
var binding;
var moduleValue5;
var value;
if (visible) {
if (animated) {
if (useReducedMotion) {
object = {opacity: 0.7};
} else {
value = environment.__proto__;
moduleValue = require(4017) /* metro dependency 4017: ReanimatedRexport */;
withRepeat = moduleValue.withRepeat;
moduleValue2 = require(4017) /* metro dependency 4017: ReanimatedRexport */;
withSequence = moduleValue2.withSequence;
value2 = (require(4504) /* metro dependency 4504: timing */).withTiming(0.3,
(require(4507) /* metro dependency 4507: timingPresets */).timingNone);
moduleValue4 = require(4504) /* metro dependency 4504: timing */;
withTiming = moduleValue4.withTiming;
binding = env1_3;
value = Reflect.apply(withTiming, moduleValue4, [0.7, binding]);
moduleValue5 = require(4504) /* metro dependency 4504: timing */;
withTiming = moduleValue5.withTiming;
value = Reflect.apply(withSequence, moduleValue2, [value2, value, Reflect.apply(withTiming,
moduleValue5,
[0.3,
binding])]);
object = {opacity: Reflect.apply(withRepeat, moduleValue, [value, -1])};
}
} else {
object = {opacity: 0.7};
}
r0 = object;
} else {
r0 = {opacity: 0};
}
return r0;
}
@@ -0,0 +1,28 @@
/* Metro module 4010; source: modules/chat/native/useChatLayout.tsx; dependencies: [31, 4011, 2] */
function _fun33044(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#33044, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4168:6, offset: 0x01026619, size: 130 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importAll(31) /* metro dependency 31 */;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/chat/native/useChatLayout.tsx');
exports.default = useChatLayout;
exports.getChatLayout = getChatLayout;
}
function useChatLayout() { // fn#33045, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4168:187, offset: 0x0102669b, size: 65 bytes, params: 1, frame: 14
return env0_3.useMemo(_fun33046, [(importDefault(4011) /* metro dependency 4011: useWindowSizeClassifier */)()]);
}
function getChatLayout() { // fn#33047, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4168:395, offset: 0x01026733, size: 99 bytes, params: 1, frame: 15
let value = require(4011) /* metro dependency 4011: useWindowSizeClassifier */;
value = value.getWindowSizeClassifier();
const {LARGE, XLARGE} = (require(4011) /* metro dependency 4011: useWindowSizeClassifier */).WindowSizeClassifier;
return {isChatBesideChannelList: value >= LARGE, isChatLockedOpen: value >= XLARGE};
}
function _fun33046() { // fn#33046, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4168:246, offset: 0x010266dc, size: 87 bytes, params: 1, frame: 15
const binding = env0_0;
const {LARGE, XLARGE} = (require(4011) /* metro dependency 4011: useWindowSizeClassifier */).WindowSizeClassifier;
return {isChatBesideChannelList: binding >= LARGE, isChatLockedOpen: binding >= XLARGE};
}
@@ -0,0 +1,10 @@
/* Metro module 11286; source: modules/chat/native/useChatViewPointerEvents.android.tsx; dependencies: [2] */
function _fun86168(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#86168, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11472:6, offset: 0x01f8a5e6, size: 87 bytes, params: 8, frame: 15
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/chat/native/useChatViewPointerEvents.android.tsx');
exports.default = function() {
return 'auto';
};
}
@@ -0,0 +1,54 @@
/* Metro module 11335; source: modules/chat/native/useChatWidth.tsx; dependencies: [31, 4010, 4012, 11336, 11337, 2] */
function _fun86562(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#86562, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11521:6, offset: 0x01f97c6d, size: 136 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importAll(31) /* metro dependency 31 */;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/chat/native/useChatWidth.tsx');
exports.default = useChatWidth;
exports.getChatWidth = getChatWidth;
}
function useChatWidth(a0) { // fn#86563, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11521:186, offset: 0x01f97cf5, size: 149 bytes, params: 2, frame: 16
const value2 = env0_3.useContext(importDefault(11337) /* metro dependency 11337: ChatViewWidthContext */);
const isChatLockedOpen = (importDefault(4010) /* metro dependency 4010: useChatLayout */)().isChatLockedOpen;
const width = (importDefault(4012) /* metro dependency 4012: useBaseAppContainerDimensions */)().width;
let value = require(11336) /* metro dependency 11336: useDrawerWidth */;
value = value.useDrawerWidth();
return value2 ?? (a0 == null ? isChatLockedOpen ? width - value : width : a0 !== 0 ? width : isChatLockedOpen ? width - value : width);
}
function getChatWidth(a0) { // fn#86564, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11521:371, offset: 0x01f97d8a, size: 131 bytes, params: 2, frame: 15
var r1;
var r0;
var value;
const useChatLayoutModule = require(4010) /* metro dependency 4010: useChatLayout */;
const getChatLayout = useChatLayoutModule.getChatLayout;
const isChatLockedOpen = Reflect.apply(getChatLayout, useChatLayoutModule, []).isChatLockedOpen;
const useBaseAppContainerDimensionsModule = require(4012) /* metro dependency 4012: useBaseAppContainerDimensions */;
const getBaseAppContainerDimensions = useBaseAppContainerDimensionsModule.getBaseAppContainerDimensions;
const width = Reflect.apply(getBaseAppContainerDimensions, useBaseAppContainerDimensionsModule, []).width;
if (a0 == null) {
if (isChatLockedOpen) {
value = require(11336) /* metro dependency 11336: useDrawerWidth */;
value = width - value.getDrawerWidth();
r1 = value;
} else {
r1 = width;
}
r0 = r1;
} else if (a0 !== 0) {
r0 = width;
} else {
if (isChatLockedOpen) {
value = require(11336) /* metro dependency 11336: useDrawerWidth */;
value = width - value.getDrawerWidth();
r1 = value;
} else {
r1 = width;
}
r0 = r1;
}
return r0;
}
+165
View File
@@ -0,0 +1,165 @@
/* Metro module 11566; source: modules/chat/useTypingText.tsx; dependencies: [57, 1878, 566, 4617, 1244, 2] */
function _fun88599(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#88599, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11752:6, offset: 0x01feacd5, size: 156 bytes, params: 8, frame: 19
const env0_0 = require;
const _arrayLikeToArray_88602 = function(a0, a1) {
var r0;
var r1;
var r2;
var value3;
var length;
var value5;
var value = undefined;
var value2 = value == null;
reducibleJoin2: while (true) {
if (value2) {
r0 = value2;
break reducibleJoin2;
}
value3 = value > a0.length;
r0 = value3;
break reducibleJoin2;
}
reducibleJoin4: while (true) {
if (r0) {
length = a0.length;
r1 = length;
break reducibleJoin4;
}
r1 = value;
break reducibleJoin4;
}
value = (0, global.Array)(r1);
var value4 = 0;
if (value4 < r1) {
r2 = value4;
reducibleLoop5: while (true) {
value[r2] = a0[r2];
value5 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1;
if (value5 < r1) {
r2 = value5;
continue reducibleLoop5;
}
break reducibleLoop5;
}
}
return value;
};
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(57) /* metro dependency 57 */;
const userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/chat/useTypingText.tsx');
exports.default = useTypingText;
}
function _createForOfIteratorHelperLoose_88600(a0, a1) { // fn#88600, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11752:123, offset: 0x01fead71, size: 372 bytes, params: 3, frame: 20
var r6;
var r9;
var r5;
var value3;
var regexp;
const env0_0 = a0;
const Symbol = global.Symbol;
let value = typeof Symbol !== 'undefined';
let r1 = value && a0[global.Symbol.iterator];
r1 = !r1 ? a0['@@iterator'] : r1;
if (r1) {
value = r1.call(a0);
return value.next.bind(value);
}
const Array = global.Array;
if (Array.isArray(a0)) {
if (r1) {
}
return _fun88601;
}
value = undefined;
if (a0) {
if (typeof a0 === 'string') {
value = _arrayLikeToArray_88602(a0, value);
r5 = value;
} else {
value3 = ({}).toString.call(a0).slice(8, -1);
r6 = value3 === 'Object' && a0.constructor;
r9 = r6 ? a0.constructor.name : value3;
if (r9 === 'Map') {
r6 = global.Array.from(a0);
} else if (r9 === 'Set') {
r6 = global.Array.from(a0);
} else if (r9 === 'Arguments') {
value = _arrayLikeToArray_88602(a0, value);
r6 = value;
} else {
regexp = RegExp('^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$', '');
if (regexp.test(r9)) {
value = _arrayLikeToArray_88602(a0, value);
r6 = value;
} else {
r6 = value;
}
}
r5 = r6;
}
} else {
r5 = value;
}
if (r5) {
if (r5) {
}
return _fun88601;
}
const TypeError = global.TypeError;
throw new TypeError('Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');
}
function useTypingText({channelId, guildId, typingUserIds}) { // fn#88603, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11752:1110, offset: 0x01feaee5, size: 437 bytes, params: 2, frame: 23
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
const fluxModule = require(566) /* metro dependency 566: flux */;
const useStateFromStoresArray = fluxModule.useStateFromStoresArray;
const value3 = env0_3(Reflect.apply(useStateFromStoresArray, fluxModule, [[UserStore], _fun88604, [channelId,
guildId, typingUserIds]]), 4);
const property = value3[0];
const property2 = value3[1];
const property3 = value3[2];
return property == null ? null : property2 == null ? intl.format(t.lJ9sZX,
{a: property}) : property3 == null ? intl.format(t.rB0CUa, {a: property,
b: property2}) : value3[3] == null ? intl.format(t.StKThj, {a: property, b: property2,
c: property3}) : intl.string(t.uVDhqZ);
}
function _fun88604() { // fn#88604, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11752:1219, offset: 0x01feb09a, size: 131 bytes, params: 1, frame: 24
var r2;
var value5;
var user;
var push;
var defaultImport;
var getName;
var value7;
const items2 = [];
const value3 = _createForOfIteratorHelperLoose_88600(typingUserIds);
const value4 = value3();
let done = value4.done;
if (!done) {
r2 = value4;
while (true) {
value5 = r2.value;
user = UserStore.getUser(value5);
if (user != null) {
push = items2.push;
defaultImport = importDefault(4617) /* metro dependency 4617: NicknameUtils */;
getName = defaultImport.getName;
Reflect.apply(push, items2, [Reflect.apply(getName, defaultImport, [guildId, channelId, user])]);
}
value7 = value3();
done = value7.done;
if (done) {
break;
}
r2 = value7;
continue;
}
}
return items2;
}
@@ -0,0 +1,62 @@
/* Metro module 11531; source: modules/chat/useTypingUsersIds.tsx; dependencies: [3793, 11532, 1878, 566, 2] */
function _fun88317(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#88317, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11717:6, offset: 0x01fdf3ce, size: 146 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const relationshipStore = importDefault(3793) /* metro dependency 3793: RelationshipStore */;
const typingStore = importDefault(11532) /* metro dependency 11532: TypingStore */;
const userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/chat/useTypingUsersIds.tsx');
exports.useTypingUserIds = useTypingUserIds;
}
function useTypingUserIds(a0) { // fn#88318, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11717:213, offset: 0x01fdf460, size: 121 bytes, params: 2, frame: 18
const value = a1;
const env0_0 = a0;
return (require(566) /* metro dependency 566: flux */).useStateFromStoresArray([UserStore, TypingStore,
RelationshipStore], _fun88319, [a0, value !== undefined ? value : global.Number.MAX_SAFE_INTEGER]);
}
function _fun88319() { // fn#88319, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11717:316, offset: 0x01fdf4d9, size: 164 bytes, params: 1, frame: 22
var r3;
var propertyName;
var propertyName2;
var length;
var user;
var id2;
var isBlockedOrIgnored;
var id3;
var push;
var id4;
const id = UserStore.getCurrentUser()?.id;
const typingUsers = TypingStore.getTypingUsers(env0_0);
const items2 = [];
for (propertyName in typingUsers) {
length = items2.length;
if (length >= env0_1) {
break;
}
user = UserStore.getUser(propertyName);
if (user == null) {
r3 = propertyName2;
continue;
}
id2 = user.id;
if (id2 === id) {
r3 = propertyName2;
continue;
}
isBlockedOrIgnored = RelationshipStore.isBlockedOrIgnored;
id3 = user.id;
if (Reflect.apply(isBlockedOrIgnored, RelationshipStore, [id3])) {
r3 = propertyName2;
continue;
}
push = items2.push;
id4 = user.id;
Reflect.apply(push, items2, [id4]);
r3 = propertyName2;
}
return items2;
}