"use client" import { Badge } from "@/components/ui/badge" import { Button } from "@/components/ui/button" import { Separator } from "@/components/ui/separator" import { Star, X } from "lucide-react" import {useGetGenres} from "@/api/mangamochi"; interface FilterSidebarProps { selectedGenres: number[] selectedStatus: string[] minRating: number onGenresChange: (genres: number[]) => void onStatusChange: (status: string[]) => void onRatingChange: (rating: number) => void } const STATUSES = ["Ongoing", "Completed", "Hiatus"] const RATINGS = [ { label: "4.5+ Stars", value: 4.5 }, { label: "4.0+ Stars", value: 4.0 }, { label: "3.5+ Stars", value: 3.5 }, { label: "All Ratings", value: 0 }, ] export function FilterSidebar({ selectedGenres, selectedStatus, minRating, onGenresChange, onStatusChange, onRatingChange, }: FilterSidebarProps) { const { data: genresData } = useGetGenres(); const toggleGenre = (genre: number) => { if (selectedGenres.includes(genre)) { onGenresChange(selectedGenres.filter((g) => g !== genre)) } else { onGenresChange([...selectedGenres, genre]) } } const toggleStatus = (status: string) => { if (selectedStatus.includes(status)) { onStatusChange(selectedStatus.filter((s) => s !== status)) } else { onStatusChange([...selectedStatus, status]) } } const clearAllFilters = () => { onGenresChange([]) onStatusChange([]) onRatingChange(0) } const hasActiveFilters = selectedGenres.length > 0 || selectedStatus.length > 0 || minRating > 0 return ( ) }