Untitled

 avatar
unknown
plain_text
2 years ago
3.6 kB
7
Indexable
const corsProxy = "https://cors-anywhere.herokuapp.com/";
const endpoint = "https://api.deezer.com";
const RAP_PLAYLIST_ID = "2021626162";
const playlistIds = [RAP_PLAYLIST_ID, "4676814864", "8074584322", "11153531204"];
const playlistRapBtn = document.getElementById("playlistRap");
const playlistRockBtn = document.getElementById("playlistRock");
const playlistRnbBtn = document.getElementById("playlistRnb");
const playlistPopularBtn = document.getElementById("playlistPopular");

playlistRapBtn.addEventListener("click", function () {
    getPlaylist(RAP_PLAYLIST_ID);
});

playlistRockBtn.addEventListener("click", function () {
    getPlaylist(8074584322);
});

playlistRnbBtn.addEventListener("click", function () {
    getPlaylist(2021626162).then((r) => {
        console.log(r);
        const numberOfTracks = 10;
        const randomTracks = getRandomTracks(numberOfTracks, r.tracks);
        console.log("randomTracks : ", randomTracks);
        localStorage.setItem("randomTracks", JSON.stringify(randomTracks));
        const receivedTracks = localStorage.getItem("randomTracks");
        console.log("receivedTracks ----> ", JSON.parse(receivedTracks));
    });
});

playlistPopularBtn.addEventListener("click", function () {
    getPlaylist(11153531204);
});

document.getElementById("playlistRap").addEventListener(
    "click",
    function () {
        console.log("click on rap button");
        window.location.href = "quizz_rap.html";
    },
    false,
);

document.getElementById("playlistRock").addEventListener("click", function () {
    window.location.href = "quizz_rock.html";
});

/* document.getElementById("playlistRnb").addEventListener("click", function () {
    window.location.href = "quizz_rnb.html";
}); */

document.getElementById("playlistPopular").addEventListener("click", function () {
    window.location.href = "quizz_popular.html";
});

async function getPlaylists() {
    try {
        const promises = playlistIds.map(async (id) => {
            const response = await fetch(`${endpoint}/playlist/${id}`);
            const data = await response.json();
            return data;
        });

        const playlists = await Promise.all(promises);
        return playlists;
    } catch (error) {
        console.error(error);
    }
}

async function getPlaylist(id) {
    try {
        const response = await fetch(`${corsProxy}${endpoint}/playlist/${id}`);
        const data = await response.json();
        return data;
    } catch (error) {
        console.error(error);
    }
}

function getRandomInt(max) {
    return Math.floor(Math.random() * max);
}

function getRandomTracks (numberOfTracks, tracks)  {
    const chosenTracks = [];
    let i = 0;
    while (i < numberOfTracks) {
        const randIndex = getRandomInt(tracks.data.length);
        const chosenTrack = tracks.data[randIndex];
        if (chosenTracks.length === 0) {
            chosenTracks.push(chosenTrack);
            i++;
        } else if (chosenTracks.length && !chosenTracks.map(function(c) { return c.id}).includes(chosenTrack.id)) {
            chosenTracks.push(chosenTrack);
            i++;
        }
    }
    return chosenTracks;
};

const titleWidgetElement = document.querySelector('[data-testid="widget-player-content-title"]');
titleWidgetElement.style.display = "none";

const subtitleWidgetElement = document.querySelector(
    '[data-testid="widget-player-content-subtitle"]',
);
subtitleWidgetElement.style.display = "none";

const imgWidgetElement = document.querySelector('[data-testid="widget-player-cover-image"]');
imgWidgetElement.style.display = "none";
Editor is loading...