aboutsummaryrefslogtreecommitdiff
path: root/webAO/client/saveChatLogHandle.ts
diff options
context:
space:
mode:
authorCaleb <caleb.mabry.15@cnu.edu>2022-09-09 18:30:07 -0400
committerCaleb <caleb.mabry.15@cnu.edu>2022-09-09 18:30:07 -0400
commite50167a8077b0ada769cdf785971972c3ad865f7 (patch)
tree711000af34cf52b508ec05ec79b2f7d6d731cd78 /webAO/client/saveChatLogHandle.ts
parent1e3f34e03c9dd8fda7e2b24e4533e23fcb7e1de7 (diff)
Pulled out everything I wanted
Diffstat (limited to 'webAO/client/saveChatLogHandle.ts')
-rw-r--r--webAO/client/saveChatLogHandle.ts26
1 files changed, 26 insertions, 0 deletions
diff --git a/webAO/client/saveChatLogHandle.ts b/webAO/client/saveChatLogHandle.ts
new file mode 100644
index 0000000..bcc1075
--- /dev/null
+++ b/webAO/client/saveChatLogHandle.ts
@@ -0,0 +1,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 = "";
+}; \ No newline at end of file