Skip to content

Commit c589148

Browse files
committed
Fix filtering on diary page
1 parent a19302e commit c589148

File tree

2 files changed

+34
-7
lines changed

2 files changed

+34
-7
lines changed

.gitignore

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,4 @@ node_modules/
44
*.afdesign*
55
*.xcf
66

7-
/*.html
8-
/*.css
9-
/*.svg
7+
testing

src/filterboxd.user.js

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -751,22 +751,51 @@
751751
});
752752
};
753753

754-
const titleId = unorderedList.querySelector('[data-film-id]')?.getAttribute('data-film-id');
754+
let filmPosterSelector;
755+
756+
let titleId = unorderedList.querySelector('[data-film-id]')?.getAttribute('data-film-id');
755757
log(DEBUG, 'titleId', titleId);
756-
if (titleId) userscriptLink.setAttribute('data-film-id', titleId);
757758

758-
const filmPoster = document.querySelector(`[data-film-id='${titleId}'].film-poster`);
759+
if (titleId) {
760+
filmPosterSelector = `[data-film-id='${titleId}'].film-poster`;
761+
} else {
762+
const titleName = unorderedList.querySelector('[data-film-name]')?.getAttribute('data-film-name');
763+
log(DEBUG, 'titleName', titleName);
764+
765+
if (titleName) {
766+
filmPosterSelector = `[data-film-name='${titleName}'].film-poster`;
767+
} else {
768+
logError('No film id or name found in unordered list');
769+
return;
770+
}
771+
}
772+
773+
log(DEBUG, 'filmPosterSelector', filmPosterSelector);
774+
const filmPoster = document.querySelector(filmPosterSelector);
759775
log(DEBUG, 'filmPoster', filmPoster);
760776

777+
if (!titleId) {
778+
titleId = filmPoster?.getAttribute('data-film-id');
779+
log(DEBUG, 'titleId', titleId);
780+
781+
if (!titleId) {
782+
logError('No film id found on film poster');
783+
return;
784+
}
785+
}
786+
787+
userscriptLink.setAttribute('data-film-id', titleId);
788+
761789
if (!filmPoster) {
762790
logError('No film poster found');
763791
log(INFO, 'unorderedList', unorderedList);
764792
}
765793

766794
const titleSlug =
767795
unorderedList.querySelector('[data-film-slug]')?.getAttribute('data-film-slug')
768-
|| filmPoster.getAttribute('data-film-slug');
796+
|| filmPoster?.getAttribute('data-film-slug');
769797
log(DEBUG, 'titleSlug', titleSlug);
798+
770799
if (titleSlug) userscriptLink.setAttribute('data-film-slug', titleSlug);
771800

772801
const titleName = unorderedList.querySelector('[data-film-name]')?.getAttribute('data-film-name');

0 commit comments

Comments
 (0)