basic connection and naming
This commit is contained in:
parent
cd4036172d
commit
16057b4a18
@ -63,24 +63,43 @@ function cmd_echo(input) {
|
|||||||
return input.join(' ');
|
return input.join(' ');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function cmd_nick(input) {
|
||||||
|
if (input === undefined)
|
||||||
|
return "No nickname was given!";
|
||||||
|
user.name = input[0];
|
||||||
|
fetch('/nickname', {
|
||||||
|
method: 'POST',
|
||||||
|
headers: {
|
||||||
|
'Accept': 'application/json',
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
body: JSON.stringify({
|
||||||
|
name: user.name,
|
||||||
|
id: user.id
|
||||||
|
})
|
||||||
|
}).then(res => {});
|
||||||
|
return `Applied name '${user.name}'.`;
|
||||||
|
}
|
||||||
|
|
||||||
async function cmd_msg(input) {
|
async function cmd_msg(input) {
|
||||||
if (input === undefined)
|
if (input === undefined)
|
||||||
return "No message given!";
|
return "No message given!";
|
||||||
const data = {
|
if (!user.connected)
|
||||||
id: user.id,
|
return "You are not connected!";
|
||||||
message: input.join(' ')
|
|
||||||
};
|
|
||||||
const res = await fetch('/message', {
|
const res = await fetch('/message', {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: {
|
headers: {
|
||||||
'Accept': 'application/json',
|
'Accept': 'application/json',
|
||||||
'Content-Type': 'application/json'
|
'Content-Type': 'application/json'
|
||||||
},
|
},
|
||||||
body: JSON.stringify(data)
|
body: JSON.stringify({
|
||||||
|
message: input.join(' '),
|
||||||
|
id: user.id
|
||||||
|
})
|
||||||
});
|
});
|
||||||
if (res.status === 200) {
|
if (res.status === 200) {
|
||||||
const resData = await res.json();
|
const { message } = await res.json();
|
||||||
return resData.message;
|
return message;
|
||||||
} else
|
} else
|
||||||
return "Server returned status " + res.status;
|
return "Server returned status " + res.status;
|
||||||
}
|
}
|
31
js/main.js
31
js/main.js
@ -1,4 +1,31 @@
|
|||||||
const user = { id: crypto.randomUUID(), name: "", history: [] };
|
// Handle server connection
|
||||||
|
document.body.onunload = () => {
|
||||||
|
if (user.connected)
|
||||||
|
fetch('/disconnect', {
|
||||||
|
method: 'POST',
|
||||||
|
headers: {
|
||||||
|
'Accept': 'application/json',
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
body: JSON.stringify({
|
||||||
|
id: user.id
|
||||||
|
})
|
||||||
|
}).then(res => {});
|
||||||
|
};
|
||||||
|
fetch('/connect').then(res => {
|
||||||
|
if (res.status === 200) {
|
||||||
|
user.connected = true;
|
||||||
|
return res.json();
|
||||||
|
}
|
||||||
|
console.error("Could not connect to server!");
|
||||||
|
}).then(res => {
|
||||||
|
if (res === undefined)
|
||||||
|
return;
|
||||||
|
const { id } = res;
|
||||||
|
user.id = id;
|
||||||
|
});
|
||||||
|
const user = { id: "", name: "", history: [], connected: false };
|
||||||
|
|
||||||
let pretext = "root@baipyr.us:~# ";
|
let pretext = "root@baipyr.us:~# ";
|
||||||
|
|
||||||
// Initiating variables
|
// Initiating variables
|
||||||
@ -6,7 +33,7 @@ const length = pretext.length+1;
|
|||||||
let startPosition = length;
|
let startPosition = length;
|
||||||
let cursorPosition = 0;
|
let cursorPosition = 0;
|
||||||
let cursorYOffset = 7;
|
let cursorYOffset = 7;
|
||||||
let history = {index: 0, list: []};
|
let history = { index: 0, list: [] };
|
||||||
|
|
||||||
// Initiating constants
|
// Initiating constants
|
||||||
const tbDiv = document.getElementById("textbox");
|
const tbDiv = document.getElementById("textbox");
|
||||||
|
Loading…
Reference in New Issue
Block a user