aboutsummaryrefslogtreecommitdiffstats
path: root/claude-julia/client.ts
blob: 200a8e61a44508d4554a525199cd9c56d04492c4 (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
const textDecoder = new TextDecoder();

async function request() {
	let el_response = document.getElementById("response")!;
	el_response.innerHTML = "Thinking...";

	let code: string = (document.getElementById("code") as HTMLTextAreaElement).value
	let req = {
		method: 'POST',
		body: code
	};
	let res = await window.fetch("/query", req);
	let body: string = textDecoder.decode(await res.bytes());

	const parser = new DOMParser();
	const doc = parser.parseFromString(body, "text/html");
	let html = '';
	for (let imp of doc.querySelectorAll('improvement')) {
		let orig_code = imp.querySelector('original_code')!.innerHTML;
		let impr_code = imp.querySelector('improved_code')!.innerHTML;
		let expl = imp.querySelector('explanation')!.innerHTML;
		html += '<div class="code"><pre class="orig">'+orig_code+'</pre>';
		html += '<pre class="impr">'+impr_code+'</pre></div>';
		html += '<div class="expl">'+expl+'</div><hr/>';
	}

	el_response.innerHTML = html;
}