This commit is contained in:
janisslsm committed 2026-07-28 01:06:53 +03:00
1 parent af3b49f756
commit 1781d25a15
22448 files changed
+2731829 -2650550

No files matched your search

File diff suppressed because it is too large. Load diff
@@ -1,60 +1,111 @@
/* Metro module 11021; source: modules/forums/native/composer/ForumComposerHeader.tsx; dependencies: [31, 27, 33, 4501, 697, 4805, 5278, 1244, 5312, 6698, 4573, 6686, 2] */
import UseChannelName from '../../../channel/useChannelName.tsx'; /* Metro dependency 4805 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as CreateStylesModule from '../../../../design/components/Styles/native/createStyles.tsx'; /* Metro dependency 4501 */
import * as TextModule from '../../../../design/components/Text/native/Text.tsx'; /* Metro dependency 4573 */
import * as PressablesModule from '../../../../design/void/Pressables/native/Pressables.tsx'; /* Metro dependency 5278 */
import * as XSmallIconModule from '../../../../design/components/Icon/native/redesign/generated/XSmallIcon.tsx'; /* Metro dependency 5312 */
import * as ForumIconModule from '../../../../design/components/Icon/native/redesign/generated/ForumIcon.tsx'; /* Metro dependency 6698 */
function _fun84410(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#84410, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11207:6, offset: 0x01f49033, size: 211 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
importAll(31) /* metro dependency 31 */;
let value = require(27) /* metro dependency 27 */;
ReactModule;
let value = ReactNativeModule;
const env0_3 = value.StyleSheet;
const env0_4 = value.View;
value = require(33) /* metro dependency 33 */;
const env0_5 = value.jsx;
const env0_6 = value.jsxs;
const env0_7 = (require(4501) /* metro dependency 4501: createStyles */).createStyles(_fun84411);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/forums/native/composer/ForumComposerHeader.tsx');
const env0_7 = (CreateStylesModule).createStyles(_fun84411);
(FileImportTrackerModule).fileFinishedImporting('modules/forums/native/composer/ForumComposerHeader.tsx');
exports.default = ForumComposerHeader;
function _fun84411(a0) { // fn#84411, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11207:189, offset: 0x01f49106, size: 205 bytes, params: 2, frame: 17
const object = {};
object.headerBar = {'height': null, 'flexDirection': 'row', 'alignItems': 'center', height: a0};
object.headerBarContent = {'flexDirection': 'row', 'alignItems': 'center', 'flex': 1};
let PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object.headerBarText = {marginHorizontal: PX_16};
const object4 = {};
copyDataProperties(object4, StyleSheet.absoluteFillObject, PX_16);
object4['height'] = StyleSheet.hairlineWidth;
const BORDER_SUBTLE = (importDefault(697) /* metro dependency 697: native */).colors.BORDER_SUBTLE;
object4['backgroundColor'] = BORDER_SUBTLE;
object4['top'] = undefined;
object.headerBarSeparator = object4;
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object.button = {paddingHorizontal: PX_16};
return object;
}
function ForumComposerHeader({height, title, channel, submitting, onClose, onGuidelinesPress}) { // fn#84412, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11207:555, offset: 0x01f491d3, size: 729 bytes, params: 2, frame: 34
const styles = useStyles(height);
const value3 = (UseChannelName)(channel);
const PressableOpacity = (PressablesModule).PressableOpacity;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const string = intl.string;
const cpT0Cq = (require(1244) /* metro dependency 1244: indexNative */).t.cpT0Cq;
const XSmallIcon = (XSmallIconModule).XSmallIcon;
const items2 = [
<PressableOpacity
style={styles.button}
accessibilityRole="button"
accessibilityLabel={Reflect.apply(string, intl, [cpT0Cq])}
disabled={submitting}
onPress={function() {
return onClose(false);
}}
>
<XSmallIcon />
</PressableOpacity>,
];
const ForumIcon = (ForumIconModule).ForumIcon;
const forumIcon = <ForumIcon size="sm" />;
const Text = (TextModule).Text;
items2[1] = (
<View style={styles.headerBarContent}>
{forumIcon}
<View style={styles.headerBarText}>
<Text
lineClamp={1}
ellipsizeMode="tail"
variant="text-md/semibold"
color="mobile-text-heading-primary"
>
{title !== '' ? title : intl.string((require(1244) /* metro dependency 1244: indexNative */).t['7EjFCk'])}
</Text>
<Text variant="text-xs/medium" color="text-default">
{value3}
</Text>
</View>
</View>
);
items2[2] = (
(channel == null ? undefined : channel.topic.length) > 0
? (
<PressableOpacity
accessibilityRole="button"
accessibilityLabel={intl.string((require(1244) /* metro dependency 1244: indexNative */).t.yR6HwZ)}
style={styles.button}
onPress={onGuidelinesPress}
>
{((BookCheckIcon) => <BookCheckIcon />)((require(6686) /* metro dependency 6686: BookCheckIcon */).BookCheckIcon)}
</PressableOpacity>
)
: null
);
items2[3] = <View style={styles.headerBarSeparator} />;
return (
<View style={styles.headerBar}>
{items2}
</View>
);
}
}
function _fun84411(a0) { // fn#84411, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11207:189, offset: 0x01f49106, size: 205 bytes, params: 2, frame: 17
const object2 = {};
object2.headerBar = {'height': null, 'flexDirection': 'row', 'alignItems': 'center', height: a0};
object2.headerBarContent = {'flexDirection': 'row', 'alignItems': 'center', 'flex': 1};
let PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object2.headerBarText = {marginHorizontal: PX_16};
const object3 = {};
copyDataProperties(object3, StyleSheet.absoluteFillObject, PX_16);
object3['height'] = StyleSheet.hairlineWidth;
const BORDER_SUBTLE = (importDefault(697) /* metro dependency 697: native */).colors.BORDER_SUBTLE;
object3['backgroundColor'] = BORDER_SUBTLE;
object3['top'] = undefined;
object2.headerBarSeparator = object3;
PX_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_16;
object2.button = {paddingHorizontal: PX_16};
return object2;
}
function ForumComposerHeader({height, title, channel, submitting, onClose, onGuidelinesPress}) { // fn#84412, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11207:555, offset: 0x01f491d3, size: 729 bytes, params: 2, frame: 34
const styles = useStyles(height);
const value3 = (importDefault(4805) /* metro dependency 4805: useChannelName */)(channel);
const PressableOpacity = (require(5278) /* metro dependency 5278: Pressables */).PressableOpacity;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const string = intl.string;
const cpT0Cq = (require(1244) /* metro dependency 1244: indexNative */).t.cpT0Cq;
const XSmallIcon = (require(5312) /* metro dependency 5312: XSmallIcon */).XSmallIcon;
const items2 = [<PressableOpacity style={styles.button} accessibilityRole="button" accessibilityLabel={Reflect.apply(string,
intl, [cpT0Cq])} disabled={submitting} onPress={function() {
return onClose(false);
}}><XSmallIcon /></PressableOpacity>];
const ForumIcon = (require(6698) /* metro dependency 6698: ForumIcon */).ForumIcon;
const forumIcon = <ForumIcon size="sm" />;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
items2[1] = <View style={styles.headerBarContent}>{forumIcon}<View style={styles.headerBarText}><Text lineClamp={1} ellipsizeMode="tail" variant="text-md/semibold" color="mobile-text-heading-primary">{title !== '' ? title : intl.string((require(1244) /* metro dependency 1244: indexNative */).t['7EjFCk'])}</Text><Text variant="text-xs/medium" color="text-default">{value3}</Text></View></View>;
items2[2] = (channel == null ? undefined : channel.topic.length) > 0 ? <PressableOpacity accessibilityRole="button" accessibilityLabel={intl.string((require(1244) /* metro dependency 1244: indexNative */).t.yR6HwZ)} style={styles.button} onPress={onGuidelinesPress}>{((BookCheckIcon) => <BookCheckIcon />)((require(6686) /* metro dependency 6686: BookCheckIcon */).BookCheckIcon)}</PressableOpacity> : null;
items2[3] = <View style={styles.headerBarSeparator} />;
return (
<View style={styles.headerBar}>
{items2}
</View>
);
}
global.__d(_fun84410, 11021, [31, 27, 33, 4501, 697, 4805, 5278, 1244, 5312, 6698, 4573, 6686,
2]) /* metro module 11021, dependencies: [31, 27, 33, 4501, 697, 4805, 5278, 1244, 5312, 6698, 4573, 6686, 2] */;
@@ -1,234 +1,277 @@
/* Metro module 11008; source: modules/forums/native/composer/ForumComposerModal.tsx; dependencies: [31, 27, 10738, 1379, 4645, 4644, 6865, 33, 4501, 697, 1848, 4496, 1244, 7165, 7879, 6771, 566, 9725, 11007, 1482, 1583, 21, 7155, 5286, 11009, 2] */
import Native from '../../../../external/discord_common/js/packages/tokens/native.tsx'; /* Metro dependency 697 */
import ChannelStore from '../../../../stores/ChannelStore.tsx'; /* Metro dependency 1379 */
import UploadAttachmentStore from '../../../../stores/UploadAttachmentStore.tsx'; /* Metro dependency 4644 */
import DraftStore from '../../../../stores/DraftStore.tsx'; /* Metro dependency 4645 */
import ForumPostMessagesStore from '../../ForumPostMessagesStore.tsx'; /* Metro dependency 6865 */
import DraftActionCreators from '../../../../actions/DraftActionCreators.tsx'; /* Metro dependency 7165 */
import UseGetThreadDraftSettings from '../../../threads/useGetThreadDraftSettings.tsx'; /* Metro dependency 9725 */
import NativeMenuStore from '../../../native_menu/native/NativeMenuStore.tsx'; /* Metro dependency 10738 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as JsxRuntimeModule from '../../../../by-id/module-00033-JsxRuntime.js'; /* Metro dependency 33 */
import * as FluxModule from '../../../../external/discord_common/js/packages/flux/index.tsx'; /* Metro dependency 566 */
import * as IndexNativeModule from '../../../../intl/index.native.tsx'; /* Metro dependency 1244 */
import * as CreateStylesModule from '../../../../design/components/Styles/native/createStyles.tsx'; /* Metro dependency 4501 */
import * as DraftStoreModule from '../../../../stores/DraftStore.tsx'; /* Metro dependency 4645 */
import * as TrackingModule from '../../tracking/Tracking.tsx'; /* Metro dependency 7155 */
import * as ForumComposerModalActionCreatorsModule from './ForumComposerModalActionCreators.tsx'; /* Metro dependency 11007 */
function _fun84274(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#84274, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11194:6, offset: 0x01f431ba, size: 338 bytes, params: 8, frame: 21
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
importAll(31) /* metro dependency 31 */;
const env0_4 = (require(27) /* metro dependency 27 */).View;
const nativeMenuStore = importDefault(10738) /* metro dependency 10738: NativeMenuStore */;
const channelStore = importDefault(1379) /* metro dependency 1379: ChannelStore */;
const draftStore = importDefault(4645) /* metro dependency 4645: DraftStore */;
const env0_8 = (require(4645) /* metro dependency 4645: DraftStore */).DraftType;
const uploadAttachmentStore = importDefault(4644) /* metro dependency 4644: UploadAttachmentStore */;
const forumPostMessagesStore = importDefault(6865) /* metro dependency 6865: ForumPostMessagesStore */;
const env0_11 = (require(33) /* metro dependency 33 */).jsx;
const createStylesModule = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = createStylesModule.createStyles;
const BACKGROUND_BASE_LOW = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BASE_LOW;
const env0_12 = Reflect.apply(createStyles, createStylesModule, [{container: {flex: 1,
ReactModule;
const createStyles = CreateStylesModule.createStyles;
const BACKGROUND_BASE_LOW = (Native).colors.BACKGROUND_BASE_LOW;
const env0_12 = Reflect.apply(createStyles, CreateStylesModule, [{container: {flex: 1,
backgroundColor: BACKGROUND_BASE_LOW}}]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/forums/native/composer/ForumComposerModal.tsx');
(FileImportTrackerModule).fileFinishedImporting('modules/forums/native/composer/ForumComposerModal.tsx');
exports.default = ForumComposerModal;
}
function clearDraft_84275(a0) { // fn#84275, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11194:310, offset: 0x01f4330c, size: 109 bytes, params: 2, frame: 18
const defaultImport = DraftActionCreators;
let clearDraft = defaultImport.clearDraft;
const ThreadSettings = DraftType.ThreadSettings;
Reflect.apply(clearDraft, defaultImport, [a0, ThreadSettings]);
let value = defaultImport;
clearDraft = value.clearDraft;
let ChannelMessage = DraftType.ChannelMessage;
Reflect.apply(clearDraft, value, [a0, ChannelMessage]);
value = importDefault(7879) /* metro dependency 7879: UploadAttachmentActionCreators */;
const clearAll = value.clearAll;
ChannelMessage = DraftType.ChannelMessage;
Reflect.apply(clearAll, value, [a0, ChannelMessage]);
}
function clearDraft_84275(a0) { // fn#84275, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11194:310, offset: 0x01f4330c, size: 109 bytes, params: 2, frame: 18
const defaultImport = importDefault(7165) /* metro dependency 7165: DraftActionCreators */;
let clearDraft = defaultImport.clearDraft;
const ThreadSettings = DraftType.ThreadSettings;
Reflect.apply(clearDraft, defaultImport, [a0, ThreadSettings]);
let value = defaultImport;
clearDraft = value.clearDraft;
let ChannelMessage = DraftType.ChannelMessage;
Reflect.apply(clearDraft, value, [a0, ChannelMessage]);
value = importDefault(7879) /* metro dependency 7879: UploadAttachmentActionCreators */;
const clearAll = value.clearAll;
ChannelMessage = DraftType.ChannelMessage;
Reflect.apply(clearAll, value, [a0, ChannelMessage]);
}
function ForumComposerModal({parentChannelId, threadId, messageId, isEdit, analyticsLocations}) { // fn#84276, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11194:531, offset: 0x01f43379, size: 556 bytes, params: 2, frame: 29
var r0;
let value = undefined;
isEdit = !(isEdit === value) && isEdit;
const styles = useStyles();
analyticsLocations = (importDefault(6771) /* metro dependency 6771: useAnalyticsLocations */)(analyticsLocations).analyticsLocations;
const value4 = (require(566) /* metro dependency 566: flux */).useStateFromStores([ChannelStore], function() {
return ChannelStore.getChannel(parentChannelId);
}, [parentChannelId]);
const value5 = (require(566) /* metro dependency 566: flux */).useStateFromStores([ChannelStore], function() {
return ChannelStore.getChannel(threadId);
}, [threadId]);
const value6 = (importDefault(9725) /* metro dependency 9725: useGetThreadDraftSettings */)(parentChannelId);
const value7 = (require(566) /* metro dependency 566: flux */).useStateFromStores([ForumPostMessagesStore],
function() {
var threadIdBinding = threadId;
var value2 = null;
return value2 != threadIdBinding && value2 != messageId ? ForumPostMessagesStore.getMessage(threadId).firstMessage : value2;
});
const value8 = (require(566) /* metro dependency 566: flux */).useStateFromStores([NativeMenuStore], function() {
return NativeMenuStore.isOpen();
});
const closure = onClose_84281;
(require(5286) /* metro dependency 5286: useNavigatorBackPressHandlerNative */).useNavigatorBackPressHandler(function() {
onClose_84281(false);
return true;
});
if (value4 == null) {
r0 = null;
} else if (value4.isForumLikeChannel()) {
if (isEdit) {
function ForumComposerModal({parentChannelId, threadId, messageId, isEdit, analyticsLocations}) { // fn#84276, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11194:531, offset: 0x01f43379, size: 556 bytes, params: 2, frame: 29
var r0;
let value = undefined;
isEdit = !(isEdit === value) && isEdit;
const styles = useStyles();
analyticsLocations = (importDefault(6771) /* metro dependency 6771: useAnalyticsLocations */)(analyticsLocations).analyticsLocations;
const useStateFromStores = FluxModule.useStateFromStores;
const channelStoreBinding = ChannelStore;
const value4 = Reflect.apply(useStateFromStores, FluxModule, [[channelStoreBinding], function() {
return ChannelStore.getChannel(parentChannelId);
}, [parentChannelId]]);
const value5 = FluxModule.useStateFromStores([channelStoreBinding], function() {
return ChannelStore.getChannel(threadId);
}, [threadId]);
const value6 = (UseGetThreadDraftSettings)(parentChannelId);
const value7 = FluxModule.useStateFromStores([ForumPostMessagesStore], function() {
var threadIdBinding = threadId;
var value2 = null;
return value2 != threadIdBinding && value2 != messageId ? ForumPostMessagesStore.getMessage(threadId).firstMessage : value2;
});
const value8 = FluxModule.useStateFromStores([NativeMenuStore], function() {
return NativeMenuStore.isOpen();
});
const onClose_842812 = onClose_84281;
(require(5286) /* metro dependency 5286: useNavigatorBackPressHandlerNative */).useNavigatorBackPressHandler(function() {
onClose_84281(false);
return true;
});
if (value4 == null) {
r0 = null;
} else if (value4.isForumLikeChannel()) {
if (isEdit) {
if (isEdit) {
if (value7 == null) {
r0 = null;
} else {
const AnalyticsLocationProvider = (require(6771) /* metro dependency 6771: useAnalyticsLocations */).AnalyticsLocationProvider;
value = (
<AnalyticsLocationProvider value={analyticsLocations}>
<View style={styles.container} importantForAccessibility={value8 ? 'no-hide-descendants' : value}>
{((Component) => <Component parentChannel={value4} thread={value5} message={value7} threadSettingsDraft={value6} onClose={onClose_842812} isEdit={isEdit} />)(importDefault(11009) /* metro dependency 11009: ForumComposer */)}
</View>
</AnalyticsLocationProvider>
);
r0 = value;
}
} else {
const AnalyticsLocationProvider2 = (require(6771) /* metro dependency 6771: useAnalyticsLocations */).AnalyticsLocationProvider;
value = (
<AnalyticsLocationProvider2 value={analyticsLocations}>
<View style={styles.container} importantForAccessibility={value8 ? 'no-hide-descendants' : value}>
{((Component) => <Component parentChannel={value4} thread={value5} message={value7} threadSettingsDraft={value6} onClose={onClose_842812} isEdit={isEdit} />)(importDefault(11009) /* metro dependency 11009: ForumComposer */)}
</View>
</AnalyticsLocationProvider2>
);
r0 = value;
}
} else if (value6 == null) {
r0 = null;
} else if (isEdit) {
if (value7 == null) {
r0 = null;
} else {
const AnalyticsLocationProvider = (require(6771) /* metro dependency 6771: useAnalyticsLocations */).AnalyticsLocationProvider;
value = <AnalyticsLocationProvider value={analyticsLocations}><View style={styles.container} importantForAccessibility={value8 ? 'no-hide-descendants' : value}>{((Component) => <Component parentChannel={value4} thread={value5} message={value7} threadSettingsDraft={value6} onClose={closure} isEdit={isEdit} />)(importDefault(11009) /* metro dependency 11009: ForumComposer */)}</View></AnalyticsLocationProvider>;
const AnalyticsLocationProvider3 = (require(6771) /* metro dependency 6771: useAnalyticsLocations */).AnalyticsLocationProvider;
value = (
<AnalyticsLocationProvider3 value={analyticsLocations}>
<View style={styles.container} importantForAccessibility={value8 ? 'no-hide-descendants' : value}>
{((Component) => <Component parentChannel={value4} thread={value5} message={value7} threadSettingsDraft={value6} onClose={onClose_842812} isEdit={isEdit} />)(importDefault(11009) /* metro dependency 11009: ForumComposer */)}
</View>
</AnalyticsLocationProvider3>
);
r0 = value;
}
} else {
const AnalyticsLocationProvider2 = (require(6771) /* metro dependency 6771: useAnalyticsLocations */).AnalyticsLocationProvider;
value = <AnalyticsLocationProvider2 value={analyticsLocations}><View style={styles.container} importantForAccessibility={value8 ? 'no-hide-descendants' : value}>{((Component) => <Component parentChannel={value4} thread={value5} message={value7} threadSettingsDraft={value6} onClose={closure} isEdit={isEdit} />)(importDefault(11009) /* metro dependency 11009: ForumComposer */)}</View></AnalyticsLocationProvider2>;
const AnalyticsLocationProvider4 = (require(6771) /* metro dependency 6771: useAnalyticsLocations */).AnalyticsLocationProvider;
value = (
<AnalyticsLocationProvider4 value={analyticsLocations}>
<View style={styles.container} importantForAccessibility={value8 ? 'no-hide-descendants' : value}>
{((Component) => <Component parentChannel={value4} thread={value5} message={value7} threadSettingsDraft={value6} onClose={onClose_842812} isEdit={isEdit} />)(importDefault(11009) /* metro dependency 11009: ForumComposer */)}
</View>
</AnalyticsLocationProvider4>
);
r0 = value;
}
} else if (value6 == null) {
} else {
r0 = null;
} else if (isEdit) {
if (value7 == null) {
r0 = null;
} else {
const AnalyticsLocationProvider3 = (require(6771) /* metro dependency 6771: useAnalyticsLocations */).AnalyticsLocationProvider;
value = <AnalyticsLocationProvider3 value={analyticsLocations}><View style={styles.container} importantForAccessibility={value8 ? 'no-hide-descendants' : value}>{((Component) => <Component parentChannel={value4} thread={value5} message={value7} threadSettingsDraft={value6} onClose={closure} isEdit={isEdit} />)(importDefault(11009) /* metro dependency 11009: ForumComposer */)}</View></AnalyticsLocationProvider3>;
r0 = value;
}
} else {
const AnalyticsLocationProvider4 = (require(6771) /* metro dependency 6771: useAnalyticsLocations */).AnalyticsLocationProvider;
value = <AnalyticsLocationProvider4 value={analyticsLocations}><View style={styles.container} importantForAccessibility={value8 ? 'no-hide-descendants' : value}>{((Component) => <Component parentChannel={value4} thread={value5} message={value7} threadSettingsDraft={value6} onClose={closure} isEdit={isEdit} />)(importDefault(11009) /* metro dependency 11009: ForumComposer */)}</View></AnalyticsLocationProvider4>;
r0 = value;
}
} else {
r0 = null;
}
return r0;
}
function ForumComposerModalOnClose(a0) { // fn#84281, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11194:971, owner: ForumComposerModal.onClose, offset: 0x01f435f5, size: 704 bytes, params: 2, frame: 25
var environment;
var r9;
var value2;
var value3;
var moduleValue;
var setKeyboardType;
var object2;
var getDraft;
var parentChannelIdBinding;
var ChannelMessage;
var value4;
var threadSettings;
var getThreadDraftWithParentMessageId;
var defaultImport;
var getUploads;
var onConfirm;
var onCancel;
var show;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
var value;
if (env0_4 != null) {
value2 = environment.__proto__;
if (a0) {
(require(11007) /* metro dependency 11007: ForumComposerModalActionCreators */).closeCreateForumPostModal();
clearDraft_84275(parentChannelId);
} else {
value3 = undefined;
moduleValue = require(1482) /* metro dependency 1482: KeyboardUIStoreNative */;
setKeyboardType = moduleValue.setKeyboardType;
object2 = {};
object2.type = (require(1583) /* metro dependency 1583: KeyboardTypes */).KeyboardTypes.SYSTEM;
Reflect.apply(setKeyboardType, moduleValue, [object2]);
getDraft = DraftStore.getDraft;
parentChannelIdBinding = parentChannelId;
ChannelMessage = DraftType.ChannelMessage;
value4 = Reflect.apply(getDraft, DraftStore, [parentChannelIdBinding, ChannelMessage]);
threadSettings = DraftStore.getThreadSettings(parentChannelIdBinding);
if (threadSettings != null) {
r9 = threadSettings;
} else {
getThreadDraftWithParentMessageId = DraftStore.getThreadDraftWithParentMessageId;
defaultImport = importDefault(21) /* metro dependency 21: SnowflakeUtils */;
r9 = Reflect.apply(getThreadDraftWithParentMessageId, DraftStore,
[defaultImport.castChannelIdAsMessageId(parentChannelId)]);
}
getUploads = UploadAttachmentStore.getUploads;
parentChannelIdBinding = parentChannelId;
ChannelMessage = DraftType.ChannelMessage;
if (isEdit) {
(require(11007) /* metro dependency 11007: ForumComposerModalActionCreators */).closeCreateForumPostModal();
clearDraft_84275(parentChannelId);
} else if (value4.length > 0) {
object2 = {onConfirm: onConfirm_84282, onCancel: function() {
require(dependencyMap[18]).closeCreateForumPostModal();
return r0;
function ForumComposerModalOnClose(a0) { // fn#84281, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11194:971, owner: ForumComposerModal.onClose, offset: 0x01f435f5, size: 704 bytes, params: 2, frame: 25
var environment;
var r9;
var value2;
var value3;
var moduleValue;
var setKeyboardType;
var object;
var draftStoreBinding;
var getDraft;
var parentChannelIdBinding;
var ChannelMessage;
var value4;
var threadSettings;
var getThreadDraftWithParentMessageId;
var defaultImport;
var uploadAttachmentStoreBinding;
var getUploads;
var onConfirm;
var onCancel;
var show;
const intl = (IndexNativeModule).intl;
const t = (IndexNativeModule).t;
var value;
if (ReactNativeModule.View != null) {
value2 = environment.__proto__;
if (a0) {
(require(11007) /* metro dependency 11007: ForumComposerModalActionCreators */).closeCreateForumPostModal();
clearDraft_84275(parentChannelId);
}};
onConfirm = object2.onConfirm;
onCancel = object2.onCancel;
value = importAll(1848) /* metro dependency 1848: KeyboardManagerUtils */;
value.dismissGlobalKeyboard();
value = importDefault(4496) /* metro dependency 4496: AlertActionCreators */;
show = value.show;
object2 = {};
object2.title = intl.string(t.Fz1512);
object2.body = intl.string(t.YBgepz);
object2.confirmText = intl.string(t.Rnli6C);
object2.cancelText = intl.string(t['3NnH6V']);
object2.onConfirm = onConfirm;
object2.onCancel = onCancel;
object2.hideActionSheet = true;
object2.isDismissable = true;
Reflect.apply(show, value, [object2]);
} else if (Reflect.apply(getUploads, UploadAttachmentStore, [parentChannelIdBinding,
ChannelMessage]).length > 0) {
object2 = {onConfirm: onConfirm_84282, onCancel: onCancel_84283};
onConfirm = object2.onConfirm;
onCancel = object2.onCancel;
value = importAll(1848) /* metro dependency 1848: KeyboardManagerUtils */;
value.dismissGlobalKeyboard();
value = importDefault(4496) /* metro dependency 4496: AlertActionCreators */;
show = value.show;
object2 = {};
object2.title = intl.string(t.Fz1512);
object2.body = intl.string(t.YBgepz);
object2.confirmText = intl.string(t.Rnli6C);
object2.cancelText = intl.string(t['3NnH6V']);
object2.onConfirm = onConfirm;
object2.onCancel = onCancel;
object2.hideActionSheet = true;
object2.isDismissable = true;
Reflect.apply(show, value, [object2]);
} else if (((r9 == null ? value3 : r9.name) ?? '').length > 0) {
object2 = {onConfirm: onConfirm_84282, onCancel: onCancel_84283};
onConfirm = object2.onConfirm;
onCancel = object2.onCancel;
value = importAll(1848) /* metro dependency 1848: KeyboardManagerUtils */;
value.dismissGlobalKeyboard();
value = importDefault(4496) /* metro dependency 4496: AlertActionCreators */;
show = value.show;
object2 = {};
object2.title = intl.string(t.Fz1512);
object2.body = intl.string(t.YBgepz);
object2.confirmText = intl.string(t.Rnli6C);
object2.cancelText = intl.string(t['3NnH6V']);
object2.onConfirm = onConfirm;
object2.onCancel = onCancel;
object2.hideActionSheet = true;
object2.isDismissable = true;
Reflect.apply(show, value, [object2]);
} else {
(require(11007) /* metro dependency 11007: ForumComposerModalActionCreators */).closeCreateForumPostModal();
} else {
value3 = undefined;
moduleValue = require(1482) /* metro dependency 1482: KeyboardUIStoreNative */;
setKeyboardType = moduleValue.setKeyboardType;
object = {};
object.type = (require(1583) /* metro dependency 1583: KeyboardTypes */).KeyboardTypes.SYSTEM;
Reflect.apply(setKeyboardType, moduleValue, [object]);
draftStoreBinding = DraftStore;
getDraft = draftStoreBinding.getDraft;
parentChannelIdBinding = parentChannelId;
ChannelMessage = DraftType.ChannelMessage;
value4 = Reflect.apply(getDraft, draftStoreBinding, [parentChannelIdBinding, ChannelMessage]);
threadSettings = draftStoreBinding.getThreadSettings(parentChannelIdBinding);
if (threadSettings != null) {
r9 = threadSettings;
} else {
draftStoreBinding = DraftStore;
getThreadDraftWithParentMessageId = draftStoreBinding.getThreadDraftWithParentMessageId;
defaultImport = importDefault(21) /* metro dependency 21: SnowflakeUtils */;
r9 = Reflect.apply(getThreadDraftWithParentMessageId, draftStoreBinding,
[defaultImport.castChannelIdAsMessageId(parentChannelId)]);
}
uploadAttachmentStoreBinding = UploadAttachmentStore;
getUploads = uploadAttachmentStoreBinding.getUploads;
parentChannelIdBinding = parentChannelId;
ChannelMessage = DraftType.ChannelMessage;
if (isEdit) {
(require(11007) /* metro dependency 11007: ForumComposerModalActionCreators */).closeCreateForumPostModal();
clearDraft_84275(parentChannelId);
} else if (value4.length > 0) {
object = {onConfirm: onConfirm_84282, onCancel: function() {
require(dependencyMap[18]).closeCreateForumPostModal();
clearDraft_84275(parentChannelId);
}};
onConfirm = object.onConfirm;
onCancel = object.onCancel;
value = importAll(1848) /* metro dependency 1848: KeyboardManagerUtils */;
value.dismissGlobalKeyboard();
value = importDefault(4496) /* metro dependency 4496: AlertActionCreators */;
show = value.show;
object = {};
object.title = intl.string(t.Fz1512);
object.body = intl.string(t.YBgepz);
object.confirmText = intl.string(t.Rnli6C);
object.cancelText = intl.string(t['3NnH6V']);
object.onConfirm = onConfirm;
object.onCancel = onCancel;
object.hideActionSheet = true;
object.isDismissable = true;
Reflect.apply(show, value, [object]);
} else if (Reflect.apply(getUploads, uploadAttachmentStoreBinding, [parentChannelIdBinding,
ChannelMessage]).length > 0) {
object = {onConfirm: onConfirm_84282, onCancel: onCancel_84283};
onConfirm = object.onConfirm;
onCancel = object.onCancel;
value = importAll(1848) /* metro dependency 1848: KeyboardManagerUtils */;
value.dismissGlobalKeyboard();
value = importDefault(4496) /* metro dependency 4496: AlertActionCreators */;
show = value.show;
object = {};
object.title = intl.string(t.Fz1512);
object.body = intl.string(t.YBgepz);
object.confirmText = intl.string(t.Rnli6C);
object.cancelText = intl.string(t['3NnH6V']);
object.onConfirm = onConfirm;
object.onCancel = onCancel;
object.hideActionSheet = true;
object.isDismissable = true;
Reflect.apply(show, value, [object]);
} else if (((r9 == null ? value3 : r9.name) ?? '').length > 0) {
object = {onConfirm: onConfirm_84282, onCancel: onCancel_84283};
onConfirm = object.onConfirm;
onCancel = object.onCancel;
value = importAll(1848) /* metro dependency 1848: KeyboardManagerUtils */;
value.dismissGlobalKeyboard();
value = importDefault(4496) /* metro dependency 4496: AlertActionCreators */;
show = value.show;
object = {};
object.title = intl.string(t.Fz1512);
object.body = intl.string(t.YBgepz);
object.confirmText = intl.string(t.Rnli6C);
object.cancelText = intl.string(t['3NnH6V']);
object.onConfirm = onConfirm;
object.onCancel = onCancel;
object.hideActionSheet = true;
object.isDismissable = true;
Reflect.apply(show, value, [object]);
} else {
(require(11007) /* metro dependency 11007: ForumComposerModalActionCreators */).closeCreateForumPostModal();
clearDraft_84275(parentChannelId);
}
}
}
function onCloseOnConfirm() { // fn#84282, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11194:1728, owner: ForumComposerModal.onClose.onConfirm, offset: 0x01f438b5, size: 91 bytes, params: 1, frame: 16
const value = environment.__proto__.__proto__;
(TrackingModule).maybeTrackForumNewPostDraftCreated({guildId: env1_4.guild_id,
channelId: env1_4.id});
(ForumComposerModalActionCreatorsModule).closeCreateForumPostModal();
}
function onCloseOnCancel() { // fn#84283, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11194:1861, owner: ForumComposerModal.onClose.onCancel, offset: 0x01f43910, size: 53 bytes, params: 1, frame: 12
(ForumComposerModalActionCreatorsModule).closeCreateForumPostModal();
clearDraft_84275(parentChannelId);
}
}
}
}
function onCloseOnConfirm() { // fn#84282, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11194:1728, owner: ForumComposerModal.onClose.onConfirm, offset: 0x01f438b5, size: 91 bytes, params: 1, frame: 16
const value = environment.__proto__.__proto__;
(require(7155) /* metro dependency 7155: Tracking */).maybeTrackForumNewPostDraftCreated({guildId: env1_4.guild_id,
channelId: env1_4.id});
(require(11007) /* metro dependency 11007: ForumComposerModalActionCreators */).closeCreateForumPostModal();
}
function onCloseOnCancel() { // fn#84283, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11194:1861, owner: ForumComposerModal.onClose.onCancel, offset: 0x01f43910, size: 53 bytes, params: 1, frame: 12
(require(11007) /* metro dependency 11007: ForumComposerModalActionCreators */).closeCreateForumPostModal();
clearDraft_84275(parentChannelId);
}
global.__d(_fun84274, 11008, [31, 27, 10738, 1379, 4645, 4644, 6865, 33, 4501, 697, 1848, 4496, 1244, 7165, 7879,
6771, 566, 9725, 11007, 1482, 1583, 21, 7155, 5286, 11009,
2]) /* metro module 11008, dependencies: [31, 27, 10738, 1379, 4645, 4644, 6865, 33, 4501, 697, 1848, 4496, 1244, 7165, 7879, 6771, 566, 9725, 11007, 1482, 1583, 21, 7155, 5286, 11009, 2] */;
@@ -1,31 +1,36 @@
/* Metro module 11007; source: modules/forums/native/composer/ForumComposerModalActionCreators.tsx; dependencies: [7155, 5080, 11008, 1962, 2] */
import ModalActionCreators from '../../../../actions/ModalActionCreators.tsx'; /* Metro dependency 5080 */
import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
function _fun84271(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#84271, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11193:6, offset: 0x01f43015, size: 116 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/forums/native/composer/ForumComposerModalActionCreators.tsx');
(FileImportTrackerModule).fileFinishedImporting('modules/forums/native/composer/ForumComposerModalActionCreators.tsx');
exports.openCreateForumPostModal = openCreateForumPostModal;
exports.closeCreateForumPostModal = closeCreateForumPostModal;
}
function openCreateForumPostModal(a0) { // fn#84272, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11193:246, offset: 0x01f43089, size: 217 bytes, params: 2, frame: 18
require(dependencyMap[0]).trackMobileForumComposerOpened({guildId: a0.guildId, channelId: a0.parentChannelId,
location: a0.analyticsLocationObject});
if (!(a0.isEdit != null && a0.isEdit)) {
require(dependencyMap[0]).trackForumCreateNewPostStarted({guildId: a0.guildId, channelId: a0.parentChannelId});
function openCreateForumPostModal(a0) { // fn#84272, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11193:246, offset: 0x01f43089, size: 217 bytes, params: 2, frame: 18
require(dependencyMap[0]).trackMobileForumComposerOpened({guildId: a0.guildId, channelId: a0.parentChannelId,
location: a0.analyticsLocationObject});
if (!(a0.isEdit != null && a0.isEdit)) {
require(dependencyMap[0]).trackForumCreateNewPostStarted({guildId: a0.guildId, channelId: a0.parentChannelId});
}
const defaultImport = importDefault(dependencyMap[1]);
const pushLazy = defaultImport.pushLazy;
let value = require(dependencyMap[3]);
value = value(dependencyMap[2], dependencyMap.paths);
Reflect.apply(pushLazy, defaultImport, [value, a0, 'create-forum-post']);
}
const defaultImport = importDefault(dependencyMap[1]);
const pushLazy = defaultImport.pushLazy;
let value = require(dependencyMap[3]);
value = value(dependencyMap[2], dependencyMap.paths);
Reflect.apply(pushLazy, defaultImport, [value, a0, 'create-forum-post']);
}
function closeCreateForumPostModal() { // fn#84273, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11193:560, offset: 0x01f43162, size: 88 bytes, params: 1, frame: 12
const value = a0;
if (!(value !== undefined ? value : false)) {
(require(7155) /* metro dependency 7155: Tracking */).trackMobileForumComposerDismissed();
function closeCreateForumPostModal() { // fn#84273, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11193:560, offset: 0x01f43162, size: 88 bytes, params: 1, frame: 12
const value = a0;
if (!(value !== undefined ? value : false)) {
(require(7155) /* metro dependency 7155: Tracking */).trackMobileForumComposerDismissed();
}
(ModalActionCreators).popWithKey('create-forum-post');
}
(importDefault(5080) /* metro dependency 5080: ModalActionCreators */).popWithKey('create-forum-post');
}
global.__d(_fun84271, 11007, [7155, 5080, 11008, 1962,
2]) /* metro module 11007, dependencies: [7155, 5080, 11008, 1962, 2] */;
@@ -1,78 +1,81 @@
/* Metro module 11015; source: modules/forums/native/composer/hooks/ExpressionPickerHandlers.tsx; dependencies: [31, 2] */
import * as FileImportTrackerModule from '../../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactModule from '../../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
function _fun84385(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#84385, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11201:6, offset: 0x01f47d2a, size: 119 bytes, params: 8, frame: 17
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_0 = importAll(31) /* metro dependency 31 */;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/forums/native/composer/hooks/ExpressionPickerHandlers.tsx');
(FileImportTrackerModule).fileFinishedImporting('modules/forums/native/composer/hooks/ExpressionPickerHandlers.tsx');
exports.usePressEmojiHandler = usePressEmojiHandler;
exports.usePressGIFHandler = usePressGIFHandler;
}
function usePressEmojiHandler({selection, draftContent, handleTextChange, focusTextInput, setSelection}) { // fn#84386, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11201:228, offset: 0x01f47da1, size: 144 bytes, params: 2, frame: 18
const binding = selection;
const env0_5 = binding.useRef({selection: selection, draftContent: draftContent, handleTextChange: handleTextChange,
focusTextInput: focusTextInput, setSelection: setSelection});
binding.useEffect(_fun84387);
return binding.useCallback(_fun84388, []);
}
function usePressGIFHandler({selection, draftContent, handleTextChange, focusTextInput, setSelection}) { // fn#84389, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11201:994, offset: 0x01f47f89, size: 120 bytes, params: 2, frame: 18
return selection.useCallback(_fun84390, [draftContent, focusTextInput, handleTextChange, selection.end,
selection.start, setSelection]);
}
function _fun84387() { // fn#84387, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11201:455, offset: 0x01f47e31, size: 64 bytes, params: 1, frame: 4
env0_5.current = {selection: selection, draftContent: draftContent, handleTextChange: handleTextChange,
focusTextInput: focusTextInput, setSelection: setSelection};
}
function _fun84388(a0) { // fn#84388, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11201:568, offset: 0x01f47e71, size: 280 bytes, params: 2, frame: 21
var r9;
var length;
var surrogates;
const {selection, draftContent, handleTextChange, focusTextInput, setSelection} = env0_5.current;
const value = draftContent.substring(0, selection.start);
const value2 = draftContent.substring(selection.end ?? selection.start);
selection.start;
if (a0.id != null) {
r9 = a0.uniqueName == null ? a0.name : a0.uniqueName !== '' ? a0.uniqueName : a0.name;
handleTextChange(value + (':' + r9 + ': ') + value2);
length = (value + (':' + r9 + ': ')).length;
} else {
surrogates = a0.surrogates;
if (surrogates != null) {
surrogates = a0.surrogates;
handleTextChange(value + surrogates + value2);
surrogates = a0.surrogates;
length = (value + surrogates).length;
} else {
r9 = a0.uniqueName == null ? a0.name : a0.uniqueName !== '' ? a0.uniqueName : a0.name;
handleTextChange(value + (':' + r9 + ': ') + value2);
length = (value + (':' + r9 + ': ')).length;
function usePressEmojiHandler({selection, draftContent, handleTextChange, focusTextInput, setSelection}) { // fn#84386, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11201:228, offset: 0x01f47da1, size: 144 bytes, params: 2, frame: 18
const binding = selection;
const env0_5 = binding.useRef({selection: selection, draftContent: draftContent, handleTextChange: handleTextChange,
focusTextInput: focusTextInput, setSelection: setSelection});
binding.useEffect(_fun84387);
return binding.useCallback(_fun84388, []);
function _fun84387() { // fn#84387, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11201:455, offset: 0x01f47e31, size: 64 bytes, params: 1, frame: 4
env0_5.current = {selection: selection, draftContent: draftContent, handleTextChange: handleTextChange,
focusTextInput: focusTextInput, setSelection: setSelection};
}
function _fun84388(a0) { // fn#84388, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11201:568, offset: 0x01f47e71, size: 280 bytes, params: 2, frame: 21
var r9;
var length;
var surrogates;
const {selection, draftContent, handleTextChange, focusTextInput, setSelection} = env0_5.current;
const value = draftContent.substring(0, selection.start);
const value2 = draftContent.substring(selection.end ?? selection.start);
selection.start;
if (a0.id != null) {
r9 = a0.uniqueName == null ? a0.name : a0.uniqueName !== '' ? a0.uniqueName : a0.name;
handleTextChange(value + (':' + r9 + ': ') + value2);
length = (value + (':' + r9 + ': ')).length;
} else {
surrogates = a0.surrogates;
if (surrogates != null) {
surrogates = a0.surrogates;
handleTextChange(value + surrogates + value2);
surrogates = a0.surrogates;
length = (value + surrogates).length;
} else {
r9 = a0.uniqueName == null ? a0.name : a0.uniqueName !== '' ? a0.uniqueName : a0.name;
handleTextChange(value + (':' + r9 + ': ') + value2);
length = (value + (':' + r9 + ': ')).length;
}
}
setSelection({start: length, end: length});
focusTextInput();
}
}
setSelection({start: length, end: length});
focusTextInput();
}
function _fun84390({url}) { // fn#84390, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11201:1125, offset: 0x01f48001, size: 217 bytes, params: 2, frame: 18
var length;
const draftContentBinding = draftContent;
const substring = draftContentBinding.substring;
const selectionBinding = selection;
const value2 = Reflect.apply(substring, draftContentBinding, [0, selectionBinding.start]);
const value3 = draftContentBinding.substring(selectionBinding.end ?? selection.start);
selection.start;
const value4 = value2.endsWith(' ');
const handleTextChangeBinding = handleTextChange;
if (value4) {
handleTextChangeBinding(value2 + url + value3);
length = (value2 + url).length;
} else {
handleTextChangeBinding(value2 + (' ' + url) + value3);
length = (value2 + (' ' + url)).length;
function usePressGIFHandler({selection, draftContent, handleTextChange, focusTextInput, setSelection}) { // fn#84389, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11201:994, offset: 0x01f47f89, size: 120 bytes, params: 2, frame: 18
return selection.useCallback(_fun84390, [draftContent, focusTextInput, handleTextChange, selection.end,
selection.start, setSelection]);
function _fun84390({url}) { // fn#84390, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11201:1125, offset: 0x01f48001, size: 217 bytes, params: 2, frame: 18
var length;
const draftContentBinding = draftContent;
const substring = draftContentBinding.substring;
const selectionBinding = selection;
const value2 = Reflect.apply(substring, draftContentBinding, [0, selectionBinding.start]);
const value3 = draftContentBinding.substring(selectionBinding.end ?? selection.start);
selection.start;
const value4 = value2.endsWith(' ');
const handleTextChangeBinding = handleTextChange;
if (value4) {
handleTextChangeBinding(value2 + url + value3);
length = (value2 + url).length;
} else {
handleTextChangeBinding(value2 + (' ' + url) + value3);
length = (value2 + (' ' + url)).length;
}
setSelection({start: length, end: length});
focusTextInput();
}
}
setSelection({start: length, end: length});
focusTextInput();
}
global.__d(_fun84385, 11015, [31, 2]) /* metro module 11015, dependencies: [31, 2] */;
@@ -1,105 +1,108 @@
/* Metro module 11019; source: modules/forums/native/composer/hooks/useBackspaceHandler.tsx; dependencies: [31, 2] */
import * as FileImportTrackerModule from '../../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactModule from '../../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
function _fun84403(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#84403, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11205:6, offset: 0x01f48998, size: 124 bytes, params: 8, frame: 17
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_0 = importAll(31) /* metro dependency 31 */;
const env0_1 = RegExp('((\\ud83c[\\udde6-\\uddff]){2}|([#*0-9]\\u20e3)|(\\u00a9|\\u00ae|[\\u2000-\\u3300]|[\\ud83c-\\ud83e][\\ud000-\\udfff])((\\ud83c[\\udffb-\\udfff])?(\\ud83e[\\uddb0-\\uddb3])?(\\ufe0f?\\u200d([\\u2000-\\u3300]|[\\ud83c-\\ud83e][\\ud000-\\udfff])\\ufe0f?)?)*)',
'g');
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/forums/native/composer/hooks/useBackspaceHandler.tsx');
(FileImportTrackerModule).fileFinishedImporting('modules/forums/native/composer/hooks/useBackspaceHandler.tsx');
exports.useBackspaceHandler = useBackspaceHandler;
}
function useBackspaceHandler({selection, draftContent, handleTextChange}) { // fn#84404, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11205:457, offset: 0x01f48a14, size: 78 bytes, params: 2, frame: 16
return selection.useCallback(_fun84405, [selection, draftContent, handleTextChange]);
}
function _fun84405() { // fn#84405, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11205:557, offset: 0x01f48a62, size: 265 bytes, params: 1, frame: 21
var r3;
var r7;
var r0;
var value2;
var handleTextChangeBinding;
var draftContentBinding;
var substring;
var value3;
var binding;
var test;
var value4;
var value5;
let value = environment;
const {start, end} = selection;
reducibleJoin12: while (true) {
if (start === 0) {
break reducibleJoin12;
}
value2 = 1;
if (end == null) {
r3 = value2;
} else {
if (start !== end) {
function useBackspaceHandler({selection, draftContent, handleTextChange}) { // fn#84404, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11205:457, offset: 0x01f48a14, size: 78 bytes, params: 2, frame: 16
return selection.useCallback(_fun84405, [selection, draftContent, handleTextChange]);
function _fun84405() { // fn#84405, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11205:557, offset: 0x01f48a62, size: 265 bytes, params: 1, frame: 21
var r3;
var r7;
var r0;
var value2;
var handleTextChangeBinding;
var draftContentBinding;
var substring;
var value3;
var binding;
var test;
var value4;
var value5;
let value = environment;
const {start, end} = selection;
reducibleJoin12: while (true) {
if (start === 0) {
break reducibleJoin12;
}
value2 = 1;
if (end == null) {
r3 = value2;
} else {
if (start !== end) {
handleTextChangeBinding = handleTextChange;
draftContentBinding = draftContent;
substring = draftContentBinding.substring;
value = Reflect.apply(substring, draftContentBinding, [0, start]);
substring = draftContentBinding.substring;
value += Reflect.apply(substring, draftContentBinding, [end]);
handleTextChangeBinding(value);
break reducibleJoin12;
}
r3 = value2;
}
reducibleLoop4: while (true) {
if (start >= r3) {
value3 = environment.__proto__;
binding = env1_1;
test = binding.test;
substring = draftContent.substring;
reducibleJoin6: while (true) {
if (Reflect.apply(test, binding, [Reflect.apply(substring, draftContentBinding, [start - r3,
start])])) {
if (start >= r3 + value2) {
binding = env1_1;
test = binding.test;
draftContentBinding = draftContent;
substring = draftContentBinding.substring;
if (Reflect.apply(test, binding, [Reflect.apply(substring, draftContentBinding,
[start - r3 - value2,
start])])) {
value5 = typeof r3 === 'bigint' ? r3 + 1n : +r3 + 1;
r7 = value5;
if (r7 <= 8) {
r3 = r7;
continue reducibleLoop4;
}
r0 = value2;
break reducibleLoop4;
}
r0 = r3;
break reducibleLoop4;
}
r0 = r3;
break reducibleLoop4;
}
break reducibleJoin6;
}
}
value4 = typeof r3 === 'bigint' ? r3 + 1n : +r3 + 1;
r7 = value4;
if (r7 <= 8) {
r3 = r7;
continue reducibleLoop4;
}
r0 = value2;
break reducibleLoop4;
}
handleTextChangeBinding = handleTextChange;
draftContentBinding = draftContent;
substring = draftContentBinding.substring;
value = Reflect.apply(substring, draftContentBinding, [0, start]);
value = Reflect.apply(substring, draftContentBinding, [0, start - r0]);
substring = draftContentBinding.substring;
value += Reflect.apply(substring, draftContentBinding, [end]);
value += Reflect.apply(substring, draftContentBinding, [start]);
handleTextChangeBinding(value);
break reducibleJoin12;
}
r3 = value2;
}
reducibleLoop4: while (true) {
if (start >= r3) {
value3 = environment.__proto__;
binding = env1_1;
test = binding.test;
substring = draftContent.substring;
reducibleJoin6: while (true) {
if (Reflect.apply(test, binding, [Reflect.apply(substring, draftContentBinding, [start - r3,
start])])) {
if (start >= r3 + value2) {
binding = env1_1;
test = binding.test;
draftContentBinding = draftContent;
substring = draftContentBinding.substring;
if (Reflect.apply(test, binding, [Reflect.apply(substring, draftContentBinding,
[start - r3 - value2,
start])])) {
value5 = typeof r3 === 'bigint' ? r3 + 1n : +r3 + 1;
r7 = value5;
if (r7 <= 8) {
r3 = r7;
continue reducibleLoop4;
}
r0 = value2;
break reducibleLoop4;
}
r0 = r3;
break reducibleLoop4;
}
r0 = r3;
break reducibleLoop4;
}
break reducibleJoin6;
}
}
value4 = typeof r3 === 'bigint' ? r3 + 1n : +r3 + 1;
r7 = value4;
if (r7 <= 8) {
r3 = r7;
continue reducibleLoop4;
}
r0 = value2;
break reducibleLoop4;
}
handleTextChangeBinding = handleTextChange;
draftContentBinding = draftContent;
substring = draftContentBinding.substring;
value = Reflect.apply(substring, draftContentBinding, [0, start - r0]);
substring = draftContentBinding.substring;
value += Reflect.apply(substring, draftContentBinding, [start]);
handleTextChangeBinding(value);
break reducibleJoin12;
}
}
global.__d(_fun84403, 11019, [31, 2]) /* metro module 11019, dependencies: [31, 2] */;
@@ -1,59 +1,61 @@
/* Metro module 11014; source: modules/forums/native/composer/hooks/useFocusHandlers.tsx; dependencies: [57, 31, 2] */
import Module00057 from '../../../../../by-id/module-00057.js'; /* Metro dependency 57 */
import * as FileImportTrackerModule from '../../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactModule from '../../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
function _fun84381(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#84381, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11200:6, offset: 0x01f47b4f, size: 165 bytes, params: 8, frame: 18
var object2;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_0 = importDefault(57) /* metro dependency 57 */;
const env0_1 = importAll(31) /* metro dependency 31 */;
object2 = {TITLE: 0};
object2[0] = 'TITLE';
object2.CONTENT = 1;
object2[1] = 'CONTENT';
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/forums/native/composer/hooks/useFocusHandlers.tsx');
exports.PostComposerInputs = object2;
object = {TITLE: 0};
object[0] = 'TITLE';
object.CONTENT = 1;
object[1] = 'CONTENT';
(FileImportTrackerModule).fileFinishedImporting('modules/forums/native/composer/hooks/useFocusHandlers.tsx');
exports.PostComposerInputs = object;
exports.useFocusHandlers = useFocusHandlers;
}
function useFocusHandlers({titleInput, contentInput}) { // fn#84382, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11200:323, offset: 0x01f47bf4, size: 122 bytes, params: 2, frame: 14
const binding = contentInput;
const useState = binding.useState;
const TITLE = env0_2.TITLE;
const value = titleInput(Reflect.apply(useState, binding, [TITLE]), 2);
return {setFocusedInput: value[1], focusLastInput: focusLastInput, blurLastInput: blurLastInput,
focusedInput: value[0]};
}
function focusLastInput() { // fn#84383, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11200:465, owner: useFocusHandlers.focusLastInput, offset: 0x01f47c6e, size: 94 bytes, params: 1, frame: 11
var current;
const binding = env0_2;
const TITLE = env1_2.TITLE;
if (TITLE === binding) {
current = titleInput.current;
if (current != null) {
current.focus();
function useFocusHandlers({titleInput, contentInput}) { // fn#84382, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11200:323, offset: 0x01f47bf4, size: 122 bytes, params: 2, frame: 14
const binding = contentInput;
const useState = binding.useState;
const TITLE = env0_2.TITLE;
const value = titleInput(Reflect.apply(useState, binding, [TITLE]), 2);
return {setFocusedInput: value[1], focusLastInput: focusLastInput, blurLastInput: blurLastInput,
focusedInput: value[0]};
function focusLastInput() { // fn#84383, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11200:465, owner: useFocusHandlers.focusLastInput, offset: 0x01f47c6e, size: 94 bytes, params: 1, frame: 11
var current;
const binding = env0_2;
const TITLE = env1_2.TITLE;
if (TITLE === binding) {
current = titleInput.current;
if (current != null) {
current.focus();
}
} else if (env1_2.CONTENT === binding) {
current = contentInput.current;
if (current != null) {
current.focus();
}
}
}
} else if (env1_2.CONTENT === binding) {
current = contentInput.current;
if (current != null) {
current.focus();
}
}
}
function blurLastInput() { // fn#84384, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11200:600, owner: useFocusHandlers.blurLastInput, offset: 0x01f47ccc, size: 94 bytes, params: 1, frame: 11
var current;
const binding = env0_2;
const TITLE = env1_2.TITLE;
if (TITLE === binding) {
current = titleInput.current;
if (current != null) {
current.blur();
}
} else if (env1_2.CONTENT === binding) {
current = contentInput.current;
if (current != null) {
current.blur();
function blurLastInput() { // fn#84384, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11200:600, owner: useFocusHandlers.blurLastInput, offset: 0x01f47ccc, size: 94 bytes, params: 1, frame: 11
var current;
const binding = env0_2;
const TITLE = env1_2.TITLE;
if (TITLE === binding) {
current = titleInput.current;
if (current != null) {
current.blur();
}
} else if (env1_2.CONTENT === binding) {
current = contentInput.current;
if (current != null) {
current.blur();
}
}
}
}
}
global.__d(_fun84381, 11014, [57, 31, 2]) /* metro module 11014, dependencies: [57, 31, 2] */;
@@ -1,37 +1,41 @@
/* Metro module 11016; source: modules/forums/native/composer/hooks/usePressHorizontalAutocompleteItemHandler.tsx; dependencies: [31, 661, 11017, 2] */
import * as FileImportTrackerModule from '../../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactModule from '../../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as ConstantsModule from '../../../../../Constants.tsx'; /* Metro dependency 661 */
function _fun84391(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#84391, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11202:6, offset: 0x01f480da, size: 209 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = importAll(31) /* metro dependency 31 */;
const AutoCompleteResultTypes = (require(661) /* metro dependency 661: Constants */).AutoCompleteResultTypes;
const AutoCompleteResultTypes = (ConstantsModule).AutoCompleteResultTypes;
const Set = global.Set;
const USER = AutoCompleteResultTypes.USER;
const ROLE = AutoCompleteResultTypes.ROLE;
const CHANNEL = AutoCompleteResultTypes.CHANNEL;
const EMOJI = AutoCompleteResultTypes.EMOJI;
const set = new Set([USER, ROLE, CHANNEL, EMOJI]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/forums/native/composer/hooks/usePressHorizontalAutocompleteItemHandler.tsx');
(FileImportTrackerModule).fileFinishedImporting('modules/forums/native/composer/hooks/usePressHorizontalAutocompleteItemHandler.tsx');
exports.usePressHorizontalAutocompleteItemHandler = usePressHorizontalAutocompleteItemHandler;
function usePressHorizontalAutocompleteItemHandler({draftContent, handleTextChange, setSelection, channel}) { // fn#84392, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11202:345, offset: 0x01f481ab, size: 91 bytes, params: 2, frame: 17
return setSelection.useCallback(_fun84393, [draftContent, handleTextChange, setSelection, channel]);
function _fun84393(a0, a1, {length}) { // fn#84393, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11202:480, offset: 0x01f48206, size: 246 bytes, params: 4, frame: 20
let value = environment.__proto__;
value = (require(11017) /* metro dependency 11017: AutocompleteUtils */).getAutocompleteResultText(a0, channel,
env1_3);
const draftContentBinding = draftContent;
const value3 = draftContentBinding.substring(0, a1);
const items2 = [];
arraySpread(items2, value3, 0, undefined);
const value6 = items2.reverse().join('').search(RegExp('\\s|\\r|\\n', ''));
let length = value3.length;
const value8 = value3.substring(0, length - value6);
handleTextChange(value8 + value + ' ' + draftContentBinding.substring(a1 + length + 1));
length = (value8 + value).length;
setSelection({start: length, end: length});
}
}
}
function usePressHorizontalAutocompleteItemHandler({draftContent, handleTextChange, setSelection, channel}) { // fn#84392, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11202:345, offset: 0x01f481ab, size: 91 bytes, params: 2, frame: 17
return setSelection.useCallback(_fun84393, [draftContent, handleTextChange, setSelection, channel]);
}
function _fun84393(a0, a1, {length}) { // fn#84393, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11202:480, offset: 0x01f48206, size: 246 bytes, params: 4, frame: 20
let value = environment.__proto__;
value = (require(11017) /* metro dependency 11017: AutocompleteUtils */).getAutocompleteResultText(a0, channel,
env1_3);
const draftContentBinding = draftContent;
const value3 = draftContentBinding.substring(0, a1);
const items = [];
arraySpread(items, value3, 0, undefined);
const value6 = items.reverse().join('').search(RegExp('\\s|\\r|\\n', ''));
let length = value3.length;
const value8 = value3.substring(0, length - value6);
handleTextChange(value8 + value + ' ' + draftContentBinding.substring(a1 + length + 1));
length = (value8 + value).length;
setSelection({start: length, end: length});
}
global.__d(_fun84391, 11016, [31, 661, 11017, 2]) /* metro module 11016, dependencies: [31, 661, 11017, 2] */;
@@ -1,18 +1,29 @@
/* Metro module 11087; source: modules/forums/native/composer/horizontal_autocomplete/HorizontalAutocomplete.tsx; dependencies: [31, 27, 1938, 1867, 3793, 1878, 661, 33, 4501, 6597, 697, 4017, 4594, 4504, 1305, 4573, 3995, 566, 6794, 6795, 8366, 6647, 4805, 5475, 2] */
import Native from '../../../../../external/discord_common/js/packages/tokens/native.tsx'; /* Metro dependency 697 */
import GuildStore from '../../../../../stores/GuildStore.tsx'; /* Metro dependency 1867 */
import UserStore from '../../../../../stores/UserStore.tsx'; /* Metro dependency 1878 */
import GuildRoleStore from '../../../../../stores/GuildRoleStore.tsx'; /* Metro dependency 1938 */
import RelationshipStore from '../../../../../stores/RelationshipStore.tsx'; /* Metro dependency 3793 */
import ReanimatedRexport from '../../../../reanimated/ReanimatedRexport.tsx'; /* Metro dependency 4017 */
import UseMountEffect from '../../../../../hooks/useMountEffect.tsx'; /* Metro dependency 4594 */
import TextStyles from '../../../../rebrand/native/TextStyles.tsx'; /* Metro dependency 6597 */
import * as FileImportTrackerModule from '../../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as NativeModule from '../../../../../design/void/native.tsx'; /* Metro dependency 1305 */
import * as ReanimatedRexportModule from '../../../../reanimated/ReanimatedRexport.tsx'; /* Metro dependency 4017 */
import * as TextModule from '../../../../../design/components/Text/native/Text.tsx'; /* Metro dependency 4573 */
import * as UseChannelNameModule from '../../../../channel/useChannelName.tsx'; /* Metro dependency 4805 */
function _fun84889(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#84889, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11273:6, offset: 0x01f5ae43, size: 613 bytes, params: 8, frame: 28
var object2;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
importAll(31) /* metro dependency 31 */;
let value = require(27) /* metro dependency 27 */;
ReactModule;
let value = ReactNativeModule;
const StyleSheet = value.StyleSheet;
const env0_3 = value.TouchableOpacity;
const env0_4 = value.View;
const guildRoleStore = importDefault(1938) /* metro dependency 1938: GuildRoleStore */;
const guildStore = importDefault(1867) /* metro dependency 1867: GuildStore */;
const relationshipStore = importDefault(3793) /* metro dependency 3793: RelationshipStore */;
const userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
value = require(661) /* metro dependency 661: Constants */;
const env0_9 = value.ChannelTypes;
const Fonts = value.Fonts;
@@ -21,146 +32,172 @@ function _fun84889(global, require, importDefault, importAll, module, exports, d
const env0_11 = value.jsxs;
value = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = value.createStyles;
object2 = {emoji: {'width': 32, 'height': 32}};
object2.emojiImage = {resizeMode: 'contain'};
object2.emojiText = {'lineHeight': 32, 'fontSize': 27, 'textAlign': 'center'};
object2.emojiName = {marginLeft: 8};
const object3 = {};
const textStyles = importDefault(6597) /* metro dependency 6597: TextStyles */;
object = {emoji: {'width': 32, 'height': 32}};
object.emojiImage = {resizeMode: 'contain'};
object.emojiText = {'lineHeight': 32, 'fontSize': 27, 'textAlign': 'center'};
object.emojiName = {marginLeft: 8};
const object4 = {};
const PRIMARY_SEMIBOLD = Fonts.PRIMARY_SEMIBOLD;
const TEXT_DEFAULT = (importDefault(697) /* metro dependency 697: native */).colors.TEXT_DEFAULT;
copyDataProperties(object3, textStyles(PRIMARY_SEMIBOLD, TEXT_DEFAULT, 14), undefined);
object2.nickname = object3;
const BACKGROUND_BASE_LOW = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BASE_LOW;
object2.status = {backgroundColor: BACKGROUND_BASE_LOW};
const object5 = {'paddingHorizontal': 8, 'flex': 1, 'flexDirection': 'row', 'height': 56, 'alignItems': 'center'};
object5.borderRightWidth = StyleSheet.hairlineWidth;
const BORDER_SUBTLE = (importDefault(697) /* metro dependency 697: native */).colors.BORDER_SUBTLE;
object5.borderRightColor = BORDER_SUBTLE;
object2.horizontalAutocompleteOption = object5;
object2.roleIcon = {marginRight: 4};
object2.channelName = {marginLeft: 8};
const env0_12 = Reflect.apply(createStyles, value, [object2]);
object2 = {code: 'function HorizontalAutocompleteTsx1(){const{opacity}=this.__closure;return{opacity:opacity.get()};}'};
object2 = {User: User, Role: Role, Channel: Channel, Emoji: Emoji_84898};
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/forums/native/composer/horizontal_autocomplete/HorizontalAutocomplete.tsx');
exports.default = object2;
}
const TEXT_DEFAULT = (Native).colors.TEXT_DEFAULT;
copyDataProperties(object4, TextStyles(PRIMARY_SEMIBOLD, TEXT_DEFAULT, 14), undefined);
object.nickname = object4;
const BACKGROUND_BASE_LOW = (Native).colors.BACKGROUND_BASE_LOW;
object.status = {backgroundColor: BACKGROUND_BASE_LOW};
const object6 = {'paddingHorizontal': 8, 'flex': 1, 'flexDirection': 'row', 'height': 56, 'alignItems': 'center'};
object6.borderRightWidth = StyleSheet.hairlineWidth;
const BORDER_SUBTLE = (Native).colors.BORDER_SUBTLE;
object6.borderRightColor = BORDER_SUBTLE;
object.horizontalAutocompleteOption = object6;
object.roleIcon = {marginRight: 4};
object.channelName = {marginLeft: 8};
const env0_12 = Reflect.apply(createStyles, value, [object]);
object = {code: 'function HorizontalAutocompleteTsx1(){const{opacity}=this.__closure;return{opacity:opacity.get()};}'};
object = {User: User, Role: Role, Channel: Channel, Emoji: Emoji_84898};
(FileImportTrackerModule).fileFinishedImporting('modules/forums/native/composer/horizontal_autocomplete/HorizontalAutocomplete.tsx');
exports.default = object;
function HorizontalAutocompleteOption({children, onPress}) { // fn#84890, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11273:918, offset: 0x01f5b0a8, size: 236 bytes, params: 2, frame: 22
const styles = useStyles();
const value2 = (ReanimatedRexportModule).useSharedValue(0);
(UseMountEffect)(_fun84891);
const useAnimatedStyle = ReanimatedRexportModule.useAnimatedStyle;
const HorizontalAutocompleteOptionC2 = HorizontalAutocompleteOptionC;
HorizontalAutocompleteOptionC2.__closure = {opacity: value2};
HorizontalAutocompleteOptionC2.__workletHash = 14159604656069;
HorizontalAutocompleteOptionC2.__initData = env0_13;
const value3 = Reflect.apply(useAnimatedStyle, ReanimatedRexportModule, [HorizontalAutocompleteOptionC2]);
const View = (ReanimatedRexport).View;
return (
<TouchableOpacity onPress={onPress}>
<View style={[styles.horizontalAutocompleteOption, value3]}>
{children}
</View>
</TouchableOpacity>
);
function _fun84891() { // fn#84891, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11273:1029, offset: 0x01f5b194, size: 57 bytes, params: 1, frame: 14
const binding = env0_0;
const set = binding.set;
let value = environment.__proto__;
value = require(4504) /* metro dependency 4504: timing */;
Reflect.apply(set, binding, [value.withTiming(1)]);
}
function HorizontalAutocompleteOption({children, onPress}) { // fn#84890, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11273:918, offset: 0x01f5b0a8, size: 236 bytes, params: 2, frame: 22
const styles = useStyles();
const value2 = (require(4017) /* metro dependency 4017: ReanimatedRexport */).useSharedValue(0);
(importDefault(4594) /* metro dependency 4594: useMountEffect */)(_fun84891);
const reanimatedRexportModule = require(4017) /* metro dependency 4017: ReanimatedRexport */;
const useAnimatedStyle = reanimatedRexportModule.useAnimatedStyle;
const closure = HorizontalAutocompleteOptionC;
closure.__closure = {opacity: value2};
closure.__workletHash = 14159604656069;
closure.__initData = env0_13;
const value3 = Reflect.apply(useAnimatedStyle, reanimatedRexportModule, [closure]);
const View = (importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).View;
return (
<TouchableOpacity onPress={onPress}>
<View style={[styles.horizontalAutocompleteOption, value3]}>
{children}
</View>
</TouchableOpacity>
);
}
function HorizontalAutocompleteOptionC() { // fn#84892, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11273:1105, owner: HorizontalAutocompleteOption.c, offset: 0x01d2f35e, size: 24 bytes, params: 1, frame: 10
const object = {};
object.opacity = env0_0.get();
return object;
}
function User({user, nick, status, guildId, onPress}) { // fn#84893, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11273:1317, offset: 0x01f5b1cd, size: 417 bytes, params: 2, frame: 26
const styles = useStyles();
const Avatar = (require(1305) /* metro dependency 1305: native */).Avatar;
const avatarProps = {status: status, statusStyle: styles.status, user: user};
const AvatarSizes = (require(1305) /* metro dependency 1305: native */).AvatarSizes;
const SMALL = AvatarSizes.SMALL;
avatarProps.size = SMALL;
avatarProps.guildId = guildId;
avatarProps.animate = true;
const avatar = <Avatar {...avatarProps} />;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
const text = <Text style={[styles.nickname]} variant="text-sm/semibold">{nick ?? (importDefault(3995) /* metro dependency 3995: UserUtils */).getName(user)}</Text>;
let value = importDefault(3995) /* metro dependency 3995: UserUtils */;
value = value.getUserTag(user, {decoration: 'never'});
return (
<HorizontalAutocompleteOption onPress={onPress}>
{avatar}
<View style={{'marginLeft': 8, 'height': 56, 'flex': 1, 'flexDirection': 'column',
'justifyContent': 'center'}}>
{text}
<Text variant="text-xs/medium" color="text-muted">
{'@'}
{value}
}
function User({user, nick, status, guildId, onPress}) { // fn#84893, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11273:1317, offset: 0x01f5b1cd, size: 417 bytes, params: 2, frame: 26
const styles = useStyles();
const Avatar = (NativeModule).Avatar;
const avatarProps = {status: status, statusStyle: styles.status, user: user};
const AvatarSizes = (NativeModule).AvatarSizes;
const SMALL = AvatarSizes.SMALL;
avatarProps.size = SMALL;
avatarProps.guildId = guildId;
avatarProps.animate = true;
const avatar = <Avatar {...avatarProps} />;
const Text = (TextModule).Text;
const text = (
<Text style={[styles.nickname]} variant="text-sm/semibold">
{nick ?? (importDefault(3995) /* metro dependency 3995: UserUtils */).getName(user)}
</Text>
);
let value = importDefault(3995) /* metro dependency 3995: UserUtils */;
value = value.getUserTag(user, {decoration: 'never'});
return (
<HorizontalAutocompleteOption onPress={onPress}>
{avatar}
<View style={{'marginLeft': 8, 'height': 56, 'flex': 1, 'flexDirection': 'column',
'justifyContent': 'center'}}>
{text}
<Text variant="text-xs/medium" color="text-muted">
{'@'}
{value}
</Text>
</View>
</HorizontalAutocompleteOption>
);
}
function Role({onPress, guildId, name, id, colorString}) { // fn#84894, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11273:1895, offset: 0x01f5b36e, size: 417 bytes, params: 2, frame: 29
const styles = useStyles();
const role = (require(566) /* metro dependency 566: flux */).useStateFromStores([GuildRoleStore], function() {
return GuildRoleStore.getRole(guildId, id);
});
const r16 = role != null ? (require(6794) /* metro dependency 6794: RoleIconUtils */).getRoleIconData(role,
30) : null;
const r6 = (
r16 != null
? (
<View style={styles.roleIcon}>
{((Component) => <Component name={name} source={r16.customIconSrc != null ? {uri: r16.customIconSrc} : undefined} unicodeEmoji={r16.unicodeEmoji} size={24} />)(importDefault(6795) /* metro dependency 6795: RoleIcon */)}
</View>
)
: null
);
const LegacyText = (NativeModule).LegacyText;
return (
<HorizontalAutocompleteOption onPress={onPress}>
{r6}
<LegacyText style={[styles.nickname, colorString != null ? {color: colorString} : undefined]}>
{'@' + name}
</LegacyText>
</HorizontalAutocompleteOption>
);
}
function Channel({channel, onPress}) { // fn#84896, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11273:2388, offset: 0x01f5b52f, size: 329 bytes, params: 2, frame: 22
const styles = useStyles();
const value2 = (require(566) /* metro dependency 566: flux */).useStateFromStores([GuildStore], function() {
return GuildStore.getGuild(channel.getGuildId());
}, [channel]);
const type = channel.type;
const GUILD_CATEGORY = ChannelTypes.GUILD_CATEGORY;
const r7 = type === GUILD_CATEGORY ? importDefault(8366) /* metro dependency 8366 */ : (require(6647) /* metro dependency 6647: ChannelUtils */).getChannelIconWithGuild(channel,
value2);
const Icon = (NativeModule).Icon;
const icon = <Icon source={r7} />;
const channelName = UseChannelNameModule.computeChannelName(channel, UserStore, RelationshipStore);
const Text = (TextModule).Text;
return (
<HorizontalAutocompleteOption onPress={onPress}>
{icon}
<Text style={styles.channelName} variant="text-sm/semibold">
{channelName}
</Text>
</HorizontalAutocompleteOption>
);
}
function Emoji_84898({name, url, surrogates, onPress}) { // fn#84898, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11273:2800, offset: 0x01f5b69d, size: 335 bytes, params: 2, frame: 21
const styles = useStyles();
const view = (
<View>
{
url !== ''
? ((Component) => <Component style={[styles.emoji,
styles.emojiImage]} source={{uri: url}} />)(importDefault(5475) /* metro dependency 5475: FastImage */)
: ((LegacyText) => <LegacyText style={[styles.emoji,
styles.emojiText]} allowFontScaling={false}>{surrogates}</LegacyText>)((require(1305) /* metro dependency 1305: native */).LegacyText)
}
</View>
</HorizontalAutocompleteOption>
);
}
);
const Text = (TextModule).Text;
return (
<HorizontalAutocompleteOption onPress={onPress}>
{view}
<Text style={styles.emojiName} variant="text-sm/semibold">
{':' + name + ':'}
</Text>
</HorizontalAutocompleteOption>
);
}
function Role({onPress, guildId, name, id, colorString}) { // fn#84894, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11273:1895, offset: 0x01f5b36e, size: 417 bytes, params: 2, frame: 29
const styles = useStyles();
const role = (require(566) /* metro dependency 566: flux */).useStateFromStores([GuildRoleStore], function() {
return GuildRoleStore.getRole(guildId, id);
});
const r16 = role != null ? (require(6794) /* metro dependency 6794: RoleIconUtils */).getRoleIconData(role,
30) : null;
const r6 = r16 != null ? <View style={styles.roleIcon}>{((Component) => <Component name={name} source={r16.customIconSrc != null ? {uri: r16.customIconSrc} : undefined} unicodeEmoji={r16.unicodeEmoji} size={24} />)(importDefault(6795) /* metro dependency 6795: RoleIcon */)}</View> : null;
const LegacyText = (require(1305) /* metro dependency 1305: native */).LegacyText;
return (
<HorizontalAutocompleteOption onPress={onPress}>
{r6}
<LegacyText style={[styles.nickname, colorString != null ? {color: colorString} : undefined]}>
{'@' + name}
</LegacyText>
</HorizontalAutocompleteOption>
);
}
function Channel({channel, onPress}) { // fn#84896, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11273:2388, offset: 0x01f5b52f, size: 329 bytes, params: 2, frame: 22
const styles = useStyles();
const value2 = (require(566) /* metro dependency 566: flux */).useStateFromStores([GuildStore], function() {
return GuildStore.getGuild(channel.getGuildId());
}, [channel]);
const type = channel.type;
const GUILD_CATEGORY = ChannelTypes.GUILD_CATEGORY;
const r7 = type === GUILD_CATEGORY ? importDefault(8366) /* metro dependency 8366 */ : (require(6647) /* metro dependency 6647: ChannelUtils */).getChannelIconWithGuild(channel,
value2);
const Icon = (require(1305) /* metro dependency 1305: native */).Icon;
const icon = <Icon source={r7} />;
const useChannelNameModule = require(4805) /* metro dependency 4805: useChannelName */;
const channelName = useChannelNameModule.computeChannelName(channel, UserStore, RelationshipStore);
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
return (
<HorizontalAutocompleteOption onPress={onPress}>
{icon}
<Text style={styles.channelName} variant="text-sm/semibold">
{channelName}
</Text>
</HorizontalAutocompleteOption>
);
}
function Emoji_84898({name, url, surrogates, onPress}) { // fn#84898, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11273:2800, offset: 0x01f5b69d, size: 335 bytes, params: 2, frame: 21
const styles = useStyles();
const view = <View>{url !== '' ? ((Component) => <Component style={[styles.emoji,
styles.emojiImage]} source={{uri: url}} />)(importDefault(5475) /* metro dependency 5475: FastImage */) : ((LegacyText) => <LegacyText style={[styles.emoji,
styles.emojiText]} allowFontScaling={false}>{surrogates}</LegacyText>)((require(1305) /* metro dependency 1305: native */).LegacyText)}</View>;
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
return (
<HorizontalAutocompleteOption onPress={onPress}>
{view}
<Text style={styles.emojiName} variant="text-sm/semibold">
{':' + name + ':'}
</Text>
</HorizontalAutocompleteOption>
);
}
function _fun84891() { // fn#84891, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11273:1029, offset: 0x01f5b194, size: 57 bytes, params: 1, frame: 14
const binding = env0_0;
const set = binding.set;
let value = environment.__proto__;
value = require(4504) /* metro dependency 4504: timing */;
Reflect.apply(set, binding, [value.withTiming(1)]);
}
global.__d(_fun84889, 11087, [31, 27, 1938, 1867, 3793, 1878, 661, 33, 4501, 6597, 697, 4017, 4594, 4504, 1305,
4573, 3995, 566, 6794, 6795, 8366, 6647, 4805, 5475,
2]) /* metro module 11087, dependencies: [31, 27, 1938, 1867, 3793, 1878, 661, 33, 4501, 6597, 697, 4017, 4594, 4504, 1305, 4573, 3995, 566, 6794, 6795, 8366, 6647, 4805, 5475, 2] */;
@@ -1,95 +1,114 @@
/* Metro module 11083; source: modules/forums/native/composer/horizontal_autocomplete/HorizontalAutocompleteWrapper.tsx; dependencies: [31, 27, 661, 33, 11084, 11087, 4017, 4504, 2] */
import ReanimatedRexport from '../../../../reanimated/ReanimatedRexport.tsx'; /* Metro dependency 4017 */
import * as FileImportTrackerModule from '../../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactNativeModule from '../../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */
import * as ReactModule from '../../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as JsxRuntimeModule from '../../../../../by-id/module-00033-JsxRuntime.js'; /* Metro dependency 33 */
import * as ConstantsModule from '../../../../../Constants.tsx'; /* Metro dependency 661 */
import * as ReanimatedRexportModule from '../../../../reanimated/ReanimatedRexport.tsx'; /* Metro dependency 4017 */
import * as UseHorizontalAutocompleteResultsModule from './hooks/useHorizontalAutocompleteResults.tsx'; /* Metro dependency 11084 */
function _fun84840(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#84840, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11269:6, offset: 0x01f597ba, size: 202 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 */;
const env0_4 = (require(27) /* metro dependency 27 */).FlatList;
const env0_5 = (require(661) /* metro dependency 661: Constants */).AutoCompleteResultTypes;
const env0_6 = (require(33) /* metro dependency 33 */).jsx;
object = {code: 'function HorizontalAutocompleteWrapperTsx1(){const{withTiming,toValue}=this.__closure;return{opacity:withTiming(toValue)};}'};
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/forums/native/composer/horizontal_autocomplete/HorizontalAutocompleteWrapper.tsx');
(FileImportTrackerModule).fileFinishedImporting('modules/forums/native/composer/horizontal_autocomplete/HorizontalAutocompleteWrapper.tsx');
exports.default = HorizontalAutocompleteWrapper;
}
function HorizontalAutocompleteWrapper({style, channel, onPressAutocompleteItem, text, selection}) { // fn#84841, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11269:443, offset: 0x01f59884, size: 414 bytes, params: 2, frame: 24
const {results, autocompleteSelectionStart,
query} = (require(11084) /* metro dependency 11084: useHorizontalAutocompleteResults */).useHorizontalAutocompleteResults({channel: channel,
text: text, selection: selection});
const binding = query;
const value4 = binding.useCallback(_fun84843, [channel.guild_id, binding.useCallback(function(a0, a1) {
a0.stopPropagation();
onPressAutocompleteItem(a1, autocompleteSelectionStart ?? 0, query ?? '');
}, [onPressAutocompleteItem, autocompleteSelectionStart, query])]);
const r12 = results.length > 0 ? 1 : 0;
const reanimatedRexportModule = require(4017) /* metro dependency 4017: ReanimatedRexport */;
const useAnimatedStyle = reanimatedRexportModule.useAnimatedStyle;
const closure = HorizontalAutocompleteWrapper_;
closure.__closure = {withTiming: (require(4504) /* metro dependency 4504: timing */).withTiming, toValue: r12};
closure.__workletHash = 7895652904738;
closure.__initData = env0_7;
const value7 = Reflect.apply(useAnimatedStyle, reanimatedRexportModule, [closure]);
const View = (importDefault(4017) /* metro dependency 4017: ReanimatedRexport */).View;
return (
<View style={[style, value7]}>
<FlatList
keyboardShouldPersistTaps="always"
horizontal
keyExtractor={function(a0, a1) {
return (0, global.String)(a1);
}}
data={results}
renderItem={value4}
/>
</View>
);
}
function _fun84843({item}) { // fn#84843, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11269:785, offset: 0x01f59a6a, size: 402 bytes, params: 2, frame: 18
const type = item.type;
const USER = AutoCompleteResultTypes.USER;
if (USER === type) {
const User = (importDefault(11087) /* metro dependency 11087: HorizontalAutocomplete */).User;
function HorizontalAutocompleteWrapper({style, channel, onPressAutocompleteItem, text, selection}) { // fn#84841, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11269:443, offset: 0x01f59884, size: 414 bytes, params: 2, frame: 24
const {results, autocompleteSelectionStart,
query} = (UseHorizontalAutocompleteResultsModule).useHorizontalAutocompleteResults({channel: channel,
text: text, selection: selection});
const binding = query;
const value4 = binding.useCallback(_fun84843, [channel.guild_id, binding.useCallback(function(a0, a1) {
a0.stopPropagation();
onPressAutocompleteItem(a1, autocompleteSelectionStart ?? 0, query ?? '');
}, [onPressAutocompleteItem, autocompleteSelectionStart, query])]);
const r12 = results.length > 0 ? 1 : 0;
const useAnimatedStyle = ReanimatedRexportModule.useAnimatedStyle;
const HorizontalAutocompleteWrapper_2 = HorizontalAutocompleteWrapper_;
HorizontalAutocompleteWrapper_2.__closure = {withTiming: (require(4504) /* metro dependency 4504: timing */).withTiming,
toValue: r12};
HorizontalAutocompleteWrapper_2.__workletHash = 7895652904738;
HorizontalAutocompleteWrapper_2.__initData = env0_7;
const value7 = Reflect.apply(useAnimatedStyle, ReanimatedRexportModule, [HorizontalAutocompleteWrapper_2]);
const View = (ReanimatedRexport).View;
return (
<User
{...item}
{...{['guildId']: channel.guild_id}}
{...{['onPress']: onPress_84844}}
/>
<View style={[style, value7]}>
<FlatList
keyboardShouldPersistTaps="always"
horizontal
keyExtractor={function(a0, a1) {
return (0, global.String)(a1);
}}
data={results}
renderItem={value4}
/>
</View>
);
function _fun84843({item}) { // fn#84843, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11269:785, offset: 0x01f59a6a, size: 402 bytes, params: 2, frame: 18
const type = item.type;
const USER = AutoCompleteResultTypes.USER;
if (USER === type) {
const User = (importDefault(11087) /* metro dependency 11087: HorizontalAutocomplete */).User;
return (
<User
{...item}
{...{['guildId']: channel.guild_id}}
{...{['onPress']: onPress_84844}}
/>
);
}
const ROLE = AutoCompleteResultTypes.ROLE;
if (ROLE === type) {
const Role = (importDefault(11087) /* metro dependency 11087: HorizontalAutocomplete */).Role;
return (
<Role
{...item}
{...{['guildId']: channel.guild_id}}
{...{['onPress']: onPress_84845}}
/>
);
}
const CHANNEL = AutoCompleteResultTypes.CHANNEL;
if (CHANNEL === type) {
const Channel = (importDefault(11087) /* metro dependency 11087: HorizontalAutocomplete */).Channel;
return <Channel {...item} {...{['onPress']: onPress_84846}} />;
}
const EMOJI = AutoCompleteResultTypes.EMOJI;
if (EMOJI === type) {
const Emoji = (importDefault(11087) /* metro dependency 11087: HorizontalAutocomplete */).Emoji;
return <Emoji {...item} {...{['onPress']: onPress_84847}} />;
}
return null;
function onPress_84844(a0) { // fn#84844, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11269:880, offset: 0x01f59bfc, size: 27 bytes, params: 2, frame: 13
return env1_4(a0, item);
}
function onPress_84845(a0) { // fn#84845, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11269:959, offset: 0x01f59bfc, size: 27 bytes, params: 2, frame: 13
return env1_4(a0, item);
}
function onPress_84846(a0) { // fn#84846, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11269:1025, offset: 0x01f59bfc, size: 27 bytes, params: 2, frame: 13
return env1_4(a0, item);
}
function onPress_84847(a0) { // fn#84847, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11269:1087, offset: 0x01f59bfc, size: 27 bytes, params: 2, frame: 13
return env1_4(a0, item);
}
}
function HorizontalAutocompleteWrapper_() { // fn#84848, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11269:1186, owner: HorizontalAutocompleteWrapper._, offset: 0x01f59c17, size: 50 bytes, params: 1, frame: 12
const object = {};
const value = environment.__proto__;
object.opacity = (require(4504) /* metro dependency 4504: timing */).withTiming(ConstantsModule.AutoCompleteResultTypes);
return object;
}
}
const ROLE = AutoCompleteResultTypes.ROLE;
if (ROLE === type) {
const Role = (importDefault(11087) /* metro dependency 11087: HorizontalAutocomplete */).Role;
return (
<Role
{...item}
{...{['guildId']: channel.guild_id}}
{...{['onPress']: onPress_84845}}
/>
);
}
const CHANNEL = AutoCompleteResultTypes.CHANNEL;
if (CHANNEL === type) {
const Channel = (importDefault(11087) /* metro dependency 11087: HorizontalAutocomplete */).Channel;
return <Channel {...item} {...{['onPress']: onPress_84846}} />;
}
const EMOJI = AutoCompleteResultTypes.EMOJI;
if (EMOJI === type) {
const Emoji = (importDefault(11087) /* metro dependency 11087: HorizontalAutocomplete */).Emoji;
return <Emoji {...item} {...{['onPress']: onPress_84847}} />;
}
return null;
}
function HorizontalAutocompleteWrapper_() { // fn#84848, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11269:1186, owner: HorizontalAutocompleteWrapper._, offset: 0x01f59c17, size: 50 bytes, params: 1, frame: 12
const object2 = {};
const value = environment.__proto__;
object2.opacity = (require(4504) /* metro dependency 4504: timing */).withTiming(env0_5);
return object2;
}
function onPress_84844(a0) { // fn#84844, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11269:880, offset: 0x01f59bfc, size: 27 bytes, params: 2, frame: 13
return env1_4(a0, item);
}
global.__d(_fun84840, 11083, [31, 27, 661, 33, 11084, 11087, 4017, 4504,
2]) /* metro module 11083, dependencies: [31, 27, 661, 33, 11084, 11087, 4017, 4504, 2] */;
@@ -1,112 +1,160 @@
/* Metro module 11084; source: modules/forums/native/composer/horizontal_autocomplete/hooks/useHorizontalAutocompleteResults.tsx; dependencies: [57, 31, 661, 11085, 676, 566, 2] */
import Module00057 from '../../../../../../by-id/module-00057.js'; /* Metro dependency 57 */
import * as FileImportTrackerModule from '../../../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ReactModule from '../../../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
import * as ConstantsModule from '../../../../../../Constants.tsx'; /* Metro dependency 661 */
import * as AutocompleteOptionsModule from '../../../../../autocompleter/native/AutocompleteOptions.tsx'; /* Metro dependency 11085 */
function _fun84850(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#84850, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11270:6, offset: 0x01f59c5d, size: 165 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = importDefault(57) /* metro dependency 57 */;
const env0_3 = importAll(31) /* metro dependency 31 */;
const constantsModule = require(661) /* metro dependency 661: Constants */;
const env0_4 = constantsModule.AutoCompleteResultTypes;
const env0_5 = constantsModule.ChannelTypes;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/forums/native/composer/horizontal_autocomplete/hooks/useHorizontalAutocompleteResults.tsx');
(FileImportTrackerModule).fileFinishedImporting('modules/forums/native/composer/horizontal_autocomplete/hooks/useHorizontalAutocompleteResults.tsx');
exports.useHorizontalAutocompleteResults = useHorizontalAutocompleteResults;
}
function useHorizontalAutocompleteResults({channel, selection, text}) { // fn#84851, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11270:337, offset: 0x01f59d02, size: 454 bytes, params: 2, frame: 23
const text3 = text;
let useState = ReactModule.useState;
const value2 = Reflect.apply(useState, ReactModule, [[]]);
const binding2 = text3;
let value = binding2(value2, 2);
const property = value[0];
const env0_4 = value[1];
let useMemo = ReactModule.useMemo;
value = Reflect.apply(useMemo, ReactModule, [_fun84852, [channel]]);
useState = ReactModule.useState;
const value3 = binding2(Reflect.apply(useState, ReactModule, [{text: text, selectionStart: selection.start,
selectionEnd: selection.end}]), 2);
const property2 = value3[0];
const text2 = property2.text;
const selectionStart = property2.selectionStart;
const selectionEnd = property2.selectionEnd;
const env0_9 = value3[1];
ReactModule.useEffect(function() {
var env0_0 = global.setTimeout(_fun84854, 16);
return _fun84855;
}, [text, selection]);
const {autocompleteType, query, queryOptions, autocompleteSelectionStart} = ReactModule.useMemo(_fun84856,
[selectionStart, selectionEnd, text2, value]);
const value5 = ReactModule.useCallback(_fun84858, [autocompleteType, query, queryOptions, value]);
ReactModule.useEffect(_fun84859, [autocompleteType, value5, value]);
ReactModule.useEffect(_fun84862, [value5]);
useMemo = ReactModule.useMemo;
return {results: Reflect.apply(useMemo, ReactModule, [_fun84863, [property]]),
autocompleteSelectionStart: autocompleteSelectionStart, query: query};
function _fun84852() { // fn#84852, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11270:468, offset: 0x01f59ec8, size: 49 bytes, params: 1, frame: 14
const value = environment.__proto__;
return (AutocompleteOptionsModule).getAutocompleteOptions(channel, false,
false);
}
function useHorizontalAutocompleteResults({channel, selection, text}) { // fn#84851, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11270:337, offset: 0x01f59d02, size: 454 bytes, params: 2, frame: 23
const env0_2 = text;
const binding = env0_3;
let useState = binding.useState;
const value2 = Reflect.apply(useState, binding, [[]]);
const binding2 = env0_2;
let value = binding2(value2, 2);
const property = value[0];
const env0_4 = value[1];
let useMemo = binding.useMemo;
value = Reflect.apply(useMemo, binding, [_fun84852, [channel]]);
useState = binding.useState;
const value3 = binding2(Reflect.apply(useState, binding, [{text: text, selectionStart: selection.start,
selectionEnd: selection.end}]), 2);
const property2 = value3[0];
const text2 = property2.text;
const selectionStart = property2.selectionStart;
const selectionEnd = property2.selectionEnd;
const env0_9 = value3[1];
binding.useEffect(function() {
var env0_0 = global.setTimeout(_fun84854, 16);
return _fun84855;
}, [text, selection]);
const {autocompleteType, query, queryOptions, autocompleteSelectionStart} = binding.useMemo(_fun84856,
[selectionStart, selectionEnd, text2, value]);
const value5 = binding.useCallback(_fun84858, [autocompleteType, query, queryOptions, value]);
binding.useEffect(_fun84859, [autocompleteType, value5, value]);
binding.useEffect(_fun84862, [value5]);
useMemo = binding.useMemo;
return {results: Reflect.apply(useMemo, binding, [_fun84863, [property]]),
autocompleteSelectionStart: autocompleteSelectionStart, query: query};
}
function _fun84853() { // fn#84853, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11270:664, offset: 0x01f59ef9, size: 41 bytes, params: 1, frame: 14
const env0_0 = global.setTimeout(_fun84854, 16);
return _fun84855;
function _fun84854() { // fn#84854, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11270:687, offset: 0x01f59f22, size: 50 bytes, params: 1, frame: 12
const binding = env1_9;
const selectionBinding = selection;
binding({text: text, selectionStart: selectionBinding.start, selectionEnd: selectionBinding.end});
}
function _fun84852() { // fn#84852, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11270:468, offset: 0x01f59ec8, size: 49 bytes, params: 1, frame: 14
const value = environment.__proto__;
return (require(11085) /* metro dependency 11085: AutocompleteOptions */).getAutocompleteOptions(channel, false,
false);
}
function _fun84855() { // fn#84855, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11270:758, offset: 0x00e59c84, size: 24 bytes, params: 1, frame: 11
global.clearTimeout(env0_0);
}
function _fun84853() { // fn#84853, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11270:664, offset: 0x01f59ef9, size: 41 bytes, params: 1, frame: 14
const env0_0 = global.setTimeout(_fun84854, 16);
return _fun84855;
}
}
function _fun84856() { // fn#84856, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11270:806, offset: 0x01f59f54, size: 367 bytes, params: 1, frame: 27
var environment;
var r0;
var r5;
var r12;
var r1;
var r3;
var r4;
var length;
var value2;
var value3;
var WHITESPACE_RE;
var test;
var value4;
var slice;
var value5;
var value6;
var toLowerCase;
var value7;
var Object;
var keys;
var value8;
var find;
var value9;
var value10;
var GUILD_FORUM;
var GUILD_MEDIA;
var GUILD_TEXT;
var GUILD_ANNOUNCEMENT;
const selectionStartBinding = selectionStart;
var env0_2;
let textBinding = text;
if (textBinding != null) {
textBinding = text;
length = textBinding.trim().length;
value2 = undefined;
value3 = environment.__proto__;
reducibleJoin9: while (true) {
if (length !== 0) {
r0 = value2;
r5 = value2;
r12 = selectionStartBinding;
reducibleLoop2: while (true) {
WHITESPACE_RE = (require(676) /* metro dependency 676: ConstantsIOS */).WHITESPACE_RE;
test = WHITESPACE_RE.test;
value4 = Reflect.apply(test, WHITESPACE_RE, [text[r12 - 1]]);
if (r12 !== 0) {
reducibleJoin4: while (true) {
if (value4) {
break reducibleJoin4;
function _fun84856() { // fn#84856, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11270:806, offset: 0x01f59f54, size: 367 bytes, params: 1, frame: 27
var environment;
var r0;
var r5;
var r12;
var r1;
var r3;
var r4;
var length;
var value2;
var value3;
var WHITESPACE_RE;
var test;
var value4;
var slice;
var value5;
var value6;
var toLowerCase;
var value7;
var Object;
var keys;
var value8;
var find;
var value9;
var value10;
var GUILD_FORUM;
var GUILD_MEDIA;
var GUILD_TEXT;
var GUILD_ANNOUNCEMENT;
const selectionStartBinding = selectionStart;
var env0_2;
let textBinding = text;
if (textBinding != null) {
textBinding = text;
length = textBinding.trim().length;
value2 = undefined;
value3 = environment.__proto__;
reducibleJoin9: while (true) {
if (length !== 0) {
r0 = value2;
r5 = value2;
r12 = selectionStartBinding;
reducibleLoop2: while (true) {
WHITESPACE_RE = (require(676) /* metro dependency 676: ConstantsIOS */).WHITESPACE_RE;
test = WHITESPACE_RE.test;
value4 = Reflect.apply(test, WHITESPACE_RE, [text[r12 - 1]]);
if (r12 !== 0) {
reducibleJoin4: while (true) {
if (value4) {
break reducibleJoin4;
}
value10 = typeof r12 === 'bigint' ? r12 - 1n : +r12 - 1;
env0_2 = value10;
if (value10 >= 0) {
r12 = value10;
continue reducibleLoop2;
}
r1 = value10;
r3 = r5;
r4 = r0;
break reducibleLoop2;
}
}
textBinding = text;
slice = textBinding.slice;
reducibleJoin6: while (true) {
if (selectionEnd == null) {
r1 = r12;
break reducibleJoin6;
}
r1 = selectionEnd;
break reducibleJoin6;
}
value5 = Reflect.apply(slice, textBinding, [r12, r1]);
var env0_0 = value5[0];
slice = value5.slice;
value6 = Reflect.apply(slice, value5, [1]);
toLowerCase = value6.toLowerCase;
value7 = Reflect.apply(toLowerCase, value6, []);
var env0_1 = value7;
Object = global.Object;
keys = Object.keys;
value8 = Reflect.apply(keys, Object, [ConstantsModule.ChannelTypes]);
find = value8.find;
value9 = Reflect.apply(find, value8, [_fun84857]);
if (value9 != null) {
r1 = r12;
r3 = value9;
r4 = value7;
break reducibleLoop2;
}
r0 = value7;
r5 = value9;
value10 = typeof r12 === 'bigint' ? r12 - 1n : +r12 - 1;
env0_2 = value10;
if (value10 >= 0) {
@@ -118,122 +166,84 @@ function _fun84856() { // fn#84856, source: /ci/build/discord/discord/discord_an
r4 = r0;
break reducibleLoop2;
}
GUILD_FORUM = ChannelTypes.GUILD_FORUM;
GUILD_MEDIA = ChannelTypes.GUILD_MEDIA;
GUILD_TEXT = ChannelTypes.GUILD_TEXT;
GUILD_ANNOUNCEMENT = ChannelTypes.GUILD_ANNOUNCEMENT;
return {query: r4, autocompleteType: r3, autocompleteSelectionStart: r1,
queryOptions: {includeEmojiPremiumUpsell: false, channelTypes: [GUILD_FORUM, GUILD_MEDIA,
GUILD_TEXT,
GUILD_ANNOUNCEMENT]}};
}
textBinding = text;
slice = textBinding.slice;
reducibleJoin6: while (true) {
if (selectionEnd == null) {
r1 = r12;
break reducibleJoin6;
}
r1 = selectionEnd;
break reducibleJoin6;
}
value5 = Reflect.apply(slice, textBinding, [r12, r1]);
var env0_0 = value5[0];
slice = value5.slice;
value6 = Reflect.apply(slice, value5, [1]);
toLowerCase = value6.toLowerCase;
value7 = Reflect.apply(toLowerCase, value6, []);
var env0_1 = value7;
Object = global.Object;
keys = Object.keys;
value8 = Reflect.apply(keys, Object, [env0_5]);
find = value8.find;
value9 = Reflect.apply(find, value8, [_fun84857]);
if (value9 != null) {
r1 = r12;
r3 = value9;
r4 = value7;
break reducibleLoop2;
}
r0 = value7;
r5 = value9;
value10 = typeof r12 === 'bigint' ? r12 - 1n : +r12 - 1;
env0_2 = value10;
if (value10 >= 0) {
r12 = value10;
continue reducibleLoop2;
}
r1 = value10;
r3 = r5;
r4 = r0;
break reducibleLoop2;
break reducibleJoin9;
}
GUILD_FORUM = ChannelTypes.GUILD_FORUM;
GUILD_MEDIA = ChannelTypes.GUILD_MEDIA;
GUILD_TEXT = ChannelTypes.GUILD_TEXT;
GUILD_ANNOUNCEMENT = ChannelTypes.GUILD_ANNOUNCEMENT;
return {query: r4, autocompleteType: r3, autocompleteSelectionStart: r1,
queryOptions: {includeEmojiPremiumUpsell: false, channelTypes: [GUILD_FORUM, GUILD_MEDIA,
GUILD_TEXT,
GUILD_ANNOUNCEMENT]}};
}
break reducibleJoin9;
return {'query': null, 'autocompleteType': null, 'autocompleteSelectionStart': null};
function _fun84857(a0) { // fn#84857, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11270:1081, offset: 0x01f5a0c3, size: 68 bytes, params: 2, frame: 16
const value = environment.__proto__;
const property = env1_5[a0];
return env0_0 !== undefined && env0_1 !== undefined && property.matches(env0_0, env0_1, selectionStart);
}
}
function _fun84858(a0) { // fn#84858, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11270:1463, offset: 0x01f5a107, size: 89 bytes, params: 2, frame: 16
var binding;
var property;
if (autocompleteType == null) {
env0_4([]);
} else if (query != null) {
binding = ConstantsModule.ChannelTypes;
property = binding[autocompleteType];
binding = env0_4;
binding(property.queryResults(query, queryOptions, a0));
} else {
env0_4([]);
}
}
function _fun84859() { // fn#84859, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11270:1568, offset: 0x01f5a160, size: 151 bytes, params: 1, frame: 15
var environment;
var value;
const autocompleteTypeBinding = autocompleteType;
const value2 = null;
const r4 = value2 != autocompleteTypeBinding ? value2 == ConstantsModule.ChannelTypes ? undefined : ConstantsModule.ChannelTypes[autocompleteType].stores : value2;
if (value2 != r4) {
value = environment.__proto__;
new (require(566) /* metro dependency 566: flux */).BatchedStoreListener(r4,
_fun84860).attach('useHorizontalAutocompleteResults');
return _fun84861;
}
function _fun84860() { // fn#84860, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11270:1674, offset: 0x01f5a1f7, size: 18 bytes, params: 1, frame: 11
return env1_13(false);
}
function _fun84861() { // fn#84861, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11270:1738, offset: 0x00d0ff6d, size: 19 bytes, params: 1, frame: 9
return env0_0.detach();
}
}
function _fun84862() { // fn#84862, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11270:1778, offset: 0x01f5a209, size: 18 bytes, params: 1, frame: 11
env0_13(true);
}
function _fun84863() { // fn#84863, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11270:1816, offset: 0x01f5a21b, size: 28 bytes, params: 1, frame: 11
return ReactModule.filter(_fun84864);
function _fun84864({type}) { // fn#84864, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11270:1830, offset: 0x01f5a237, size: 78 bytes, params: 2, frame: 4
const value = environment.__proto__.__proto__;
const USER = AutoCompleteResultTypes.USER;
let r0 = type === USER || type === AutoCompleteResultTypes.ROLE;
r0 = !r0 ? type === AutoCompleteResultTypes.CHANNEL : r0;
r0 = !r0 ? type === AutoCompleteResultTypes.EMOJI : r0;
return r0;
}
}
}
return {'query': null, 'autocompleteType': null, 'autocompleteSelectionStart': null};
}
function _fun84858(a0) { // fn#84858, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11270:1463, offset: 0x01f5a107, size: 89 bytes, params: 2, frame: 16
var binding;
var property;
if (autocompleteType == null) {
env0_4([]);
} else if (query != null) {
binding = env0_5;
property = binding[autocompleteType];
binding = env0_4;
binding(property.queryResults(query, queryOptions, a0));
} else {
env0_4([]);
}
}
function _fun84859() { // fn#84859, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11270:1568, offset: 0x01f5a160, size: 151 bytes, params: 1, frame: 15
var environment;
var value;
const autocompleteTypeBinding = autocompleteType;
const value2 = null;
const r4 = value2 != autocompleteTypeBinding ? value2 == env0_5 ? undefined : env0_5[autocompleteType].stores : value2;
if (value2 != r4) {
value = environment.__proto__;
new (require(566) /* metro dependency 566: flux */).BatchedStoreListener(r4,
_fun84860).attach('useHorizontalAutocompleteResults');
return _fun84861;
}
}
function _fun84862() { // fn#84862, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11270:1778, offset: 0x01f5a209, size: 18 bytes, params: 1, frame: 11
env0_13(true);
}
function _fun84863() { // fn#84863, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11270:1816, offset: 0x01f5a21b, size: 28 bytes, params: 1, frame: 11
return env0_3.filter(_fun84864);
}
function _fun84854() { // fn#84854, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11270:687, offset: 0x01f59f22, size: 50 bytes, params: 1, frame: 12
const binding = env1_9;
const selectionBinding = selection;
binding({text: text, selectionStart: selectionBinding.start, selectionEnd: selectionBinding.end});
}
function _fun84857(a0) { // fn#84857, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11270:1081, offset: 0x01f5a0c3, size: 68 bytes, params: 2, frame: 16
const value = environment.__proto__;
const property = env1_5[a0];
return env0_0 !== undefined && env0_1 !== undefined && property.matches(env0_0, env0_1, selectionStart);
}
function _fun84860() { // fn#84860, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11270:1674, offset: 0x01f5a1f7, size: 18 bytes, params: 1, frame: 11
return env1_13(false);
}
function _fun84864({type}) { // fn#84864, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11270:1830, offset: 0x01f5a237, size: 78 bytes, params: 2, frame: 4
const value = environment.__proto__.__proto__;
const USER = AutoCompleteResultTypes.USER;
let r0 = type === USER || type === AutoCompleteResultTypes.ROLE;
r0 = !r0 ? type === AutoCompleteResultTypes.CHANNEL : r0;
r0 = !r0 ? type === AutoCompleteResultTypes.EMOJI : r0;
return r0;
}
global.__d(_fun84850, 11084, [57, 31, 661, 11085, 676, 566,
2]) /* metro module 11084, dependencies: [57, 31, 661, 11085, 676, 566, 2] */;