aboutsummaryrefslogtreecommitdiff
path: root/public/js/panel.js
blob: cff5609196a1d97162ffdda34dde3750f91565a5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
window.onload = function () {

	var page;

	if(!localStorage.admintoken)
		return askForToken();

	prepareDashboard();

	function askForToken(){
		document.getElementById('tokenSubmit').addEventListener('click', function(){
			checkToken();
		});

		function checkToken(){
			var xhr = new XMLHttpRequest();

			xhr.onreadystatechange = function() {
				if (xhr.readyState == XMLHttpRequest.DONE) {
					try{
						
						var json = JSON.parse(xhr.responseText);
						if(json.success === false)
							return alert(json.description);

						localStorage.admintoken = document.getElementById('token').value;
						prepareDashboard();

					}catch(e){
						console.log(e);
					}

					console.log(xhr.responseText);
					// xhr.responseText
				}
			}
			xhr.open('GET', '/api/verify', true);
			xhr.setRequestHeader('type', 'admin');
			xhr.setRequestHeader('token', document.getElementById('token').value);
			xhr.send(null);
		}
	}

	function prepareDashboard(){
		page = document.getElementById('page');
		document.getElementById('auth').style.display = 'none';
		document.getElementById('dashboard').style.display = 'block';

		document.getElementById('itemUploads').addEventListener('click', function(){
			getUploads();
		});

		document.getElementById('itemManageGallery').addEventListener('click', function(){
			getGalleries();
		});
	}

	function getUploads(){
		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 = `
					<table class="table">
				  		<thead>
				    		<tr>
							      <th>File</th>
							      <th>Gallery</th>
							      <th>Date</th>
				    		</tr>
				  		</thead>
				  		<tbody id="table">
				  		</tbody>
				  	</table>`;
				page.appendChild(container);

				var table = document.getElementById('table');

				for(var item of json){

					var tr = document.createElement('tr');
					tr.innerHTML = `
						<tr>
					    	<th><a href="${item.file}" target="_blank">${item.file}</a></th>
					      	<th>${item.gallery}</th>
					      	<td>${item.date}</td>
					    </tr>
					    `;

					table.appendChild(tr);
				}
				
			}
		}
		xhr.open('GET', '/api/uploads', true);
		xhr.setRequestHeader('auth', localStorage.admintoken);
		xhr.send(null);
	}

	function getContent(item, value){
		let endpoint;
		if(item === 'uploads') endpoint = '/api/uploads'
		if(item === 'galleries') endpoint = '/api/uploads'

	}

	function notAuthorized() {
		localStorage.removeItem("admintoken");
		location.reload();
	}

}