diff --git a/src/hooks/useSearch.ts b/src/hooks/useSearch.ts index 01d7d961..8bc46e6e 100644 --- a/src/hooks/useSearch.ts +++ b/src/hooks/useSearch.ts @@ -1,9 +1,19 @@ -import { useCallback, useState } from 'react'; +import { useIsFocused } from '@react-navigation/native'; +import { useCallback, useEffect, useState } from 'react'; const useSearch = (defaultSearchText?: string) => { + const isFocused = useIsFocused(); + const [searchText, setSearchText] = useState(defaultSearchText || ''); + const clearSearchbar = useCallback(() => setSearchText(''), []); + useEffect(() => { + if (!isFocused) { + clearSearchbar(); + } + }, [isFocused, clearSearchbar]); + return { searchText, setSearchText, clearSearchbar }; }; diff --git a/src/screens/updates/UpdatesScreen.tsx b/src/screens/updates/UpdatesScreen.tsx index 5841d6d7..235aaa64 100644 --- a/src/screens/updates/UpdatesScreen.tsx +++ b/src/screens/updates/UpdatesScreen.tsx @@ -170,9 +170,7 @@ const UpdatesScreen = () => { } contentContainerStyle={styles.listContainer} keyExtractor={item => item.chapterId.toString()} - sections={groupUpdatesByDate( - searchResults.length > 0 ? searchResults : updates, - )} + sections={groupUpdatesByDate(searchText ? searchResults : updates)} renderSectionHeader={({ section: { date } }) => (