DeepFin / index.html
Amós e Souza Fernandes
Upload 120 files
5f10e37 verified
<!doctype html>
<html lang="pt-BR">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<title>Agentes ATCoin Token</title>
<link href="https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
</head>
<body class="bg-gray-100 text-gray-900">
<div class="max-w-6xl mx-auto py-8 px-4">
<h1 class="text-4xl font-bold text-center mb-8">Agentes da Inteligência Artificial — AIBANK Token</h1>
<div class="bg-white rounded-xl shadow-md p-6 overflow-x-auto">
<table class="w-full text-left border-collapse">
<thead>
<tr class="bg-gray-800 text-white">
<th class="p-2">Agente</th>
<th class="p-2">Status</th>
<th class="p-2">Última Ação</th>
<th class="p-2">Próxima Execução</th>
<th class="p-2">Resultado</th>
</tr>
</thead>
<tbody id="agentes-body"></tbody>
</table>
</div>
<div class="mt-12">
<h2 class="text-2xl font-semibold text-center mb-4">Performance dos Agentes</h2>
<canvas id="grafico-retorno" class="w-full max-w-4xl mx-auto"></canvas>
</div>
</div>
<script>
async function carregarDados() {
try {
const resposta = await fetch('data.json');
const agentes = await resposta.json();
const tabela = document.getElementById('agentes-body');
const nomes = [];
const resultados = [];
tabela.innerHTML = '';
agentes.forEach(agente => {
nomes.push(agente.nome);
resultados.push(parseFloat(agente.resultado.replace('%', '').replace('+', '')));
tabela.innerHTML += `
<tr class="border-b hover:bg-gray-100 transition">
<td class="p-2 font-medium">${agente.nome}</td>
<td class="p-2">${agente.status}</td>
<td class="p-2">${agente.ultima_acao}</td>
<td class="p-2">${agente.proxima_execucao}</td>
<td class="p-2">${agente.resultado}</td>
</tr>`;
});
desenharGrafico(nomes, resultados);
} catch (erro) {
console.error("Erro ao carregar dados:", erro);
}
}
function desenharGrafico(labels, data) {
const ctx = document.getElementById('grafico-retorno').getContext('2d');
if (window.myChart) {
window.myChart.destroy(); // evita sobreposição
}
window.myChart = new Chart(ctx, {
type: 'bar',
data: {
labels,
datasets: [{
label: 'ROI (%)',
data,
backgroundColor: 'rgba(59, 130, 246, 0.7)',
borderColor: 'rgba(37, 99, 235, 1)',
borderWidth: 1
}]
},
options: {
responsive: true,
scales: {
y: { beginAtZero: true }
},
animation: {
duration: 1000,
easing: 'easeOutBounce'
}
}
});
}
carregarDados();
setInterval(carregarDados, 60000); // atualiza a cada 60s
</script>
</body>
</html>