diff --git a/src/components/filterdialog/filterdialog.js b/src/components/filterdialog/filterdialog.js index 408ef06de..e52dcebc9 100644 --- a/src/components/filterdialog/filterdialog.js +++ b/src/components/filterdialog/filterdialog.js @@ -351,7 +351,10 @@ class FilterDialog { const filterName = chkGenreFilter.getAttribute('data-filter'); let filters = query.Genres || ''; const delimiter = '|'; - filters = (delimiter + filters).replace(delimiter + filterName, '').substring(1); + filters = filters + .split(delimiter) + .filter((f) => f !== filterName) + .join(delimiter);; if (chkGenreFilter.checked) { filters = filters ? (filters + delimiter + filterName) : filterName; } @@ -365,7 +368,10 @@ class FilterDialog { const filterName = chkTagFilter.getAttribute('data-filter'); let filters = query.Tags || ''; const delimiter = '|'; - filters = (delimiter + filters).replace(delimiter + filterName, '').substring(1); + filters = filters + .split(delimiter) + .filter((f) => f !== filterName) + .join(delimiter);; if (chkTagFilter.checked) { filters = filters ? (filters + delimiter + filterName) : filterName; } @@ -379,7 +385,10 @@ class FilterDialog { const filterName = chkYearFilter.getAttribute('data-filter'); let filters = query.Years || ''; const delimiter = ','; - filters = (delimiter + filters).replace(delimiter + filterName, '').substring(1); + filters = filters + .split(delimiter) + .filter((f) => f !== filterName) + .join(delimiter);; if (chkYearFilter.checked) { filters = filters ? (filters + delimiter + filterName) : filterName; } @@ -393,7 +402,10 @@ class FilterDialog { const filterName = chkOfficialRatingFilter.getAttribute('data-filter'); let filters = query.OfficialRatings || ''; const delimiter = '|'; - filters = (delimiter + filters).replace(delimiter + filterName, '').substring(1); + filters = filters + .split(delimiter) + .filter((f) => f !== filterName) + .join(delimiter); if (chkOfficialRatingFilter.checked) { filters = filters ? (filters + delimiter + filterName) : filterName; }