const countries = [
{id:'US', name:'USA'},
{id:'CN', name:'China'},
{id:'JP', name:'Japan'},
{id:'DE', name:'Deutschland'},
{id:'FR', name:'Frankreich'},
{id:'IN', name:'Indien'},
{id:'GB', name:'UK'},
{id:'IT', name:'Italien'},
{id:'CA', name:'Kanada'},
{id:'KR', name:'Südkorea'},
{id:'RU', name:'Russland'},
{id:'BR', name:'Brasilien'},
{id:'AU', name:'Australien'},
{id:'MX', name:'Mexiko'},
{id:'ES', name:'Spanien'},
{id:'NL', name:'Niederlande'},
{id:'TR', name:'Türkei'},
{id:'AR', name:'Argentinien'},
{id:'SA', name:'Saudi-Arabien'}
];
const INDICATOR = "DT.DOD.DECT.CD";
let dataMap = {};
// HTML bauen
const container = document.getElementById("debtContainer");
countries.forEach(c=>{
const div = document.createElement("div");
div.className="debt-item";
div.innerHTML = `
${c.name}
$...
`;
container.appendChild(div);
});
// EIN Request für alle Länder
async function loadData(){
const codes = countries.map(c=>c.id).join(';');
const url = `https://api.worldbank.org/v2/country/${codes}/indicator/${INDICATOR}?format=json&per_page=100`;
try {
const res = await fetch(url);
const json = await res.json();
const entries = json[1];
// neuesten Wert pro Land finden
entries.forEach(entry=>{
const code = entry.country.id;
if(!dataMap[code] && entry.value){
dataMap[code] = entry.value;
}
});
} catch(e){
console.error("API Fehler", e);
}
startClock();
}
function formatUSD(num){
return "$" + num.toLocaleString("en-US");
}
function startClock(){
setInterval(()=>{
let total = 0;
countries.forEach(c=>{
let val = dataMap[c.id] || 0;
// Wachstum simulieren
val += val * 0.0000000005;
dataMap[c.id] = val;
document.getElementById("debt"+c.id).textContent =
formatUSD(Math.floor(val));
total += val;
});
document.getElementById("totalDebt").textContent =
"Gesamtverschuldung: " + formatUSD(Math.floor(total));
}, 100);
}
loadData();