Skip to content

Commit 5dc07af

Browse files
committed
Fixed filtering normal episodes on CR release calendar
1 parent d4c65de commit 5dc07af

File tree

1 file changed

+20
-14
lines changed

1 file changed

+20
-14
lines changed

src/content-script/crunchyroll.ts

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -50,29 +50,35 @@ function filterQueued(display: displayType) {
5050
}
5151

5252
function filterDub(display: displayType) {
53+
// check if dub is included in titles
54+
let filterCount = 0
5355
// filter all titles that contain "Dub" or "Audio"
5456
const list = document.querySelectorAll("cite[itemprop='name']")
5557
list.forEach((element) => {
5658
if (
5759
(element?.textContent?.includes("Dub") || element?.textContent?.includes("Audio")) &&
5860
element?.parentElement?.parentElement?.parentElement?.parentElement?.parentElement
59-
)
61+
) {
62+
filterCount++
6063
element.parentElement.parentElement.parentElement.parentElement.parentElement.style.display = display
64+
}
6165
})
62-
// filter all titles which are duplicated
63-
const daysList = document.querySelectorAll("li.day")
64-
daysList.forEach((element) => {
65-
const showList = element.querySelectorAll("cite[itemprop='name']")
66-
const first = Array.from(showList)
67-
// filter out everything except the first element by title
68-
const duplicates = first.filter(
69-
(element, index) => index != first.findIndex((el) => element.textContent.includes(el.textContent)),
70-
)
71-
duplicates.forEach((element) => {
72-
if (element?.parentElement?.parentElement?.parentElement?.parentElement?.parentElement)
73-
element.parentElement.parentElement.parentElement.parentElement.parentElement.style.display = display
66+
if (filterCount == 0) {
67+
// filter all titles which are duplicated
68+
const daysList = document.querySelectorAll("li.day")
69+
daysList.forEach((element) => {
70+
const showList = element.querySelectorAll("cite[itemprop='name']")
71+
const first = Array.from(showList)
72+
// filter out everything except the first element by title
73+
const duplicates = first.filter(
74+
(element, index) => index != first.findIndex((el) => element.textContent.includes(el.textContent)),
75+
)
76+
duplicates.forEach((element) => {
77+
if (element?.parentElement?.parentElement?.parentElement?.parentElement?.parentElement)
78+
element.parentElement.parentElement.parentElement.parentElement.parentElement.style.display = display
79+
})
7480
})
75-
})
81+
}
7682
if (display == "block" && settings.value.General.filterQueued) filterQueued("none")
7783
}
7884
type FilterFunction = (display: displayType) => void

0 commit comments

Comments
 (0)