
// stoque les ameliorations deja disponibles dans le magasin pour ne pas le faire clignoter
let magasin = {}

// stoquer les ameliorations deja achetees pour ne pas les afficher dans le magasin
let sacado = {}

async function remplirMagasin(){


    const table= document.getElementById("table_magasin_body") 

    let data = await fetch("../bdd/arbre.json")
    data = await data.json() 

    let tech = data["technologies"]

    for(const key in tech){
        console.log(sacado)
        console.log(magasin)
        // ne va pas s'embeter à proecess si on a deja acheté l'amelioration
        if(!sacado[key] && !magasin[key]){
            el = tech[key]
            
            
            const tr = document.createElement("tr")
            const nom = document.createElement("td")
            nom.innerText = el.nom
            const boost = document.createElement("td")
            boost.innerText = el.boost
            const cout = document.createElement("td")
            cout.innerText = el.cout
        
            const test  = document.createElement("td")
            const btn_acheter = document.createElement("button")
            
            // stoquage temporaire de la clé JSON correspondant à la technologie à débloquer
            // pour éviter de référencer key, qui va sauter sur sa valeur finale
            let tmp = key
    
    
            let t = new Technologie(tmp)
            // charge les propriétés de la technologie depuis la bdd sans mettre à jour le style directement après
            await t.chargerDepuisBdd(false)
    
            /* fonction qui va s'activer lorsqu'on achète l'objet*/
            btn_acheter.addEventListener("click", (event) =>{
                // on améliore le style de la page :)
                t.appliquerAmeliorationStyle()
    
                // et on ajouter l'amélioration dans l'abre des compétences débloquées
                sacado[key] = true

                // on refresh le magasin pour enlever l'amelioration de la liste
                // vide le ventre du magasin
                table.innerHTML = ""
                magasin = {}
                remplirMagasin()
                
            })
    
            btn_acheter.innerText = "Acheter"
    
            // n'afficher l'amélioration que si le score est assez élevé
            if(t.props.borne <= score){

                // met à jour le contenu du magasin
                // pour ne pas re-afficher cette ligne et éviter un clignotement
                magasin[key] = true

                test.appendChild(btn_acheter)
    
    
                tr.appendChild(nom)
                tr.appendChild(boost)
                tr.appendChild(cout)
                tr.appendChild(test)
                
                table.appendChild(tr)
            }
        }
        

    }

}
