Widget:Droflax
Ir para navegação
Ir para pesquisar
Receitas do Baratie e Aliança
Carregando receitas...
Baratie
Aliança
<script> // Datos de ejemplo para cuando falle la carga const dadosExemplo = {
"baratie": {
"b1": {
"nome": "Carne",
"thumb": "https://via.placeholder.com/50",
"cost": 5000
},
"b2": {
"nome": "Peixe",
"thumb": "https://via.placeholder.com/50",
"cost": 5000
}
},
"alianca": {
"a1": {
"nome": "Bife e Ovo de Frigideira",
"thumb": "https://via.placeholder.com/50",
"cost": 720
},
"a2": {
"nome": "Medalhão de Carne",
"thumb": "https://via.placeholder.com/50",
"cost": 850
}
}
};
// 1. Elementos del DOM const loadingEl = document.getElementById('loading'); const errorEl = document.getElementById('error'); const baratieList = document.querySelector('#baratie-container .receitas-list'); const aliancaList = document.querySelector('#alianca-container .receitas-list');
// 2. Función mejorada para cargar el JSON async function cargarReceitas() {
try {
const response = await fetch('https://wiki.gla.com.br/index.php/Receitas.json', {
headers: {
'Accept': 'application/json'
},
cache: 'no-cache'
});
// Verificar si la respuesta es HTML en lugar de JSON
const contentType = response.headers.get('content-type');
if (contentType && contentType.includes('text/html')) {
throw new Error('O servidor retornou uma página HTML em vez de JSON');
}
if (!response.ok) {
throw new Error(`Erro HTTP: ${response.status}`);
}
return await response.json();
} catch (err) {
console.error('Erro ao cargar receitas:', err);
errorEl.textContent = `Não foi possível carregar as receitas. Usando dados locais. (${err.message})`;
errorEl.style.display = 'block';
return dadosExemplo; // Retorna dados de ejemplo
}
}
// 3. Función para mostrar las recetas function mostrarReceitas(data) {
if (!data) return;
baratieList.innerHTML = ;
aliancaList.innerHTML = ;
// Mostrar recetas de Baratie
if (data.baratie) {
for (const [id, receita] of Object.entries(data.baratie)) {
baratieList.innerHTML += `
<img src="${receita.thumb}" width="50" height="50" style="object-fit:cover;">
${receita.nome}
${receita.cost.toLocaleString()} Berry
`;
}
}
// Mostrar recetas de Aliança
if (data.alianca) {
for (const [id, receita] of Object.entries(data.alianca)) {
aliancaList.innerHTML += `
<img src="${receita.thumb}" width="50" height="50" style="object-fit:cover;">
${receita.nome}
${receita.cost.toLocaleString()} Berry
`; } }
}
// 4. Inicialización mejorada (async function init() {
try {
const receitas = await cargarReceitas();
mostrarReceitas(receitas);
} catch (err) {
console.error('Erro na inicialização:', err);
errorEl.textContent = 'Erro crítico ao cargar o widget';
errorEl.style.display = 'block';
mostrarReceitas(dadosExemplo); // Muestra datos de ejemplo como último recurso
} finally {
loadingEl.style.display = 'none';
}
})(); </script>