import { ResultsHeader } from '@/components/search/ResultsHeader'; import { SourceBadges } from '@/components/search/SourceBadges'; import { TypeBadges } from '@/components/search/TypeBadges'; import { VideoGrid } from '@/components/search/VideoGrid'; import { useSourceBadges } from '@/lib/hooks/useSourceBadges'; import { useTypeBadges } from '@/lib/hooks/useTypeBadges'; import { Video, SourceBadge } from '@/lib/types'; interface SearchResultsProps { results: Video[]; availableSources: SourceBadge[]; loading: boolean; isPremium?: boolean; } export function SearchResults({ results, availableSources, loading, isPremium = false }: SearchResultsProps) { // Source badges hook - filters by video source const { selectedSources, filteredVideos: sourceFilteredVideos, toggleSource, } = useSourceBadges(results, availableSources); // Type badges hook - auto-collects and filters by type_name // Apply on source-filtered results for combined filtering const { typeBadges, selectedTypes, filteredVideos: finalFilteredVideos, toggleType, } = useTypeBadges(sourceFilteredVideos); if (results.length === 0 && !loading) return null; return (