mirror of
https://github.com/tapframe/NuvioStreaming.git
synced 2026-03-11 17:45:38 +00:00
Minor bug fix for discover filter not save the "All Genres" state.
Refactor genre saving and loading logic Updated genre handling to save empty string for 'All genres' and adjusted loading logic accordingly.
This commit is contained in:
parent
7bf3a344f3
commit
15af3e1dc2
1 changed files with 23 additions and 8 deletions
|
|
@ -153,13 +153,18 @@ const SearchScreen = () => {
|
|||
type: catalog.type,
|
||||
};
|
||||
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) {
|
||||
await mmkvStorage.setItem(DISCOVER_GENRE_KEY, genre);
|
||||
} else {
|
||||
await mmkvStorage.removeItem(DISCOVER_GENRE_KEY);
|
||||
// Save empty string to indicate "All genres" is selected
|
||||
await mmkvStorage.setItem(DISCOVER_GENRE_KEY, '');
|
||||
}
|
||||
} catch (error) {
|
||||
logger.error('Failed to save discover settings:', error);
|
||||
|
|
@ -188,11 +193,21 @@ const SearchScreen = () => {
|
|||
|
||||
// Load saved genre
|
||||
const savedGenre = await mmkvStorage.getItem(DISCOVER_GENRE_KEY);
|
||||
if (savedGenre && 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]);
|
||||
if (savedGenre !== null) {
|
||||
if (savedGenre === '') {
|
||||
// Empty string means "All genres" was selected
|
||||
setSelectedDiscoverGenre(null);
|
||||
} 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;
|
||||
}
|
||||
|
|
@ -688,7 +703,7 @@ const SearchScreen = () => {
|
|||
const handleGenreSelect = (genre: string | null) => {
|
||||
setSelectedDiscoverGenre(genre);
|
||||
|
||||
// Save genre setting
|
||||
// Save genre setting - this will save empty string for null (All genres)
|
||||
saveDiscoverSettings(selectedDiscoverType, selectedCatalog, genre);
|
||||
|
||||
genreSheetRef.current?.dismiss();
|
||||
|
|
|
|||
Loading…
Reference in a new issue