aboutsummaryrefslogtreecommitdiff
path: root/webAO/client/saveChatLogHandle.ts
blob: bcc1075ac8a4c4e7773bd54ecb9a095b07deba0c (plain)
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
import downloadFile from "../services/downloadFile";

export const saveChatlogHandle = async () => {
    const clientLog = document.getElementById("client_log")!;
    const icMessageLogs = clientLog.getElementsByTagName("p");
    const messages: string[] = [];

    for (let i = 0; i < icMessageLogs.length; i++) {
        const SHOWNAME_POSITION = 0;
        const TEXT_POSITION = 2;
        const showname = icMessageLogs[i].children[SHOWNAME_POSITION].innerHTML;
        const text = icMessageLogs[i].children[TEXT_POSITION].innerHTML;
        const message = `${showname}: ${text}`;
        messages.push(message);
    }
    const d = new Date();
    let ye = new Intl.DateTimeFormat("en", { year: "numeric" }).format(d);
    let mo = new Intl.DateTimeFormat("en", { month: "short" }).format(d);
    let da = new Intl.DateTimeFormat("en", { day: "2-digit" }).format(d);

    const filename = `chatlog-${da}-${mo}-${ye}`.toLowerCase();
    downloadFile(messages.join("\n"), filename);

    // Reset Chatbox to Empty
    (<HTMLInputElement>document.getElementById("client_inputbox")).value = "";
};