|
| 1 | +<!doctype html> |
| 2 | +<html> |
| 3 | + <head> |
| 4 | + <title>Jury Tool</title> |
| 5 | + <style> |
| 6 | + body { |
| 7 | + font-family: Arial, sans-serif; |
| 8 | + } |
| 9 | + |
| 10 | + h1 { |
| 11 | + text-align: center; |
| 12 | + } |
| 13 | + |
| 14 | + #events { |
| 15 | + display: grid; |
| 16 | + grid-template-columns: 1fr 1fr; |
| 17 | + gap: 1rem; |
| 18 | + padding: 1rem; |
| 19 | + } |
| 20 | + |
| 21 | + #events > div { |
| 22 | + min-height: 200px; |
| 23 | + } |
| 24 | + |
| 25 | + div { |
| 26 | + border: 1px solid #ccc; |
| 27 | + border-radius: 5px; |
| 28 | + padding: 1rem; |
| 29 | + } |
| 30 | + |
| 31 | + h3 { |
| 32 | + margin-top: 0; |
| 33 | + } |
| 34 | + |
| 35 | + pre { |
| 36 | + background-color: #f9f9f9; |
| 37 | + border: 1px solid #ccc; |
| 38 | + border-radius: 5px; |
| 39 | + padding: 1rem; |
| 40 | + margin: 0; |
| 41 | + } |
| 42 | + </style> |
| 43 | + </head> |
| 44 | + <body> |
| 45 | + <h1>Jury Tool</h1> |
| 46 | + <div id="events"></div> |
| 47 | + <script> |
| 48 | + const events = [ |
| 49 | + 'aeg-beneficiary-concert', |
| 50 | + 'pop-concert', |
| 51 | + 'AEC-OC', |
| 52 | + 'AEC-CC', |
| 53 | + ]; |
| 54 | + |
| 55 | + // Create html elements for each event |
| 56 | + events.forEach((event) => { |
| 57 | + const div = document.createElement('div'); |
| 58 | + div.id = event; |
| 59 | + document.getElementById('events').appendChild(div); |
| 60 | + |
| 61 | + const h3 = document.createElement('h3'); |
| 62 | + h3.textContent = event; |
| 63 | + document.getElementById(event).appendChild(h3); |
| 64 | + |
| 65 | + const pre = document.createElement('pre'); |
| 66 | + pre.id = event + '-data'; |
| 67 | + pre.textContent = 'Loading...'; |
| 68 | + document.getElementById(event).appendChild(pre); |
| 69 | + }); |
| 70 | + |
| 71 | + // Update data for each event, every second |
| 72 | + setInterval(() => { |
| 73 | + events.forEach((event) => { |
| 74 | + fetch(`http://localhost:3000/events/${event}/subscribe?wait=false`) |
| 75 | + .then((response) => response.json()) |
| 76 | + .then((data) => { |
| 77 | + document.getElementById(event + '-data').textContent = |
| 78 | + JSON.stringify(data, null, 2); |
| 79 | + }); |
| 80 | + }); |
| 81 | + }, 1000); |
| 82 | + </script> |
| 83 | + </body> |
| 84 | +</html> |
0 commit comments