summaryrefslogtreecommitdiff
path: root/static/js/controllers/comments_controller.js
diff options
context:
space:
mode:
Diffstat (limited to 'static/js/controllers/comments_controller.js')
-rw-r--r--static/js/controllers/comments_controller.js31
1 files changed, 31 insertions, 0 deletions
diff --git a/static/js/controllers/comments_controller.js b/static/js/controllers/comments_controller.js
new file mode 100644
index 0000000..611b2ee
--- /dev/null
+++ b/static/js/controllers/comments_controller.js
@@ -0,0 +1,31 @@
+export class CommentsController {
+ constructor(domain, post) {
+ this.domain = domain;
+ this.post = post;
+ this.parser = new DOMParser();
+ this.form_element = document.getElementById("comment-form");
+ this.form_element.addEventListener("submit", this.submit.bind(this));
+ }
+
+ async submit(event) {
+ const form = new FormData(event.target);
+ form.append("domain", window.location.hostname);
+
+ try {
+ const response = await fetch(`https://${this.domain}/${this.post}/comments`,
+ {
+ method: "POST",
+ headers: {
+ "Content-Type": "application/json",
+ },
+ body: form
+ });
+ const response_page = this.htmlFromResponse(response.body);
+ } catch(error) {}
+ }
+
+ htmlFromResponse(body) {
+ return this.parser.parseFromString(body, "text/html");
+ }
+ }
+