onFOSS-LAN-Gameserver/website/js/unvanquished.js

42 lines
1.3 KiB
JavaScript
Raw Normal View History

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;
unvanquished_output.prepend(line);
2022-02-02 03:36:29 +01:00
socket.send(command_input.value);
command_input.value = "";
});
}
// Create WebSocket connection.
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) {
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);
unvanquished_output.prepend(line);
2022-02-02 03:36:29 +01:00
});
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', unvanquished_init);
2022-02-02 03:36:29 +01:00
} else {
unvanquished_init();
2022-02-02 03:36:29 +01:00
}