From 15fbca242093d3f8b5fa8351ef12804680aae9a0 Mon Sep 17 00:00:00 2001 From: kanadeko Date: Tue, 17 Jan 2017 17:10:56 -0300 Subject: Rewrote panel js --- public/js/panel.js | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 111 insertions(+), 1 deletion(-) (limited to 'public') diff --git a/public/js/panel.js b/public/js/panel.js index 7e3e383..df977cb 100644 --- a/public/js/panel.js +++ b/public/js/panel.js @@ -1,5 +1,115 @@ +let panel = {} + +panel.page; +panel.token = localStorage.admintoken; + +panel.preparePage = function(){ + if(!panel.token){ + document.getElementById('tokenSubmit').addEventListener('click', function(){ + panel.verifyToken(document.getElementById('token').value); + }); + return; + } + panel.verifyToken(panel.token, true); +} + +panel.verifyToken = function(token, reloadOnError = false){ + var xhr = new XMLHttpRequest(); + + xhr.onreadystatechange = function() { + if (xhr.readyState == XMLHttpRequest.DONE) { + + var json = JSON.parse(xhr.responseText); + if(json.success === false){ + alert(json.description); + if(reloadOnError){ + localStorage.removeItem("admintoken"); + location.reload(); + } + return; + } + + localStorage.admintoken = token; + panel.token = token; + return panel.prepareDashboard(); + + } + } + xhr.open('GET', '/api/token/verify', true); + xhr.setRequestHeader('type', 'admin'); + xhr.setRequestHeader('token', token); + xhr.send(null); +} + +panel.prepareDashboard = function(){ + panel.page = document.getElementById('page'); + document.getElementById('auth').style.display = 'none'; + document.getElementById('dashboard').style.display = 'block'; + + document.getElementById('itemUploads').addEventListener('click', function(){ + panel.getUploads(); + }); + + document.getElementById('itemManageGallery').addEventListener('click', function(){ + panel.getGalleries(); + }); +} + +panel.getUploads = function(){ + page.innerHTML = ''; + var xhr = new XMLHttpRequest(); + + xhr.onreadystatechange = function() { + if(xhr.readyState == XMLHttpRequest.DONE){ + + if(xhr.responseText === 'not-authorized') + return notAuthorized(); + + var json = JSON.parse(xhr.responseText); + + var container = document.createElement('div'); + container.innerHTML = ` + + + + + + + + + + +
FileGalleryDate
`; + page.appendChild(container); + + var table = document.getElementById('table'); + + for(var item of json){ + + var tr = document.createElement('tr'); + tr.innerHTML = ` + + ${item.file} + ${item.gallery} + ${item.date} + + `; + + table.appendChild(tr); + } + + } + } + xhr.open('GET', '/api/uploads', true); + xhr.setRequestHeader('auth', panel.token); + xhr.send(null); +} + window.onload = function () { + panel.preparePage(); +} +/* var page; if(!localStorage.admintoken) @@ -117,4 +227,4 @@ window.onload = function () { location.reload(); } -} +*/ -- cgit v1.2.3