summaryrefslogtreecommitdiff
path: root/static/js/comments/comment_form.js
blob: 6edde9fcf21cd3ade934b8283f52da5c96597e12 (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
27
28
29
30
31
class CommentForm {
    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");
    }
 }