var count = 0;
var countElement = document.getElementById("counterDisplay");
var buttonElement = document.getElementById("my-btn");
var url = window.location.hostname;
//Récupère la liste des pages visités
var listHasVisited = new Map(JSON.parse(localStorage.getItem('hasVisited')));
//Appel la fonction à chaque fois que la page est chargé
window.onload = numberChangeGET;
//Récupère la classe de la balise avec l'id "conteneur", puis concatenne les classes pour avoir le nom de la page
var cle_1 = sandpCompteurVisites[0].ValueCle1;
var cle_2 = sandpCompteurVisites[0].ValueCle2;
var clientID = sandpCompteurVisites[0].ClientID
//console.log('cle_1 => ', cle_1);
//console.log('cle_2 => ', cle_2);
//console.log(sandpCompteurVisites);
//Récupère la classe de l'id "conteneur", créer ou met à jour le localStorage puis envoi la classe (correspondant à la page) dans le body de la requête envoyé à NodeJS
function numberChangeGET(){
//Si aucune page n'a encore été créer dans le localStorage, créer la variable hasVisited avec la première page visité
if(new Map(JSON.parse(localStorage.getItem('hasVisited'))).get(cle_1) == undefined && cle_1 != undefined && cle_2 != undefined){
listHasVisited.set(cle_1, [cle_2]);
localStorage.setItem('hasVisited', JSON.stringify(Array.from(listHasVisited)));
// document.write('Bienvenue ! (compteur +1)');
// document.write('
clé 1 : '+cle_1);
// document.write('
clé 2 : '+cle_2);
snpCounterVisit();
}
//Sinon, on met à jour le hashmap en ajoutant la classe au tableau des classes stocké à la clé contenu dans cle_1
else if (!new Map(JSON.parse(localStorage.getItem('hasVisited'))).get(cle_1).includes(cle_2) && cle_1 != undefined && cle_2 != undefined){
//Ajoute la page à la liste des pages visités, puis le stock à nouveau dans le localStorage
var classArray = new Map(JSON.parse(localStorage.getItem('hasVisited'))).get(cle_1)
classArray.push(cle_2);
listHasVisited.set(cle_1, classArray);
//
// document.write('Bienvenue ! (compteur +1)');
// document.write('
clé 1 : '+cle_1);
// document.write('
clé 2 : '+cle_2);
localStorage.setItem('hasVisited', JSON.stringify(Array.from(listHasVisited)));
//Affichage d'un message si la page n'a jamais été visité (optionnel)
//Préparation et envoie de la classe concaténé ainsi que l'ID client au format d'objet à NodeJS
snpCounterVisit();
}
//Si la page à déjà été visité, on met un autre affichage ou on ne fait rien
else {
// document.write('Page déjà visité.');
// document.write('
clé 1 : '+cle_1);
// document.write('
clé 2 : '+cle_2);
//console.log('listHasVisited => ', listHasVisited);
}
}
function snpCounterVisit() {
var bodyElement = {cle_1: cle_1, cle_2: cle_2, clientID: clientID}
fetch('https://devnode0.ingencys.net/snpVisitCounter/update', {
method: 'POST',
body: JSON.stringify(bodyElement)
})
.then(function(response) {
return response.text();
})
.then(function(data) {
// document.write('
Total : '+data);
});
}