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