mirror of
https://github.com/tapframe/NuvioStreaming.git
synced 2026-04-24 18:13:09 +00:00
remove hardcoded catalog type
This commit is contained in:
parent
4a9f67431f
commit
7436d2d59a
1 changed files with 8 additions and 8 deletions
|
|
@ -84,7 +84,7 @@ const SearchScreen = () => {
|
||||||
// Discover section state
|
// Discover section state
|
||||||
const [discoverCatalogs, setDiscoverCatalogs] = useState<DiscoverCatalog[]>([]);
|
const [discoverCatalogs, setDiscoverCatalogs] = useState<DiscoverCatalog[]>([]);
|
||||||
const [selectedCatalog, setSelectedCatalog] = useState<DiscoverCatalog | null>(null);
|
const [selectedCatalog, setSelectedCatalog] = useState<DiscoverCatalog | null>(null);
|
||||||
const [selectedDiscoverType, setSelectedDiscoverType] = useState<'movie' | 'series'>('movie');
|
const [selectedDiscoverType, setSelectedDiscoverType] = useState<string>('movie');
|
||||||
const [selectedDiscoverGenre, setSelectedDiscoverGenre] = useState<string | null>(null);
|
const [selectedDiscoverGenre, setSelectedDiscoverGenre] = useState<string | null>(null);
|
||||||
const [page, setPage] = useState(1);
|
const [page, setPage] = useState(1);
|
||||||
const [hasMore, setHasMore] = useState(true);
|
const [hasMore, setHasMore] = useState(true);
|
||||||
|
|
@ -127,7 +127,7 @@ const SearchScreen = () => {
|
||||||
try {
|
try {
|
||||||
// Load saved type
|
// Load saved type
|
||||||
const savedType = await mmkvStorage.getItem(DISCOVER_TYPE_KEY);
|
const savedType = await mmkvStorage.getItem(DISCOVER_TYPE_KEY);
|
||||||
if (savedType && (savedType === 'movie' || savedType === 'series')) {
|
if (savedType) {
|
||||||
setSelectedDiscoverType(savedType);
|
setSelectedDiscoverType(savedType);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -141,7 +141,7 @@ const SearchScreen = () => {
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
// Save discover settings when they change
|
// Save discover settings when they change
|
||||||
const saveDiscoverSettings = useCallback(async (type: 'movie' | 'series', catalog: DiscoverCatalog | null, genre: string | null) => {
|
const saveDiscoverSettings = useCallback(async (type: string, catalog: DiscoverCatalog | null, genre: string | null) => {
|
||||||
try {
|
try {
|
||||||
// Save type
|
// Save type
|
||||||
await mmkvStorage.setItem(DISCOVER_TYPE_KEY, type);
|
await mmkvStorage.setItem(DISCOVER_TYPE_KEY, type);
|
||||||
|
|
@ -267,10 +267,8 @@ const SearchScreen = () => {
|
||||||
if (isMounted.current) {
|
if (isMounted.current) {
|
||||||
const allCatalogs: DiscoverCatalog[] = [];
|
const allCatalogs: DiscoverCatalog[] = [];
|
||||||
for (const [type, catalogs] of Object.entries(filters.catalogsByType)) {
|
for (const [type, catalogs] of Object.entries(filters.catalogsByType)) {
|
||||||
if (type === 'movie' || type === 'series') {
|
for (const catalog of catalogs) {
|
||||||
for (const catalog of catalogs) {
|
allCatalogs.push({ ...catalog, type });
|
||||||
allCatalogs.push({ ...catalog, type });
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
setDiscoverCatalogs(allCatalogs);
|
setDiscoverCatalogs(allCatalogs);
|
||||||
|
|
@ -636,9 +634,10 @@ const SearchScreen = () => {
|
||||||
};
|
};
|
||||||
|
|
||||||
const availableGenres = useMemo(() => selectedCatalog?.genres || [], [selectedCatalog]);
|
const availableGenres = useMemo(() => selectedCatalog?.genres || [], [selectedCatalog]);
|
||||||
|
const availableTypes = useMemo(() => [...new Set(discoverCatalogs.map(c => c.type))], [discoverCatalogs]);
|
||||||
const filteredCatalogs = useMemo(() => discoverCatalogs.filter(c => c.type === selectedDiscoverType), [discoverCatalogs, selectedDiscoverType]);
|
const filteredCatalogs = useMemo(() => discoverCatalogs.filter(c => c.type === selectedDiscoverType), [discoverCatalogs, selectedDiscoverType]);
|
||||||
|
|
||||||
const handleTypeSelect = (type: 'movie' | 'series') => {
|
const handleTypeSelect = (type: string) => {
|
||||||
setSelectedDiscoverType(type);
|
setSelectedDiscoverType(type);
|
||||||
|
|
||||||
// Save type setting
|
// Save type setting
|
||||||
|
|
@ -893,6 +892,7 @@ const SearchScreen = () => {
|
||||||
selectedDiscoverGenre={selectedDiscoverGenre}
|
selectedDiscoverGenre={selectedDiscoverGenre}
|
||||||
filteredCatalogs={filteredCatalogs}
|
filteredCatalogs={filteredCatalogs}
|
||||||
availableGenres={availableGenres}
|
availableGenres={availableGenres}
|
||||||
|
availableTypes={availableTypes}
|
||||||
onTypeSelect={handleTypeSelect}
|
onTypeSelect={handleTypeSelect}
|
||||||
onCatalogSelect={handleCatalogSelect}
|
onCatalogSelect={handleCatalogSelect}
|
||||||
onGenreSelect={handleGenreSelect}
|
onGenreSelect={handleGenreSelect}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue