From 27e5300f4fcfbc524d03bdbdc89fd3b58c8c32be Mon Sep 17 00:00:00 2001 From: Rajarshee Chatterjee Date: Sun, 14 Aug 2022 11:13:10 +0530 Subject: [PATCH] fix: Clear Searchbar when Screen is Unfocused (Closes #358) --- src/hooks/useSearch.ts | 12 +++++++++++- src/screens/updates/UpdatesScreen.tsx | 4 +--- 2 files changed, 12 insertions(+), 4 deletions(-) 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 } }) => (