// ==UserScript==
// @name Criticker - Add Letterboxd Search Button
// @namespace https://www.criticker.com/
// @version 1.0
// @description Adds a button to search the movie on Letterboxd
// @author n00bCod3r (https://github.com/n00bCod3rr)
// @match https://www.criticker.com/films*
// @grant none
// @downloadURL https://update.greasyfork.icu/scripts/427372/Criticker%20-%20Add%20Letterboxd%20Search%20Button.user.js
// @updateURL https://update.greasyfork.icu/scripts/427372/Criticker%20-%20Add%20Letterboxd%20Search%20Button.meta.js
// ==/UserScript==
(function() {
'use strict';
function formatTitle(title) {
title.trim();
title = title.replaceAll('#','%23')
title = title.replaceAll('+','%2B')
title = title.replaceAll('&','%26')
title = title.replaceAll('\'','%27')
title = title.replaceAll('?', '%3F')
title = title.replaceAll(' ', '+')
return title;
}
//lbx logo
const logoURL = 'https://a.ltrbxd.com/logos/letterboxd-decal-dots-pos-rgb-500px.png';
//all li elements
const titlesList = document.querySelectorAll('main>ul.fl_titlelist li');
titlesList.forEach(el => {
const div = el.querySelector('.fl_name'); //cotnains with movie info
console.log(div);
const title = formatTitle(div.querySelector('a').title);
//search link for the movie
const lbxURL = `https://letterboxd.com/search/films/${title}/`;
// containing the lbx logo image
const imgAnchor = document.createElement('a');
imgAnchor.href = lbxURL;
imgAnchor.target = "blank";
imgAnchor.rel = "noopener noreferrer";
//lbx logo image
const img = document.createElement('img');
img.src = logoURL;
img.width = '20';
imgAnchor.appendChild(img);
div.prepend(imgAnchor);
})
})();