2022-02-04 23:53:34 +01:00
|
|
|
function unvanquished_init() {
|
|
|
|
const command_form = document.getElementById('unvanquished_form');
|
|
|
|
const command_input = document.getElementById('unvanquished_command');
|
2022-02-02 03:36:29 +01:00
|
|
|
|
|
|
|
// Connect the command submission
|
|
|
|
if(command_input && command_form) {
|
|
|
|
command_form.addEventListener('submit', function(){
|
|
|
|
let line = document.createElement('p')
|
|
|
|
line.innerHTML = '<span class="TERM_FOREGROUND_7_INTENSE">$ </span>' + command_input.value;
|
2022-02-04 23:53:34 +01:00
|
|
|
unvanquished_output.prepend(line);
|
2022-02-02 03:36:29 +01:00
|
|
|
socket.send(command_input.value);
|
|
|
|
command_input.value = "";
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
// Create WebSocket connection.
|
2022-02-15 01:13:57 +01:00
|
|
|
const socket = new WebSocket("wss://DOMAINNAME/unvanquished")
|
2022-02-02 03:36:29 +01:00
|
|
|
|
|
|
|
// Connection opened
|
|
|
|
socket.addEventListener('open', function (event) {
|
2022-02-03 03:01:08 +01:00
|
|
|
socket.send('/status');
|
2022-02-02 03:36:29 +01:00
|
|
|
});
|
|
|
|
|
2022-02-05 00:39:05 +01:00
|
|
|
socket.addEventListener('error', function (event) {
|
|
|
|
console.error(event);
|
|
|
|
});
|
|
|
|
|
2022-02-02 03:36:29 +01:00
|
|
|
// Listen for messages
|
|
|
|
socket.addEventListener('message', function (event) {
|
2022-02-04 23:53:34 +01:00
|
|
|
const unvanquished_output = document.getElementById('unvanquished_output');
|
2022-02-02 03:36:29 +01:00
|
|
|
let line = document.createElement('p')
|
2022-02-03 03:01:08 +01:00
|
|
|
line.innerHTML = convertDaemonedCodeToHtml(event.data);
|
2022-02-04 23:53:34 +01:00
|
|
|
unvanquished_output.prepend(line);
|
2022-02-02 03:36:29 +01:00
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
if (document.readyState === 'loading') {
|
2022-02-04 23:53:34 +01:00
|
|
|
document.addEventListener('DOMContentLoaded', unvanquished_init);
|
2022-02-02 03:36:29 +01:00
|
|
|
} else {
|
2022-02-04 23:53:34 +01:00
|
|
|
unvanquished_init();
|
2022-02-02 03:36:29 +01:00
|
|
|
}
|