deixar tudo baixa no Heatmap da Quadra para eu ir colocando as iformacoes vou precisar de um relatório tambem disso - Follow Up Deployment
Browse files- index.html +71 -12
index.html
CHANGED
|
@@ -309,20 +309,20 @@
|
|
| 309 |
<div class="w-1/2" id="team1-heatmap">
|
| 310 |
<div class="court-grid">
|
| 311 |
<div class="zone heatmap-low" data-zone="4" data-team="1">4</div>
|
| 312 |
-
<div class="zone heatmap-
|
| 313 |
-
<div class="zone heatmap-
|
| 314 |
<div class="zone heatmap-low" data-zone="5" data-team="1">5</div>
|
| 315 |
-
<div class="zone heatmap-
|
| 316 |
<div class="zone heatmap-low" data-zone="1" data-team="1">1</div>
|
| 317 |
</div>
|
| 318 |
</div>
|
| 319 |
<div class="w-1/2" id="team2-heatmap">
|
| 320 |
<div class="court-grid">
|
| 321 |
<div class="zone heatmap-low" data-zone="4" data-team="2">4</div>
|
| 322 |
-
<div class="zone heatmap-
|
| 323 |
-
<div class="zone heatmap-
|
| 324 |
<div class="zone heatmap-low" data-zone="5" data-team="2">5</div>
|
| 325 |
-
<div class="zone heatmap-
|
| 326 |
<div class="zone heatmap-low" data-zone="1" data-team="2">1</div>
|
| 327 |
</div>
|
| 328 |
</div>
|
|
@@ -346,12 +346,17 @@
|
|
| 346 |
</div>
|
| 347 |
|
| 348 |
<div class="flex justify-between">
|
| 349 |
-
<
|
| 350 |
-
<
|
| 351 |
-
|
| 352 |
-
|
| 353 |
-
<
|
| 354 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 355 |
</div>
|
| 356 |
</div>
|
| 357 |
</section>
|
|
@@ -1293,6 +1298,60 @@
|
|
| 1293 |
alert('Função de exportar para PDF seria implementada aqui');
|
| 1294 |
}
|
| 1295 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1296 |
// Heatmap functionality
|
| 1297 |
let currentHeatColor = null;
|
| 1298 |
let currentSelectedZone = null;
|
|
|
|
| 309 |
<div class="w-1/2" id="team1-heatmap">
|
| 310 |
<div class="court-grid">
|
| 311 |
<div class="zone heatmap-low" data-zone="4" data-team="1">4</div>
|
| 312 |
+
<div class="zone heatmap-low" data-zone="3" data-team="1">3</div>
|
| 313 |
+
<div class="zone heatmap-low" data-zone="2" data-team="1">2</div>
|
| 314 |
<div class="zone heatmap-low" data-zone="5" data-team="1">5</div>
|
| 315 |
+
<div class="zone heatmap-low" data-zone="6" data-team="1">6</div>
|
| 316 |
<div class="zone heatmap-low" data-zone="1" data-team="1">1</div>
|
| 317 |
</div>
|
| 318 |
</div>
|
| 319 |
<div class="w-1/2" id="team2-heatmap">
|
| 320 |
<div class="court-grid">
|
| 321 |
<div class="zone heatmap-low" data-zone="4" data-team="2">4</div>
|
| 322 |
+
<div class="zone heatmap-low" data-zone="3" data-team="2">3</div>
|
| 323 |
+
<div class="zone heatmap-low" data-zone="2" data-team="2">2</div>
|
| 324 |
<div class="zone heatmap-low" data-zone="5" data-team="2">5</div>
|
| 325 |
+
<div class="zone heatmap-low" data-zone="6" data-team="2">6</div>
|
| 326 |
<div class="zone heatmap-low" data-zone="1" data-team="2">1</div>
|
| 327 |
</div>
|
| 328 |
</div>
|
|
|
|
| 346 |
</div>
|
| 347 |
|
| 348 |
<div class="flex justify-between">
|
| 349 |
+
<div class="flex space-x-2">
|
| 350 |
+
<button id="export-csv" class="bg-green-600 text-white px-4 py-2 rounded">
|
| 351 |
+
<i class="fas fa-file-csv"></i> Exportar CSV
|
| 352 |
+
</button>
|
| 353 |
+
<button id="export-pdf" class="bg-red-600 text-white px-4 py-2 rounded">
|
| 354 |
+
<i class="fas fa-file-pdf"></i> Exportar PDF
|
| 355 |
+
</button>
|
| 356 |
+
<button id="export-heatmap" class="bg-blue-600 text-white px-4 py-2 rounded">
|
| 357 |
+
<i class="fas fa-fire"></i> Exportar Heatmap
|
| 358 |
+
</button>
|
| 359 |
+
</div>
|
| 360 |
</div>
|
| 361 |
</div>
|
| 362 |
</section>
|
|
|
|
| 1298 |
alert('Função de exportar para PDF seria implementada aqui');
|
| 1299 |
}
|
| 1300 |
|
| 1301 |
+
// Heatmap report function
|
| 1302 |
+
document.getElementById('export-heatmap').addEventListener('click', function() {
|
| 1303 |
+
let reportContent = "Relatório de Heatmap\n\n";
|
| 1304 |
+
reportContent += `Time: ${gameState.team1.name}\n`;
|
| 1305 |
+
|
| 1306 |
+
// Team 1 zones
|
| 1307 |
+
for (let zone = 1; zone <= 6; zone++) {
|
| 1308 |
+
const zoneElement = document.querySelector(`#team1-heatmap .zone[data-zone="${zone}"]`);
|
| 1309 |
+
const zoneClass = Array.from(zoneElement.classList).find(cls => cls.includes('heatmap-'));
|
| 1310 |
+
let activity = '';
|
| 1311 |
+
|
| 1312 |
+
if (zoneClass) {
|
| 1313 |
+
if (zoneClass.includes('high')) activity = 'Alta';
|
| 1314 |
+
else if (zoneClass.includes('medium')) activity = 'Média';
|
| 1315 |
+
else activity = 'Baixa';
|
| 1316 |
+
} else {
|
| 1317 |
+
activity = 'Baixa';
|
| 1318 |
+
}
|
| 1319 |
+
|
| 1320 |
+
reportContent += `Zona ${zone}: ${activity}\n`;
|
| 1321 |
+
}
|
| 1322 |
+
|
| 1323 |
+
reportContent += `\nTime: ${gameState.team2.name}\n`;
|
| 1324 |
+
|
| 1325 |
+
// Team 2 zones
|
| 1326 |
+
for (let zone = 1; zone <= 6; zone++) {
|
| 1327 |
+
const zoneElement = document.querySelector(`#team2-heatmap .zone[data-zone="${zone}"]`);
|
| 1328 |
+
const zoneClass = Array.from(zoneElement.classList).find(cls => cls.includes('heatmap-'));
|
| 1329 |
+
let activity = '';
|
| 1330 |
+
|
| 1331 |
+
if (zoneClass) {
|
| 1332 |
+
if (zoneClass.includes('high')) activity = 'Alta';
|
| 1333 |
+
else if (zoneClass.includes('medium')) activity = 'Média';
|
| 1334 |
+
else activity = 'Baixa';
|
| 1335 |
+
} else {
|
| 1336 |
+
activity = 'Baixa';
|
| 1337 |
+
}
|
| 1338 |
+
|
| 1339 |
+
reportContent += `Zona ${zone}: ${activity}\n`;
|
| 1340 |
+
}
|
| 1341 |
+
|
| 1342 |
+
// For demo purposes, we'll show in an alert
|
| 1343 |
+
// In a real implementation, you would download this as a file
|
| 1344 |
+
alert(reportContent);
|
| 1345 |
+
|
| 1346 |
+
// To implement actual file download:
|
| 1347 |
+
// const blob = new Blob([reportContent], { type: 'text/plain' });
|
| 1348 |
+
// const url = URL.createObjectURL(blob);
|
| 1349 |
+
// const a = document.createElement('a');
|
| 1350 |
+
// a.href = url;
|
| 1351 |
+
// a.download = 'relatorio_heatmap.txt';
|
| 1352 |
+
// a.click();
|
| 1353 |
+
});
|
| 1354 |
+
|
| 1355 |
// Heatmap functionality
|
| 1356 |
let currentHeatColor = null;
|
| 1357 |
let currentSelectedZone = null;
|