var misskey_host = "" err = document.getElementById('err'); browser.storage.sync.get('value').then( result => misskey_host = result.value, err => misskey_host = default_host); browser.storage.sync.get('instance').then(result => misskey_host = instance) browser.tabs .query({ currentWindow: true, active: true }) .then(tabs => update_data(tabs[0].url), err => document.getElementById('err').innerHTML=err); function display_notes(data){ n = document.getElementById('notes'); n.innerHTML = ""; update = ""; if (data.length == 0){ update="

No data

" } for (var i = 0; i < data.length; i++){ note = data[i]; if (note['user']['host'] == null){ note['user']['host'] = misskey_host; } update += "
"; update +="
"; if (!note['url']){ note['url'] = note['uri']; } update +="

"+note['text']+"
link " if (note['renoteCount'] || note['repliesCount']){ update +=note['renoteCount']+" renotes "+note['repliesCount']+" replies" } update += "


" } n.innerHTML = update; document.getElementById('err').style.display="none"; } async function update_data(url){ document.getElementById('err').innerHTML = "Getting notes for:" + url +"
From: "+misskey_host; data = JSON.stringify({ "query":url, "limit":100, }); await fetch(misskey_host +"/api/notes/search",{ method:'POST', body:data, headers:{"Content-Type":"application/json"} }).then(resp => resp.json()).then(data => display_notes(data)); }