diff options
| author | Pitu <[email protected]> | 2017-01-18 02:40:14 -0300 |
|---|---|---|
| committer | Pitu <[email protected]> | 2017-01-18 02:40:14 -0300 |
| commit | 84ff2241ba81fc6a1a2201074d30f971dad8a0de (patch) | |
| tree | 8ec712f118fc7e553f170640e3c86760bbd2a2ec /public/js | |
| parent | Better static routes (diff) | |
| download | host.fuwn.me-84ff2241ba81fc6a1a2201074d30f971dad8a0de.tar.xz host.fuwn.me-84ff2241ba81fc6a1a2201074d30f971dad8a0de.zip | |
Shit ton of things on this update
Diffstat (limited to 'public/js')
| -rw-r--r-- | public/js/panel.js | 155 | ||||
| -rw-r--r-- | public/js/upload.js | 17 |
2 files changed, 150 insertions, 22 deletions
diff --git a/public/js/panel.js b/public/js/panel.js index 14f6237..94b5b1c 100644 --- a/public/js/panel.js +++ b/public/js/panel.js @@ -22,11 +22,18 @@ panel.verifyToken = function(token, reloadOnError = false){ var json = JSON.parse(xhr.responseText); if(json.success === false){ - alert(json.description); - if(reloadOnError){ - localStorage.removeItem("admintoken"); - location.reload(); - } + + swal({ + title: "An error ocurred", + text: json.description, + type: "error" + }, function(){ + if(reloadOnError){ + localStorage.removeItem("admintoken"); + location.reload(); + } + }) + return; } @@ -52,22 +59,27 @@ panel.prepareDashboard = function(){ }); document.getElementById('itemManageGallery').addEventListener('click', function(){ - panel.getGalleries(); + panel.getAlbums(); }); + + panel.getAlbumsSidebar(); } panel.getUploads = function(){ - page.innerHTML = ''; + panel.page.innerHTML = ''; var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if(xhr.readyState == XMLHttpRequest.DONE){ if(xhr.responseText === 'not-authorized') - return notAuthorized(); + return panel.verifyToken(panel.token); var json = JSON.parse(xhr.responseText); - + console.log(json); + if(json.success === false) + return swal("An error ocurred", json.description, "error"); + var container = document.createElement('div'); container.innerHTML = ` <table class="table"> @@ -81,7 +93,7 @@ panel.getUploads = function(){ <tbody id="table"> </tbody> </table>`; - page.appendChild(container); + panel.page.appendChild(container); var table = document.getElementById('table'); @@ -92,7 +104,7 @@ panel.getUploads = function(){ <tr> <th><a href="${item.file}" target="_blank">${item.file}</a></th> <th>${item.album}</th> - <td>${item.date}</td> + <td>${item.timestamp}</td> </tr> `; @@ -106,25 +118,134 @@ panel.getUploads = function(){ xhr.send(null); } -panel.getGalleries = function(){ +panel.getAlbums = function(){ + panel.page.innerHTML = ''; var xhr = new XMLHttpRequest(); + var container = document.createElement('div'); + container.className = "container"; + container.innerHTML = ` + <h2 class="subtitle">Create new album</h2> + + <p class="control has-addons has-addons-centered"> + <input id="albumName" class="input" type="text" placeholder="Name"> + <a id="submitAlbum" class="button is-primary">Submit</a> + </p> + + <h2 class="subtitle">List of albums</h2> + + <table class="table"> + <thead> + <tr> + <th>Name</th> + <th>Files</th> + <th>Created At</th> + </tr> + </thead> + <tbody id="table"> + </tbody> + </table>`; + xhr.onreadystatechange = function() { if (xhr.readyState == XMLHttpRequest.DONE) { + if(xhr.responseText === 'not-authorized') + return panel.verifyToken(panel.token); + var json = JSON.parse(xhr.responseText); + console.log(json); if(json.success === false) - return alert(json.description); + return swal("An error ocurred", json.description, "error"); + panel.page.appendChild(container); + var table = document.getElementById('table'); + for(var item of json.albums){ - localStorage.admintoken = token; - panel.token = token; - return panel.prepareDashboard(); + var tr = document.createElement('tr'); + tr.innerHTML = ` + <tr> + <th>${item.name}</th> + <th>${item.files}</th> + <td>${item.timestamp}</td> + </tr> + `; + + table.appendChild(tr); + } + document.getElementById('submitAlbum').addEventListener('click', function(){ + panel.submitAlbum(); + }); + } } - xhr.open('GET', '/api/galleries', true); + + xhr.open('GET', '/api/albums', true); + xhr.setRequestHeader('auth', panel.token); + xhr.setRequestHeader('extended', ''); + xhr.send(null); +} + +panel.submitAlbum = function(){ + + var xhr = new XMLHttpRequest(); + + xhr.onreadystatechange = function() { + if (xhr.readyState == XMLHttpRequest.DONE) { + + if(xhr.responseText === 'not-authorized') + return panel.verifyToken(panel.token); + + var json = JSON.parse(xhr.responseText); + if(json.success === false) + return swal("An error ocurred", json.description, "error"); + + swal("Woohoo!", "Album was added successfully", "success"); + panel.getAlbumsSidebar(); + panel.getAlbums(); + return; + } + } + + xhr.open('POST', '/api/albums', true); + xhr.setRequestHeader('auth', panel.token); + xhr.setRequestHeader('name', document.getElementById('albumName').value); + xhr.send(null); + +} + +panel.getAlbumsSidebar = function(){ + var xhr = new XMLHttpRequest(); + + xhr.onreadystatechange = function() { + if (xhr.readyState == XMLHttpRequest.DONE) { + + if(xhr.responseText === 'not-authorized') + return panel.verifyToken(panel.token); + + var json = JSON.parse(xhr.responseText); + console.log(json); + if(json.success === false) + return swal("An error ocurred", json.description, "error"); + + var albumsContainer = document.getElementById('albumsContainer'); + albumsContainer.innerHTML = ''; + + if(json.albums === undefined) return; + + for(var album of json.albums){ + li = document.createElement('li'); + a = document.createElement('a'); + a.innerHTML = album.name; + + li.appendChild(a); + albumsContainer.appendChild(li); + } + } + } + + xhr.open('GET', '/api/albums', true); xhr.setRequestHeader('auth', panel.token); xhr.send(null); } diff --git a/public/js/upload.js b/public/js/upload.js index 3672077..0341ecc 100644 --- a/public/js/upload.js +++ b/public/js/upload.js @@ -37,11 +37,18 @@ upload.verifyToken = function(token, reloadOnError = false){ var json = JSON.parse(xhr.responseText); if(json.success === false){ - alert(json.description); - if(reloadOnError){ - localStorage.removeItem("token"); - location.reload(); - } + + swal({ + title: "An error ocurred", + text: json.description, + type: "error" + }, function(){ + if(reloadOnError){ + localStorage.removeItem("token"); + location.reload(); + } + }) + return; } |