This commit is contained in:
janisslsm committed 2026-11-01 12:12:55 +02:00
1 parent 1781d25a15
commit 732c0ad767
33051 files changed
+2591613 -3019689

No files matched your search

@@ -0,0 +1,66 @@
// Metro module 15691 (f15692).
import { memo, useEffect } from "react";
import { View } from "react-native";
import { SearchEntrypointAnalyticsLocations } from "../../tracking/TrackingConstants";
import { SearchNavigatorScreens } from "./SearchNavigatorConstants";
import { SearchTypes } from "../../../../../Constants";
import { createStyles } from "../../../../../design/components/Styles/native/createStyles";
import Module712 from "../../../../../_bundle/Module712";
import { createNativeStackNavigator } from "../../../../../_bundle/Module9109";
import { useAccessibilityNativeStackOptions } from "../../../../../design/components/Navigator/native/Navigator.native";
import Tracking from "../../tracking/Tracking";
import useSafeAreaInsets_native from "../../../../safe_area/useSafeAreaInsets.native";
import * as _SearchNavigatorScreen from "./SearchNavigatorScreen";
import { renderHeader, getRenderBackImage } from "../../../../main_tabs_v2/native/shared_components/HeaderShared";
import SearchNavigatorPreviewHeader from "./SearchNavigatorPreviewHeader";
import * as _SearchNavigatorPreviewScreen from "./SearchNavigatorPreviewScreen";
const useStyles = createStyles({
container: {
flex: 1,
backgroundColor: Module712.colors.BACKGROUND_BASE_LOWEST
}
});
const nativeStackNavigator = createNativeStackNavigator();
const r47 = memo(function(a0) {
const searchContext = a0.route.params.searchContext;
const accessibilityNativeStackOptions = useAccessibilityNativeStackOptions();
useEffect(() => {
Tracking.trackSearchOpened({
searchContext,
searchLocation: searchContext.type === SearchTypes.GUILD ? SearchEntrypointAnalyticsLocations.GUILD : SearchEntrypointAnalyticsLocations.DM_LIST
});
return () => {
Tracking.trackSearchClosed({
searchContext
});
};
}, [searchContext]);
const styles = useStyles();
const safeAreaInsets_native = useSafeAreaInsets_native();
return <View style={[styles.container, {
paddingLeft: safeAreaInsets_native.left,
paddingRight: safeAreaInsets_native.right
}]}>
<nativeStackNavigator.Navigator id="search-navigator" screenOptions={{
...accessibilityNativeStackOptions
}}>
<nativeStackNavigator.Screen initialParams={{
searchContext
}} name={SearchNavigatorScreens.SEARCH_TABS} options={{
headerShown: false,
fullScreenGestureEnabled: true
}} getComponent={() => _SearchNavigatorScreen.default} />
<nativeStackNavigator.Screen name={SearchNavigatorScreens.SEARCH_CHAT_PREVIEW} options={(a0) => {
const route = a0.route;
return {
headerShown: true,
header: renderHeader,
headerLeft: getRenderBackImage(a0.navigation),
headerTitle: () => <SearchNavigatorPreviewHeader channelId={route.params.channelId} />,
fullScreenGestureEnabled: true
};
}} getComponent={() => _SearchNavigatorPreviewScreen.default} />
</nativeStackNavigator.Navigator>
</View>;
});
export default r47;
@@ -0,0 +1,6 @@
// Metro module 15481 (f15482).
const r8 = {
SEARCH_TABS: "search_tabs",
SEARCH_CHAT_PREVIEW: "search_chat_preview"
};
export { r8 as SearchNavigatorScreens };
@@ -0,0 +1,19 @@
// Metro module 15687 (f15688).
import { memo } from "react";
import { View } from "react-native";
import { createStyles } from "../../../../../design/components/Styles/native/createStyles";
import ChannelHeader from "../../../../main_tabs_v2/native/channel/header/ChannelHeader";
const useStyles = createStyles({
container: {
flexShrink: 1,
paddingRight: 12,
flexDirection: "row",
alignItems: "center"
}
});
const r29 = memo(function({ channelId }) {
return <View style={useStyles().container}>
<ChannelHeader channelId={channelId} screenIndex="none" pressable={false} isGuildMemberCountVisible={false} isNavigationScreen />
</View>;
});
export default r29;
@@ -0,0 +1,46 @@
// Metro module 15688 (f15689).
import { useCallback } from "react";
import { ScrollView } from "react-native";
import { SearchTypes } from "../../../../../Constants";
import { createStyles } from "../../../../../design/components/Styles/native/createStyles";
import { useNavigation } from "../../../../../design/components/Navigator/native/useNavigation.native";
import { useRoute } from "../../../../../_bundle/Module1483";
import Tracking from "../../tracking/Tracking";
import MessagePreview from "../../../../../components_native/common/MessagePreview";
const useStyles = createStyles({
container: {
flex: 1
}
});
export default function SearchNavigatorPreviewScreen() {
const styles = useStyles();
const navigation = useNavigation();
const route = useRoute();
const channelId = route.params.channelId;
const searchContext = route.params.searchContext;
const onBeforeJumpToMessage = route.params.onBeforeJumpToMessage;
const callback = useCallback(() => {
Tracking.trackSearchJumpToMessage({
searchContext,
channelId
});
if (onBeforeJumpToMessage != null) {
onBeforeJumpToMessage();
}
const type = searchContext.type;
if (!(SearchTypes.DMS !== type && (SearchTypes.GUILD !== type && SearchTypes.CHANNEL !== type))) {
const parent = navigation.getParent();
if (parent == null) {
return void 0;
}
parent.goBack();
}
}, [searchContext, channelId, onBeforeJumpToMessage, navigation]);
const type = searchContext.type;
if (SearchTypes.CHANNEL !== type && SearchTypes.GUILD_CHANNEL !== type) {
return <MessagePreview channelId={channelId} onBeforeJumpToMessage={callback} />;
}
return <ScrollView horizontal scrollEnabled={false} bounces={false} contentContainerStyle={styles.container}>
<MessagePreview channelId={channelId} onBeforeJumpToMessage={callback} />
</ScrollView>;
};
@@ -0,0 +1,54 @@
// Metro module 15692 (f15693).
import { useMemo } from "react";
import { View } from "react-native";
import { createStyles } from "../../../../../design/components/Styles/native/createStyles";
import Module712 from "../../../../../_bundle/Module712";
import { useSearchSuggestionsGesture } from "../layout/autocomplete/useSearchSuggestionsGesture";
import useBaseAppContainerDimensions from "../../../../screen/native/useBaseAppContainerDimensions";
import useSearchLayoutInsetTop from "../../hooks/useSearchLayoutInsetTop";
import { PressableOpacity } from "../../../../../design/void/Pressables/native/Pressables";
import { intl, t } from "../../../../../intl/index.native";
import { ArrowLargeLeftIcon } from "../../../../../design/components/Icon/native/redesign/generated/ArrowLargeLeftIcon";
import ThemedGradient from "../../../../client_themes/native/ThemedGradient";
import { NonCollapsableGestureDetector } from "../../../../gesture_handlers/native/NonCollapsableGestureDetector";
import SearchScreenSearchBar from "../layout/SearchScreenSearchBar";
import SearchScreenLayout from "../layout/SearchScreenLayout";
const useStyles = createStyles({
wrapper: {
backgroundColor: Module712.colors.BACKGROUND_BASE_LOW,
flex: 1
},
tabs: {
flex: 1,
marginTop: Module712.space.PX_16
},
back: {
marginLeft: Module712.space.PX_16,
marginRight: Module712.space.PX_12
}
});
export default function SearchNavigatorScreen(props) {
const navigation = props.navigation;
const searchContext = props.route.params.searchContext;
const styles = useStyles();
const searchSuggestionsGesture = useSearchSuggestionsGesture(searchContext);
const { gesture, dismissed, setDismissed, onLayoutMeasure } = searchSuggestionsGesture;
const width = useBaseAppContainerDimensions().width;
return <>
<ThemedGradient absolute wide tall />
<NonCollapsableGestureDetector gesture={gesture}>
<View style={[styles.wrapper, {
paddingTop: useSearchLayoutInsetTop()
}]}>
<SearchScreenSearchBar searchContext={searchContext} suggestionsDismissed={dismissed} setSuggestionsDismissed={setDismissed} onSuggestionsLayoutMesure={onLayoutMeasure} backButton={useMemo(() => <View>
<PressableOpacity style={styles.back} accessibilityLabel={intl.string(t["13/7kX"])} accessibilityRole="button" onPress={navigation.goBack}>
<ArrowLargeLeftIcon color={Module712.colors.INTERACTIVE_TEXT_DEFAULT} />
</PressableOpacity>
</View>, [navigation.goBack, styles.back])} />
<View style={styles.tabs}>
<SearchScreenLayout searchContext={searchContext} width={width} />
</View>
</View>
</NonCollapsableGestureDetector>
</>;
};