Skip to content

Commit 5e1ab84

Browse files
feat(jury-tool): allow specifying backend url
1 parent 3ce63da commit 5e1ab84

File tree

1 file changed

+46
-10
lines changed

1 file changed

+46
-10
lines changed

jury/index.html

+46-10
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,30 @@
3939
padding: 1rem;
4040
margin: 0;
4141
}
42+
43+
#urlInputContainer {
44+
text-align: center;
45+
margin-bottom: 1rem;
46+
}
47+
48+
#urlInput {
49+
width: 300px;
50+
padding: 0.5rem;
51+
font-size: 1rem;
52+
}
53+
54+
#setUrlButton {
55+
padding: 0.5rem 1rem;
56+
font-size: 1rem;
57+
}
4258
</style>
4359
</head>
4460
<body>
4561
<h1>Jury Tool</h1>
62+
<div id="urlInputContainer">
63+
<input type="text" id="urlInput" placeholder="Enter backend URL" />
64+
<button id="setUrlButton">Set URL</button>
65+
</div>
4666
<div id="events"></div>
4767
<script>
4868
const events = [
@@ -52,6 +72,8 @@ <h1>Jury Tool</h1>
5272
'aec-cc',
5373
];
5474

75+
let backendUrl = '';
76+
5577
// Create html elements for each event
5678
events.forEach((event) => {
5779
const div = document.createElement('div');
@@ -64,21 +86,35 @@ <h1>Jury Tool</h1>
6486

6587
const pre = document.createElement('pre');
6688
pre.id = event + '-data';
67-
pre.textContent = 'Loading...';
89+
pre.textContent = 'Enter a backend URL to start';
6890
document.getElementById(event).appendChild(pre);
6991
});
7092

71-
// Update data for each event, every second
72-
setInterval(() => {
93+
document.getElementById('setUrlButton').addEventListener('click', () => {
94+
backendUrl = document.getElementById('urlInput').value;
95+
if (backendUrl) {
96+
updateEventData();
97+
}
98+
});
99+
100+
function updateEventData() {
101+
// Update text to "Loading..." once fetching starts
73102
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-
});
103+
document.getElementById(event + '-data').textContent = 'Loading...';
80104
});
81-
}, 1000);
105+
106+
// Update data for each event, every second
107+
setInterval(() => {
108+
events.forEach((event) => {
109+
fetch(`${backendUrl}/events/${event}/subscribe?wait=false`)
110+
.then((response) => response.json())
111+
.then((data) => {
112+
document.getElementById(event + '-data').textContent =
113+
JSON.stringify(data, null, 2);
114+
});
115+
});
116+
}, 1000);
117+
}
82118
</script>
83119
</body>
84120
</html>

0 commit comments

Comments
 (0)