@@ -15,16 +15,18 @@ import Badge from '@mui/material/Badge';
1515import { styled } from '@mui/material/styles' ;
1616import Typography from '@mui/material/Typography' ;
1717
18- import { useGetQueryFiltersLegacy , useGetStudios } from 'hooks/useFetchItems' ;
18+ import { useGetQueryFilters , useGetQueryFiltersLegacy , useGetStudios } from 'hooks/useFetchItems' ;
1919import globalize from 'lib/globalize' ;
2020
21+ import FiltersAudioLanguages from './FiltersAudioLanguages' ;
2122import FiltersFeatures from './FiltersFeatures' ;
2223import FiltersGenres from './FiltersGenres' ;
2324import FiltersOfficialRatings from './FiltersOfficialRatings' ;
2425import FiltersEpisodesStatus from './FiltersEpisodesStatus' ;
2526import FiltersSeriesStatus from './FiltersSeriesStatus' ;
2627import FiltersStatus from './FiltersStatus' ;
2728import FiltersStudios from './FiltersStudios' ;
29+ import FiltersSubtitleLanguages from './FiltersSubtitleLanguages' ;
2830import FiltersTags from './FiltersTags' ;
2931import FiltersVideoTypes from './FiltersVideoTypes' ;
3032import FiltersYears from './FiltersYears' ;
@@ -99,7 +101,8 @@ const FilterButton: FC<FilterButtonProps> = ({
99101 const open = Boolean ( anchorEl ) ;
100102 const id = open ? 'filter-popover' : undefined ;
101103
102- const { data } = useGetQueryFiltersLegacy ( parentId , itemType ) ;
104+ const { data : filtersLegacy } = useGetQueryFiltersLegacy ( parentId , itemType ) ;
105+ const { data : filters } = useGetQueryFilters ( parentId , itemType ) ;
103106 const { data : studios } = useGetStudios ( parentId , itemType ) ;
104107
105108 const handleChange =
@@ -173,6 +176,13 @@ const FilterButton: FC<FilterButtonProps> = ({
173176 return viewType === LibraryTab . Episodes ;
174177 } ;
175178
179+ const isFiltersLanguagesEnabled = ( ) => {
180+ return viewType === LibraryTab . Movies
181+ || viewType === LibraryTab . Series
182+ || viewType === LibraryTab . Episodes
183+ || viewType === LibraryTab . Mixed ;
184+ } ;
185+
176186 return (
177187 < >
178188 < Button
@@ -324,7 +334,7 @@ const FilterButton: FC<FilterButtonProps> = ({
324334
325335 { isFiltersLegacyEnabled ( ) && (
326336 < >
327- { data ?. Genres && data ?. Genres ?. length > 0 && (
337+ { filtersLegacy ?. Genres && filtersLegacy ?. Genres ?. length > 0 && (
328338 < Accordion
329339 expanded = { expanded === 'filtersGenres' }
330340 onChange = { handleChange ( 'filtersGenres' ) }
@@ -339,7 +349,7 @@ const FilterButton: FC<FilterButtonProps> = ({
339349 </ AccordionSummary >
340350 < AccordionDetails >
341351 < FiltersGenres
342- genresOptions = { data . Genres }
352+ genresOptions = { filtersLegacy . Genres }
343353 libraryViewSettings = {
344354 libraryViewSettings
345355 }
@@ -351,8 +361,8 @@ const FilterButton: FC<FilterButtonProps> = ({
351361 </ Accordion >
352362 ) }
353363
354- { data ?. OfficialRatings
355- && data ?. OfficialRatings ?. length > 0 && (
364+ { filtersLegacy ?. OfficialRatings
365+ && filtersLegacy ?. OfficialRatings ?. length > 0 && (
356366 < Accordion
357367 expanded = {
358368 expanded === 'filtersOfficialRatings'
@@ -373,7 +383,7 @@ const FilterButton: FC<FilterButtonProps> = ({
373383 </ AccordionSummary >
374384 < AccordionDetails >
375385 < FiltersOfficialRatings
376- OfficialRatingsOptions = { data . OfficialRatings }
386+ OfficialRatingsOptions = { filtersLegacy . OfficialRatings }
377387 libraryViewSettings = {
378388 libraryViewSettings
379389 }
@@ -385,7 +395,7 @@ const FilterButton: FC<FilterButtonProps> = ({
385395 </ Accordion >
386396 ) }
387397
388- { data ?. Tags && data ?. Tags . length > 0 && (
398+ { filtersLegacy ?. Tags && filtersLegacy ?. Tags . length > 0 && (
389399 < Accordion
390400 expanded = { expanded === 'filtersTags' }
391401 onChange = { handleChange ( 'filtersTags' ) }
@@ -400,7 +410,7 @@ const FilterButton: FC<FilterButtonProps> = ({
400410 </ AccordionSummary >
401411 < AccordionDetails >
402412 < FiltersTags
403- tagsOptions = { data . Tags }
413+ tagsOptions = { filtersLegacy . Tags }
404414 libraryViewSettings = {
405415 libraryViewSettings
406416 }
@@ -412,7 +422,7 @@ const FilterButton: FC<FilterButtonProps> = ({
412422 </ Accordion >
413423 ) }
414424
415- { data ?. Years && data ?. Years ?. length > 0 && (
425+ { filtersLegacy ?. Years && filtersLegacy ?. Years ?. length > 0 && (
416426 < Accordion
417427 expanded = { expanded === 'filtersYears' }
418428 onChange = { handleChange ( 'filtersYears' ) }
@@ -427,7 +437,7 @@ const FilterButton: FC<FilterButtonProps> = ({
427437 </ AccordionSummary >
428438 < AccordionDetails >
429439 < FiltersYears
430- yearsOptions = { data . Years }
440+ yearsOptions = { filtersLegacy . Years }
431441 libraryViewSettings = {
432442 libraryViewSettings
433443 }
@@ -464,6 +474,50 @@ const FilterButton: FC<FilterButtonProps> = ({
464474 </ AccordionDetails >
465475 </ Accordion >
466476 ) }
477+ { isFiltersLanguagesEnabled ( ) && ! ! filters ?. AudioLanguages ?. length && (
478+ < Accordion
479+ expanded = { expanded === 'filtersAudioLanguages' }
480+ onChange = { handleChange ( 'filtersAudioLanguages' ) }
481+ >
482+ < AccordionSummary
483+ aria-controls = 'audioLanguages-content'
484+ id = 'filtersAudioLanguages-header'
485+ >
486+ < Typography >
487+ { globalize . translate ( 'AudioLanguages' ) }
488+ </ Typography >
489+ </ AccordionSummary >
490+ < AccordionDetails >
491+ < FiltersAudioLanguages
492+ options = { filters . AudioLanguages }
493+ libraryViewSettings = { libraryViewSettings }
494+ setLibraryViewSettings = { setLibraryViewSettings }
495+ />
496+ </ AccordionDetails >
497+ </ Accordion >
498+ ) }
499+ { isFiltersLanguagesEnabled ( ) && ! ! filters ?. SubtitleLanguages ?. length && (
500+ < Accordion
501+ expanded = { expanded === 'filtersSubtitleLanguages' }
502+ onChange = { handleChange ( 'filtersSubtitleLanguages' ) }
503+ >
504+ < AccordionSummary
505+ aria-controls = 'subtitleLanguages-content'
506+ id = 'filtersSubtitleLanguages-header'
507+ >
508+ < Typography >
509+ { globalize . translate ( 'SubtitleLanguages' ) }
510+ </ Typography >
511+ </ AccordionSummary >
512+ < AccordionDetails >
513+ < FiltersSubtitleLanguages
514+ options = { filters . SubtitleLanguages }
515+ libraryViewSettings = { libraryViewSettings }
516+ setLibraryViewSettings = { setLibraryViewSettings }
517+ />
518+ </ AccordionDetails >
519+ </ Accordion >
520+ ) }
467521 < Button
468522 disabled = { ! hasFilters }
469523 title = { globalize . translate ( 'ResetFilters' ) }
0 commit comments