17 خطوط
953 B
JavaScript
17 خطوط
953 B
JavaScript
const form = document.querySelector('#upload'), result = document.querySelector('#result');
|
|
form.addEventListener('submit',async e => {
|
|
e.preventDefault();
|
|
const button = form.querySelector('button'); button.disabled = true; result.textContent = 'Uploading…';
|
|
const headers = {}, key = document.querySelector('#key').value;
|
|
if (key) headers['X-API-Key'] = key;
|
|
const data = new FormData(); data.append('file',document.querySelector('#file').files[0]);
|
|
try {
|
|
const response = await fetch('/api/v1/schematics/render',{ method:'POST',headers,body:data });
|
|
const body = await response.json();
|
|
if (!response.ok) throw new Error(body.error?.message || 'Upload failed');
|
|
result.textContent = 'Queued. ';
|
|
const link = document.createElement('a'); link.href = body.viewer_url; link.textContent = 'Open schematic'; result.append(link);
|
|
} catch (e) { result.textContent = e.message; }
|
|
finally { button.disabled = false; }
|
|
});
|