diff --git a/src/screens/SearchScreen.tsx b/src/screens/SearchScreen.tsx
index 9c37096..9bff47e 100644
--- a/src/screens/SearchScreen.tsx
+++ b/src/screens/SearchScreen.tsx
@@ -130,11 +130,14 @@ const SearchScreen = () => {
const catalogSnapPoints = useMemo(() => ['50%'], []);
const genreSnapPoints = useMemo(() => ['50%'], []);
- // Scroll to top handler
const scrollToTop = useCallback(() => {
scrollViewRef.current?.scrollTo({ y: 0, animated: true });
}, []);
+ const handleHeaderPress = useCallback(() => {
+ scrollViewRef.current?.scrollTo({ y: 0, animated: true });
+ }, []);
+
useScrollToTop('Search', scrollToTop);
useEffect(() => {
@@ -144,6 +147,36 @@ const SearchScreen = () => {
};
}, []);
+ // NEW: Add focus event listener for when Search tab is pressed while already on Search screen
+ useEffect(() => {
+ const focusSubscription = DeviceEventEmitter.addListener(
+ 'FOCUS_SEARCH_INPUT',
+ () => {
+ console.log('Search tab pressed while on Search screen - focusing input');
+
+ // Clear any search results to show a fresh state
+ if (query.length === 0) {
+ setResults({ byAddon: [], allResults: [] });
+ setSearched(false);
+ setShowRecent(true);
+ loadRecentSearches();
+ }
+
+ // Focus the input after a small delay
+ setTimeout(() => {
+ if (inputRef.current && isMounted.current) {
+ console.log('Focusing search input');
+ inputRef.current.focus();
+ }
+ }, 100);
+ }
+ );
+
+ return () => {
+ focusSubscription.remove();
+ };
+ }, [query]);
+
const handleShowMore = () => {
if (pendingDiscoverResults.length === 0) return;
@@ -906,10 +939,10 @@ const SearchScreen = () => {
isGrid && styles.discoverGridItem
]}
onPress={() => {
- navigation.navigate('Metadata', {
- id: item.id,
+ navigation.navigate('Metadata', {
+ id: item.id,
type: item.type,
- addonId: item.addonId
+ addonId: item.addonId
});
}}
onLongPress={() => {
@@ -1147,60 +1180,67 @@ const SearchScreen = () => {
/>
{/* ScreenHeader Component */}
-
- {/* Search Bar */}
-
-
+
+ {/* Search Bar */}
+
-
-
- {query.length > 0 && (
-
-
-
- )}
+
+
+
+ {query.length > 0 && (
+
+
+
+ )}
+
-
-
+
+
{/* Content Container */}