diff --git a/tdx-enhanced.js b/tdx-enhanced.js index 736c3a3..9123515 100644 --- a/tdx-enhanced.js +++ b/tdx-enhanced.js @@ -522,13 +522,13 @@ }); } - function changeTitle() { + async function changeTitle() { let title = document.querySelector(".organization-link a") if (title) { title.innerText = "Purdue University - STEM" } - injectSettings() + await injectToolbar() } function colorChange(color) { @@ -651,14 +651,31 @@ */ - function injectSettings() { + async function injectToolbar() { let iconBar = document.querySelector(".tdbar-settings .pull-right") + let statusHTML = ` +
+ + +
+ ` + let toolsHTML = `
-
` @@ -724,6 +741,9 @@ let settingsPage = document.createElement("div") settingsPage.innerHTML = settingsHTML + let statusLink = document.createElement("span") + statusLink.innerHTML = statusHTML + let toolsLink = document.createElement("span") toolsLink.innerHTML = toolsHTML @@ -743,10 +763,52 @@ settings("update",form) }); - //tools link + //links let parent = iconBar.parentElement + + //tools parent.prepend(toolsLink) + + //status + parent.prepend(statusLink) + let statusData = await getITStatus() + let statusIcon = statusLink.querySelector("#statusIcon") + if (statusData.length>0) { + statusIcon.classList = ("fa-solid fa-triangle-exclamation") + let statusTime = statusLink.querySelector("#statusTime") + let statusText = statusLink.querySelector("#statusText") + + let statusTimeParsed = moment(statusData[0].time) + + statusTime.innerText = statusTimeParsed.fromNow() + statusText.innerText = statusData[0].msg //First msg for now, will there be more than one? + } else { + statusIcon.classList = ("fa-solid fa-check") + } + } + } + + async function getITStatus() { + let url = "https://it.purdue.edu/api-status/messages.php" + let res = await fetch(url) + let data = await res.json() + + let messages = [] + + let msgs = data.Results + if (msgs.length>0) { + let numMsgs = msgs.length/2 + for (let i = 0; i