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

304 lines
18 KiB
TypeScript

/* Metro module 15331; source: modules/launchpad/native/LaunchPadSearchResults.tsx; dependencies: [31, 27, 1949, 5214, 1867, 4865, 33, 4501, 697, 15332, 6947, 566, 4584, 15333, 5278, 15334, 15336, 6819, 15337, 15339, 7234, 15340, 15346, 15347, 15349, 14532, 4573, 1357, 1244, 1478, 15335, 8140, 2] */
function _fun117237(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#117237, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15528:6, offset: 0x024aa538, size: 531 bytes, params: 8, frame: 24
var object2;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = importAll(31) /* metro dependency 31 */;
const env0_4 = (require(27) /* metro dependency 27 */).View;
const localeStore = importDefault(1949) /* metro dependency 1949: LocaleStore */;
const guildReadStateStore = importDefault(5214) /* metro dependency 5214: GuildReadStateStore */;
const guildStore = importDefault(1867) /* metro dependency 1867: GuildStore */;
const env0_8 = (require(4865) /* metro dependency 4865: ReadStateConstants */).UnreadSetting;
const value2 = require(33) /* metro dependency 33 */;
const env0_9 = value2.jsx;
const env0_10 = value2.Fragment;
const env0_11 = value2.jsxs;
object2 = {bottom: 24};
const createStylesModule = require(4501) /* metro dependency 4501: createStyles */;
const createStyles = createStylesModule.createStyles;
object2 = {};
object2.listContainer = {minHeight: 16};
object2.list = {'flex': -1, 'marginTop': 8};
const object4 = {};
object4.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.sm;
object2.guildIcon = object4;
const BACKGROUND_BASE_LOW = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BASE_LOW;
object2.categoryWrapper = {backgroundColor: BACKGROUND_BASE_LOW};
object2.pressable = {flex: 1};
const INTERACTIVE_BACKGROUND_ACTIVE = (importDefault(697) /* metro dependency 697: native */).colors.INTERACTIVE_BACKGROUND_ACTIVE;
object2.pressableUnderlayColor = {backgroundColor: INTERACTIVE_BACKGROUND_ACTIVE};
const env0_13 = Reflect.apply(createStyles, createStylesModule, [object2]);
const env0_14 = value.memo(_fun117240);
const env0_15 = value.memo(_fun117244);
const value4 = value.memo(InitialResultsInner);
value = value.memo(SearchResultsInner);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/launchpad/native/LaunchPadSearchResults.tsx');
exports.InitialResults = value4;
exports.SearchResults = value;
}
function renderItemJSX({result, categoryStyles, isRefreshEnabled}) { // fn#117238, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15528:1414, offset: 0x024aa74b, size: 612 bytes, params: 2, frame: 19
if (result == null) {
return null;
}
const type = result.type;
const AutocompleterResultTypes = (require(7234) /* metro dependency 7234: autocompleter */).AutocompleterResultTypes;
const GUILD = AutocompleterResultTypes.GUILD;
if (GUILD === type) {
return ((Component) => <Component guild={result.record} />)(env0_14);
}
const TEXT_CHANNEL = AutocompleterResultTypes.TEXT_CHANNEL;
if (TEXT_CHANNEL === type) {
return ((Component) => <Component channel={result.record} navigationReplace showGuildBadgeIcon />)(importDefault(15340) /* metro dependency 15340: TextChannel */);
}
const GROUP_DM = AutocompleterResultTypes.GROUP_DM;
if (GROUP_DM === type) {
return ((Component) => <Component channel={result.record} navigationReplace />)(importDefault(15346) /* metro dependency 15346: DMChannel */);
}
const VOICE_CHANNEL = AutocompleterResultTypes.VOICE_CHANNEL;
if (VOICE_CHANNEL === type) {
return ((Component) => <Component channel={result.record} />)(importDefault(15347) /* metro dependency 15347: VoiceOrStageChannel */);
}
const USER = AutocompleterResultTypes.USER;
if (USER === type) {
return ((Component) => <Component user={result.record} comparator={result.comparator} />)(importDefault(15349) /* metro dependency 15349: LaunchPadSearchResultUser */);
}
const HEADER = AutocompleterResultTypes.HEADER;
if (HEADER === type) {
return (require(14532) /* metro dependency 14532: RedesignCategory */).renderCategoryItem({name: result.record.text,
styles: categoryStyles, isRefreshEnabled: isRefreshEnabled});
}
const Text = (require(4573) /* metro dependency 4573: Text */).Text;
return (
<Text variant="text-sm/semibold">
{result.type}
</Text>
);
}
function renderSearchResultsSection() { // fn#117239, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15528:4144, offset: 0x024aa9af, size: 82 bytes, params: 1, frame: 18
const binding = env0_15;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
return ((Component) => <Component name={intl.string((require(1244) /* metro dependency 1244: indexNative */).t['zkoeq/'])} />)(binding);
}
function _fun117240({guild}) { // fn#117240, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15528:537, offset: 0x024aaa01, size: 571 bytes, params: 2, frame: 32
const styles = useStyles();
const value2 = (importDefault(15332) /* metro dependency 15332: getLayoutStyles */)();
const value3 = env0_3.useCallback(_fun117241, [guild.id]);
const {unread, mentionCount,
isMentionLowImportance} = (require(566) /* metro dependency 566: flux */).useStateFromStoresObject([GuildReadStateStore],
function() {
var object = {};
var guildBinding = guild;
object.unread = GuildReadStateStore.hasUnread(guildBinding.id);
object.mentionCount = GuildReadStateStore.getMentionCount(guildBinding.id);
object.isMentionLowImportance = GuildReadStateStore.getIsMentionLowImportance(guildBinding.id);
return object;
});
const value5 = (require(4584) /* metro dependency 4584: useFontScale */).useFontScale();
const locale = (require(566) /* metro dependency 566: flux */).useStateFromStores([LocaleStore], function() {
return LocaleStore.locale;
});
const defaultImport = importDefault(15333) /* metro dependency 15333: renderChannelPressableWrapper */;
const PressableHighlight = (require(5278) /* metro dependency 5278: Pressables */).PressableHighlight;
const backgroundColor = styles.pressableUnderlayColor.backgroundColor;
const items3 = [styles.pressable];
items3[1] = {borderRadius: value2.container.borderRadius};
const defaultImport2 = importDefault(15334) /* metro dependency 15334: renderChannelWrapper */;
const jsxRuntimeEnv0_10Binding = jsxRuntimeEnv0_10;
const UnreadBadge = importDefault(15336) /* metro dependency 15336: UnreadBadge */;
const ALL_MESSAGES = UnreadSetting.ALL_MESSAGES;
const items2 = [<UnreadBadge unread={unread} resolvedUnreadSetting={ALL_MESSAGES} />];
items2[1] = ((Component) => <Component size={value2.icon.guildIconSize} guild={guild} style={[styles.guildIcon,
value2.icon.margin]} />)(importDefault(6819) /* metro dependency 6819: GuildIcon */);
value = importDefault(15337) /* metro dependency 15337: renderChannelContent */;
let object = {};
object.name = guild.name;
object.mentionBadge = (importDefault(15339) /* metro dependency 15339: renderChannelBadge */)({mentionCount: mentionCount,
locale: locale, isMentionLowImportance: isMentionLowImportance});
items2[2] = value(object);
return defaultImport(<PressableHighlight onPress={value3} underlayColor={backgroundColor} style={items3}>{defaultImport2(<>{items2}</>,
{fontScale: value5})}</PressableHighlight>);
}
function _fun117244({name, onPress, note}) { // fn#117244, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15528:2254, offset: 0x024aacbf, size: 166 bytes, params: 2, frame: 21
const styles = useStyles();
const value2 = (require(14532) /* metro dependency 14532: RedesignCategory */).useCategoryStyles();
const value3 = (importDefault(1357) /* metro dependency 1357: MobileVisualRefreshExperiment */)('WrappedCategoryItem');
const redesignCategoryModule = require(14532) /* metro dependency 14532: RedesignCategory */;
return (
<View style={styles.categoryWrapper}>
{redesignCategoryModule.renderCategoryItem({name: name, onPress: onPress, note: note, styles: value2,
isRefreshEnabled: value3})}
</View>
);
}
function InitialResultsInner({history, unreads, toggleExpandedHistory, expandedHistory, selectedGuildId}) { // fn#117245, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15528:2516, offset: 0x024aad65, size: 669 bytes, params: 2, frame: 30
var r4;
var defaultImport2;
const env0_3 = expandedHistory;
var value;
const styles = useStyles();
const value2 = (require(14532) /* metro dependency 14532: RedesignCategory */).useCategoryStyles();
const value3 = (importDefault(1357) /* metro dependency 1357: MobileVisualRefreshExperiment */)('InitialResults');
const value4 = (require(566) /* metro dependency 566: flux */).useStateFromStores([GuildStore], _fun117246);
const height = (importDefault(1478) /* metro dependency 1478: useWindowDimensionsNative */)().height;
const binding = env0_3;
const value5 = binding.useCallback(_fun117247, [history, unreads, value2, value3]);
const value7 = binding.useCallback(_fun117249, [toggleExpandedHistory, expandedHistory, value4,
unreads.some(function({type}) {
return type === require(dependencyMap[20]).AutocompleterResultTypes.VOICE_CHANNEL;
})]);
const value8 = (importDefault(15332) /* metro dependency 15332: getLayoutStyles */)();
const value10 = binding.useCallback(_fun117250,
[(require(4584) /* metro dependency 4584: useFontScale */).useFontScale(), history, unreads, value8]);
const Math = global.Math;
const value12 = Math.min(history.length, expandedHistory ? history.length : global.Math.max(5 - unreads.length, 2));
if (history.length > 0) {
defaultImport2 = importDefault(8140) /* metro dependency 8140: FastList */;
value = 'default';
value = ((Component) => <Component optimizeListItemRender batchesToRender={6} style={styles.list} sectionSize={value8.category.height} itemSize={value10} renderItem={value5} renderSection={value7} sections={[value12,
unreads.length]} sectionFooterSize={8} footerSize={8} scrollIndicatorInsets={env0_12} chunkBase={height} keyboardShouldPersistTaps="always" key={selectedGuildId ?? value} />)(defaultImport2);
r4 = value;
} else if (unreads.length > 0) {
defaultImport2 = importDefault(8140) /* metro dependency 8140: FastList */;
value = 'default';
value = ((Component) => <Component optimizeListItemRender batchesToRender={6} style={styles.list} sectionSize={value8.category.height} itemSize={value10} renderItem={value5} renderSection={value7} sections={[value12,
unreads.length]} sectionFooterSize={8} footerSize={8} scrollIndicatorInsets={env0_12} chunkBase={height} keyboardShouldPersistTaps="always" key={selectedGuildId ?? value} />)(defaultImport2);
r4 = value;
} else {
r4 = null;
}
return (
<View style={styles.listContainer}>
{r4}
</View>
);
}
function SearchResultsInner({results, query}) { // fn#117251, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15528:4258, offset: 0x024ab341, size: 470 bytes, params: 2, frame: 26
const styles = useStyles();
const value2 = (require(14532) /* metro dependency 14532: RedesignCategory */).useCategoryStyles();
const value3 = (importDefault(1357) /* metro dependency 1357: MobileVisualRefreshExperiment */)('SearchResults');
const height = (importDefault(1478) /* metro dependency 1478: useWindowDimensionsNative */)().height;
const binding = env0_3;
const value4 = binding.useCallback(_fun117252, [results, value2, value3]);
const value6 = binding.useRef(null);
binding.useEffect(_fun117253, [query]);
const value7 = (importDefault(15332) /* metro dependency 15332: getLayoutStyles */)();
return (
<View style={styles.listContainer}>
{results.length > 0 ? ((Component) => <Component ref={value6} optimizeListItemRender batchesToRender={6} style={styles.list} sectionSize={value7.category.height} itemSize={binding.useCallback(_fun117254,
[(require(4584) /* metro dependency 4584: useFontScale */).useFontScale(), results,
value7])} renderSection={renderSearchResultsSection} renderItem={value4} sections={[results.length]} footerSize={16} scrollIndicatorInsets={env0_12} chunkBase={height} keyboardShouldPersistTaps="always" />)(importDefault(8140) /* metro dependency 8140: FastList */) : null}
</View>
);
}
function _fun117241() { // fn#117241, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15528:596, offset: 0x024aac3c, size: 50 bytes, params: 1, frame: 12
let value = environment.__proto__;
value = require(6947) /* metro dependency 6947: transitionToGuildNative */;
value.transitionToGuild(guild.id);
}
function _fun117246() { // fn#117246, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15528:2733, offset: 0x024ab002, size: 55 bytes, params: 1, frame: 12
var value2;
if (selectedGuildId != null) {
value2 = environment.__proto__;
return GuildStore.getGuild(selectedGuildId)?.name;
}
}
function _fun117247(a0, a1) { // fn#117247, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15528:2840, offset: 0x024ab039, size: 80 bytes, params: 3, frame: 13
return renderItemJSX({result: a0 === 0 ? history[a1] : unreads[a1], categoryStyles: env0_5,
isRefreshEnabled: env0_6});
}
function _fun117249(a0) { // fn#117249, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15528:3024, offset: 0x024ab0bc, size: 452 bytes, params: 2, frame: 24
var r0;
var r1;
var object2;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
var string;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
var expandedHistoryBinding;
var Text;
var object4;
const value = environment.__proto__;
const binding = env1_15;
if (a0 === 0) {
object2 = {};
object2.name = intl.string(t['Xmh+5e']);
expandedHistoryBinding = expandedHistory;
Text = (require(4573) /* metro dependency 4573: Text */).Text;
object4 = {'variant': 'text-xs/semibold', 'color': 'text-brand'};
string = intl.string;
if (expandedHistoryBinding) {
object4.children = Reflect.apply(string, intl, [t['3BdvgI']]);
} else {
object4.children = Reflect.apply(string, intl, [t['/XSoJ+']]);
}
object2.note = <Text {...object4} />;
object2.onPress = toggleExpandedHistory;
r1 = object2;
} else {
if (env0_7 != null) {
r0 = intl.formatToPlainString(env0_8 ? t['+DrQVp'] : t['+lFj35'], {guildName: env0_7});
} else {
string = intl.string;
r0 = env0_8 ? t.C5viSQ : t.ieCAhD;
r0 = Reflect.apply(string, intl, [r0]);
}
r1 = {name: r0};
}
return ((Component) => <Component {...r1} />)(binding);
}
function _fun117250(a0, a1) { // fn#117250, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15528:3578, offset: 0x024ab280, size: 193 bytes, params: 3, frame: 14
var r1;
var r0;
var type;
let value = 0;
if (a1 == null) {
r0 = value;
} else {
r1 = value === a0 ? history[a1] : unreads[a1];
type = r1.type;
value = environment.__proto__;
if (type === (require(7234) /* metro dependency 7234: autocompleter */).AutocompleterResultTypes.VOICE_CHANNEL) {
value = importDefault(15335) /* metro dependency 15335: getScaledChannelRowHeight */;
value = value(env0_10);
value = value + env0_9.voiceUsers.height - 2;
r1 = value;
} else {
value = importDefault(15335) /* metro dependency 15335: getScaledChannelRowHeight */;
value = value(env0_10);
r1 = value;
}
r0 = r1;
}
return r0;
}
function _fun117252(a0, a1) { // fn#117252, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15528:4413, offset: 0x024ab517, size: 55 bytes, params: 3, frame: 13
return renderItemJSX({result: results[a1], categoryStyles: env0_1, isRefreshEnabled: env0_2});
}
function _fun117253() { // fn#117253, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15528:4525, offset: 0x024ab54e, size: 51 bytes, params: 1, frame: 12
const current = env0_3.current;
if (!(current == null || current.scrollToTop == null)) {
current.scrollToTop(false);
}
}
function _fun117254(a0, a1) { // fn#117254, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15528:4662, offset: 0x024ab581, size: 165 bytes, params: 3, frame: 15
return a1 == null ? 0 : results[a1].type === (require(7234) /* metro dependency 7234: autocompleter */).AutocompleterResultTypes.VOICE_CHANNEL ? (importDefault(15335) /* metro dependency 15335: getScaledChannelRowHeight */)(env0_5) + env0_4.voiceUsers.height - 2 : (importDefault(15335) /* metro dependency 15335: getScaledChannelRowHeight */)(env0_5);
}