IXVD
Home of people that love software, games and developing!
-
-
Links
-
- IXVD's cryptpad
- IXVD's git server
- IXVD's status page
+
diff --git a/public/obj/css/main.css b/public/obj/css/main.css index f201cde..0b4361f 100644 --- a/public/obj/css/main.css +++ b/public/obj/css/main.css @@ -23,6 +23,20 @@ main { background-color: #fff; } +#service-holder { + display: flex; + flex-direction: column; +} + +#service-holder .service { + display: grid; + grid-template-columns: 1fr 1fr; +} + +#service-holder .service > .service-status { + text-align: right; +} + a { color: #000; transition: 0.5s all; diff --git a/public/obj/js/services.js b/public/obj/js/services.js new file mode 100644 index 0000000..7fc15bc --- /dev/null +++ b/public/obj/js/services.js @@ -0,0 +1,30 @@ +const SERVICE_BLACKLIST = [ + 'ixvd.net', + 'proxy', + '2d.neo.ixvd.net', + 'pad.sandbox.neo.ixvd.net', +]; + +const serviceHolderDiv = document.querySelector('#service-holder'); + +async function update() { + serviceHolderDiv.innerHTML = 'Loading...'; + let fetchResult = await (await fetch('https://s.ixvd.net/api/v1/endpoints/statuses')).json() + serviceHolderDiv.innerHTML = ''; + + fetchResult.forEach(s => { + if (!s.results || s.results.length === 0) return; + let service = s.results[0]; + if (service.hostname && !SERVICE_BLACKLIST.includes(service.hostname) && service.status === 200) { + let serviceDiv = document.createElement('div'); + serviceDiv.classList.add('service'); + serviceDiv.innerHTML = ` + ${service.hostname} + ${service.success ? 'Online' : 'Offline'} + `; + serviceHolderDiv.appendChild(serviceDiv); + } + }) +} + +update(); \ No newline at end of file
+
Services
+
+ Nothing (yet)!
diff --git a/public/obj/css/main.css b/public/obj/css/main.css index f201cde..0b4361f 100644 --- a/public/obj/css/main.css +++ b/public/obj/css/main.css @@ -23,6 +23,20 @@ main { background-color: #fff; } +#service-holder { + display: flex; + flex-direction: column; +} + +#service-holder .service { + display: grid; + grid-template-columns: 1fr 1fr; +} + +#service-holder .service > .service-status { + text-align: right; +} + a { color: #000; transition: 0.5s all; diff --git a/public/obj/js/services.js b/public/obj/js/services.js new file mode 100644 index 0000000..7fc15bc --- /dev/null +++ b/public/obj/js/services.js @@ -0,0 +1,30 @@ +const SERVICE_BLACKLIST = [ + 'ixvd.net', + 'proxy', + '2d.neo.ixvd.net', + 'pad.sandbox.neo.ixvd.net', +]; + +const serviceHolderDiv = document.querySelector('#service-holder'); + +async function update() { + serviceHolderDiv.innerHTML = 'Loading...'; + let fetchResult = await (await fetch('https://s.ixvd.net/api/v1/endpoints/statuses')).json() + serviceHolderDiv.innerHTML = ''; + + fetchResult.forEach(s => { + if (!s.results || s.results.length === 0) return; + let service = s.results[0]; + if (service.hostname && !SERVICE_BLACKLIST.includes(service.hostname) && service.status === 200) { + let serviceDiv = document.createElement('div'); + serviceDiv.classList.add('service'); + serviceDiv.innerHTML = ` + ${service.hostname} + ${service.success ? 'Online' : 'Offline'} + `; + serviceHolderDiv.appendChild(serviceDiv); + } + }) +} + +update(); \ No newline at end of file