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>