mirror of
https://github.com/tapframe/NuvioStreaming.git
synced 2026-04-20 16:22:04 +00:00
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:
commit
a8867df4e6
1 changed files with 23 additions and 8 deletions
|
|
@ -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();
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue