aboutsummaryrefslogtreecommitdiff
path: root/public/js
diff options
context:
space:
mode:
authorPitu <[email protected]>2017-01-18 02:40:14 -0300
committerPitu <[email protected]>2017-01-18 02:40:14 -0300
commit84ff2241ba81fc6a1a2201074d30f971dad8a0de (patch)
tree8ec712f118fc7e553f170640e3c86760bbd2a2ec /public/js
parentBetter static routes (diff)
downloadhost.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.js155
-rw-r--r--public/js/upload.js17
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;
}