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 += "";
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 += ""
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"] + "
";
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);
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));
}