Youtube hide video suggestion that already in watching later playlist

hide video suggestion in watch later

// ==UserScript==
// @name            	Youtube hide video suggestion that already in watching later playlist
// @namespace       	https://greasyfork.org/users/821661
// @match           	https://www.youtube.com/*
// @grant           	GM_addStyle
// @version         	1.1a
// @author          	hdyzen
// @description     	hide video suggestion in watch later
// @license         	MIT
// ==/UserScript==
'use strict';

// Get video ids in WL and return ids
async function getWLVideoIds() {
    try {
        const response = await fetch('https://www.youtube.com/playlist?list=WL');
        if (!response.ok) {
            throw new Error(`HTTP error! Status: ${response.status}`);
        }
        const html = await response.text();
        const matched = html.match(/(?<="playlistVideoRenderer":{"videoId":")[a-zA-Z0-9_-]+/gm) || [];
        return matched || [];
    } catch (error) {
        console.error('Error:', error);
        return [];
    }
}

// Add CSS to hide videos that match the id in the element
async function addCSSToHide() {
    const ids = await getWLVideoIds();
    if (ids.length) {
        ids.forEach(id => {
            GM_addStyle(`:is(ytd-rich-item-renderer, ytd-compact-video-renderer):has(a[href*="v=${id}"]){ display: none !important; }`);
        });
    }
}

addCSSToHide();