fix: Clear Searchbar when Screen is Unfocused (Closes #358)
This commit is contained in:
+11
-1
@@ -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<string>(defaultSearchText || '');
|
||||
|
||||
const clearSearchbar = useCallback(() => setSearchText(''), []);
|
||||
|
||||
useEffect(() => {
|
||||
if (!isFocused) {
|
||||
clearSearchbar();
|
||||
}
|
||||
}, [isFocused, clearSearchbar]);
|
||||
|
||||
return { searchText, setSearchText, clearSearchbar };
|
||||
};
|
||||
|
||||
|
||||
@@ -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 } }) => (
|
||||
<Text
|
||||
style={[styles.dateHeader, { color: theme.textColorSecondary }]}
|
||||
|
||||
Reference in New Issue
Block a user