function updateStatusContainers() { let els = document.getElementsByClassName('status-container'); for (var n = 0; n < els.length; n++) { let pc = els[n]; let post_html = "" let horizontal_fill_count = ((pc.offsetWidth - 32) / 16); let url = pc.getElementsByTagName('url')[0].textContent; let marqueeHref = url == "Unnamed Task" ? window.location : url; post_html += "\u2554"; for (var i = 0; i < (horizontal_fill_count / 2) - ((240 / 16) / 2); i++) { post_html += "\u2550"; } post_html += "" + url + "..."; for (var i = 0; i < (horizontal_fill_count / 2) - ((240 / 16) / 2) - 2; i++) { post_html += "\u2550"; } post_html += "[X]\u2557
"; let height = Math.ceil(pc.getElementsByClassName('status-content')[0].offsetHeight / 16); let desc = "Term"; for (var y = 0; y < height; y++) { let ch = y < 4 ? desc[y] : "\u2551"; post_html += "" + ch + "
\u2551

"; } post_html += "\u255a"; for (var i = 0; i < (horizontal_fill_count + 1); i++) { post_html += "\u2550"; } post_html += "\u255d
"; pc.innerHTML += post_html; pc.style.display = "inline"; } } function smolDate(a){return a.split(" ago")[0].replace("a ","1").replace("an ","1").replace("days","d").replace("day","d").replace("hours","h").replace("hour","h").replace("minutes","m").replace("minute","m").replace("seconds","s").replace("second","s").replace("few","").replace(" ","")}; function updateStatuses(user, statuses) { let pageContent = document.getElementsByClassName("page-content")[0]; let elements = document.createElement('div'); let container = document.createElement('div'); container.className = "status-container"; // Render user profile { let content = document.createElement('div'); content.className = "status-content"; let content_html = ""; content_html += "
"; content_html += "
" + user["preferredUsername"] + "
@" + user["preferredUsername"] + "@" + location.host + "
" content_html += "
" + user["summary"] + "
"; content_html += "
Joined " + new Date(Date.parse(user["published"])).toString().substr(0,15) + "
"; content.innerHTML = content_html; let url = document.createElement('url'); url.textContent = window.location; let menuImg = document.createElement('img'); menuImg.className = "text-menu"; content.appendChild(menuImg); container.appendChild(content); container.appendChild(url); elements.appendChild(container); let spacer = document.createElement('div'); spacer.style.height = "16px"; elements.appendChild(spacer); } elements.className = "statuses"; statuses.sort((a,b) => b.id - a.id); for (var i = 0; i < statuses.length; i++) { let status = statuses[i]; let container = document.createElement('div'); container.className = "status-container"; let content = document.createElement('div'); content.className = "status-content"; let content_html = ""; if (status["visibility"] == "public") { content_html += "🌎 "; } content_html += "" + smolDate(dayjs(status["created_at"]).fromNow()) + "
"; content_html += "
" + status["content"]; if (!!status["media_attachments"] && status["media_attachments"].length) { for (var x = 0; x < status["media_attachments"].length; x++) { content_html += "
"; } } content_html += ""; content_html += "💬 " + status["replies_count"] + " 🔁 " + status["reblogs_count"] + " ⭐ " + status["favourites_count"] + ""; content_html += ""; content.innerHTML = content_html; let url = document.createElement('url'); url.textContent = status["url"]; let menuImg = document.createElement('img'); menuImg.className = "text-menu"; content.appendChild(menuImg); container.appendChild(content); container.appendChild(url); elements.appendChild(container); if (i < statuses.length - 1) { let spacer = document.createElement('div'); spacer.style.height = "16px"; elements.appendChild(spacer); } } if (!statuses.length) { let container = document.createElement('div'); container.className = "status-container"; let content = document.createElement('div'); content.className = "status-content"; let content_html = ""; content_html += "
&FileRead &StatusRead &StatusPrint &ExeCmdLine No statuses found.\n " + Math.random().toFixed(6) + "s ans=0x00000000=0
C:/Home>
"; content.innerHTML = content_html; let url = document.createElement('url'); url.textContent = "Unnamed Task"; let menuImg = document.createElement('img'); menuImg.className = "text-menu"; content.appendChild(menuImg); container.appendChild(content); container.appendChild(url); elements.appendChild(container); } pageContent.innerHTML = ""; pageContent.appendChild(elements); window.onload = updateStatusContainers(); } function getStatuses(user) { fetch("https://error.checksum.fail/api/v1/accounts/" + user["accountId"] + "/statuses", { method: 'GET', headers: {'Accept': 'application/json' } }) .then(response => response.json()) .then(data => updateStatuses(user, data)); }