blob: 67e3983dc1862daf33b82e71b9665bbc2d2c938d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
// import Irc from "@/index";
export default class Messages {
readonly url = "irc/";
sendMessage(msg: Message): void {
fetch(this.url + "send", {
method: "POST",
headers: {
Accept: "application/json",
"Content-Type": "application/json",
},
body: JSON.stringify(msg),
});
}
async addMessage(msg: Message): Promise<void> {
const board = $(".overview")[0],
div = document.createElement("div"),
spans = [
document.createElement("span"),
document.createElement("span"),
document.createElement("span"),
];
let min = new Date().getMinutes().toString(),
h = new Date().getHours().toString();
min = min.length === 1 ? "0" + min : min;
h = h.length === 1 ? "0" + h : h;
spans[0].innerText = `[${h}:${min}] `;
spans[1].innerText = msg.username === "Server" ? `<${msg.username}> ` : `<@${msg.username}> `;
spans[1].style.color = msg.color;
spans[2].innerText = msg.text;
// @ts-expect-error
$(spans[2]).emoticonize();
spans.forEach(span => div.appendChild(span));
board.appendChild(div);
}
}
export interface Message {
text: string;
color: string;
username: string;
time: number;
}
|