Skip to content

Commit dcd6816

Browse files
committed
feat(history): widen search matching algorithm
1 parent 8b9d42b commit dcd6816

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

src/stores/data/history.store.ts

+10-4
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,18 @@ export const useHistoryStore = defineStore('data.history', () => {
1414
const filteredHistory = computed(() => {
1515
if (!searchHistory.value) return history.value;
1616
return history.value.filter((item: TraktHistory) => {
17-
if ('movie' in item) return item.movie?.title?.toLowerCase().includes(searchHistory.value.toLowerCase());
18-
if ('show' in item) {
19-
if (item.show?.title?.toLowerCase().includes(searchHistory.value.toLowerCase())) return true;
17+
if ('movie' in item && item.movie?.title?.toLowerCase().includes(searchHistory.value.toLowerCase())) return true;
18+
if ('show' in item && item.show.title?.toLowerCase().includes(searchHistory.value.toLowerCase())) return true;
19+
if ('episode' in item) {
2020
if (item.episode?.title?.toLowerCase().includes(searchHistory.value.toLowerCase())) return true;
21+
22+
const shorthands = [
23+
`s${item.episode?.season?.toString().padStart(2, '0')}e${item.episode?.number?.toString().padStart(2, '0')}`,
24+
`${item.episode?.season}x${item.episode?.number}`,
25+
];
26+
if (shorthands.some(shorthand => searchHistory.value.toLowerCase().includes(shorthand))) return true;
2127
}
22-
return false;
28+
return !!(item?.watched_at && new Date(item.watched_at).toLocaleString().toLowerCase().includes(searchHistory.value.toLowerCase()));
2329
});
2430
});
2531

0 commit comments

Comments
 (0)