// ui/cardsLoader.js — versão corrigida (SEM DUPLICAÇÃO)
// Projeto: HEP Flashcards
// Descrição: Carrega DATA dos arquivos de cards e expõe via window.CARDS_DATA.

(function () {

    // Armazena todos os cards só UMA VEZ
    window.CARDS_DATA = [];
  
    // Quando um cardsXX.js terminar de carregar,
    // ele sempre cria uma variável global DATA.
    // Precisamos capturar SOMENTE NA PRIMEIRA VEZ.
    function importarDATA() {
        if (typeof DATA !== "undefined" && Array.isArray(DATA)) {
            // adiciona apenas 1 vez
            window.CARDS_DATA.push(...DATA);
            // remove DATA para evitar duplicação
            try { delete window.DATA; } catch (e) {}
            try { DATA = undefined; } catch (e) {}
        }
        // Inicializa o app somente após garantir os cards
        if (window.AppController && typeof AppController.init === 'function') {
            AppController.init();
        }
    }

    // Apenas 1 evento simples:
    document.addEventListener("DOMContentLoaded", importarDATA);
  
    // API
    window.CardsRepo = {
  
        getAll() {
            return window.CARDS_DATA.slice();
        },
  
        shuffle() {
            const a = window.CARDS_DATA;
            for (let i = a.length - 1; i > 0; i--) {
                const j = Math.floor(Math.random() * (i + 1));
                [a[i], a[j]] = [a[j], a[i]];
            }
        }
    };
  
  })();
  