Merge pull request #396 from AdityasahuX07/patch-22

Minor bug fix for discover filter not save the "All Genres" state.
This commit is contained in:
Nayif 2026-01-15 13:55:05 +05:30 committed by GitHub
commit a8867df4e6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -153,13 +153,18 @@ const SearchScreen = () => {
type: catalog.type, type: catalog.type,
}; };
await mmkvStorage.setItem(DISCOVER_CATALOG_KEY, JSON.stringify(catalogData)); await mmkvStorage.setItem(DISCOVER_CATALOG_KEY, JSON.stringify(catalogData));
} else {
// Clear catalog if null
await mmkvStorage.removeItem(DISCOVER_CATALOG_KEY);
} }
// Save genre // Save genre - use empty string to indicate "All genres"
// This way we distinguish between "not set" and "All genres"
if (genre) { if (genre) {
await mmkvStorage.setItem(DISCOVER_GENRE_KEY, genre); await mmkvStorage.setItem(DISCOVER_GENRE_KEY, genre);
} else { } else {
await mmkvStorage.removeItem(DISCOVER_GENRE_KEY); // Save empty string to indicate "All genres" is selected
await mmkvStorage.setItem(DISCOVER_GENRE_KEY, '');
} }
} catch (error) { } catch (error) {
logger.error('Failed to save discover settings:', error); logger.error('Failed to save discover settings:', error);
@ -188,11 +193,21 @@ const SearchScreen = () => {
// Load saved genre // Load saved genre
const savedGenre = await mmkvStorage.getItem(DISCOVER_GENRE_KEY); const savedGenre = await mmkvStorage.getItem(DISCOVER_GENRE_KEY);
if (savedGenre && foundCatalog.genres.includes(savedGenre)) { if (savedGenre !== null) {
setSelectedDiscoverGenre(savedGenre); if (savedGenre === '') {
} else if (foundCatalog.genres.length > 0) { // Empty string means "All genres" was selected
// Set first genre as default if saved genre not available setSelectedDiscoverGenre(null);
setSelectedDiscoverGenre(foundCatalog.genres[0]); } else if (foundCatalog.genres.includes(savedGenre)) {
setSelectedDiscoverGenre(savedGenre);
} else if (foundCatalog.genres.length > 0) {
// Set first genre as default if saved genre not available
setSelectedDiscoverGenre(foundCatalog.genres[0]);
}
} else {
// No saved genre, default to first genre
if (foundCatalog.genres.length > 0) {
setSelectedDiscoverGenre(foundCatalog.genres[0]);
}
} }
return; return;
} }
@ -688,7 +703,7 @@ const SearchScreen = () => {
const handleGenreSelect = (genre: string | null) => { const handleGenreSelect = (genre: string | null) => {
setSelectedDiscoverGenre(genre); setSelectedDiscoverGenre(genre);
// Save genre setting // Save genre setting - this will save empty string for null (All genres)
saveDiscoverSettings(selectedDiscoverType, selectedCatalog, genre); saveDiscoverSettings(selectedDiscoverType, selectedCatalog, genre);
genreSheetRef.current?.dismiss(); genreSheetRef.current?.dismiss();