use-genre-filter.ts 456 B

1234567891011121314151617
  1. "use client";
  2. import { useCallback, useState } from "react";
  3. export function useGenreFilter() {
  4. const [selectedGenre, setSelectedGenre] = useState<string | null>(null);
  5. const filterByGenre = useCallback((genre: string) => {
  6. setSelectedGenre((prev) => (prev === genre ? null : genre));
  7. }, []);
  8. const clearGenreFilter = useCallback(() => {
  9. setSelectedGenre(null);
  10. }, []);
  11. return { selectedGenre, filterByGenre, clearGenreFilter };
  12. }