diff --git a/admin.php b/admin.php
index 768ed89..f7ff6e2 100644
--- a/admin.php
+++ b/admin.php
@@ -183,6 +183,37 @@ $requests_today = $stmt->fetchColumn();
+
+
@@ -337,6 +368,34 @@ $requests_today = $stmt->fetchColumn();
+
+
+
@@ -571,6 +630,7 @@ $requests_today = $stmt->fetchColumn();
const formData = new FormData();
formData.append('id', id);
formData.append('action', action);
+ formData.append('username', 'Admin'); // Added default username for bonus logic
try {
const response = await fetch('api/song_requests.php', {
@@ -579,6 +639,17 @@ $requests_today = $stmt->fetchColumn();
});
const data = await response.json();
if (data.success) {
+ fetchRequests();
+ fetchDjPlaylist();
+ fetchStats();
+ } else {
+ alert('Error: ' + data.error);
+ }
+ } catch (error) {
+ alert('Error al procesar la solicitud');
+ }
+ }
+
function showManualRequestModal() {
const modal = new bootstrap.Modal(document.getElementById('manualRequestModal'));
modal.show();
@@ -619,15 +690,6 @@ $requests_today = $stmt->fetchColumn();
}
}
- fetchRequests();
- } else {
- alert('Error: ' + data.error);
- }
- } catch (error) {
- alert('Error al procesar la solicitud');
- }
- }
-
async function announceOnAir() {
const title = document.getElementById('admin-track-title').innerText.trim();
const artist = document.getElementById('admin-track-artist').innerText.trim();
@@ -736,17 +798,85 @@ $requests_today = $stmt->fetchColumn();
}
}
+ function showDjAddModal() {
+ const modal = new bootstrap.Modal(document.getElementById('djAddModal'));
+ modal.show();
+ }
+
+ async function submitDjRequest() {
+ const artist = document.getElementById('dj-artist').value;
+ const song = document.getElementById('dj-song').value;
+
+ if (!artist || !song) {
+ alert('Por favor, rellena artista y canción.');
+ return;
+ }
+
+ const formData = new FormData();
+ formData.append('requester', 'Lili Records DJ');
+ formData.append('artist', artist);
+ formData.append('song', song);
+ formData.append('source', 'admin');
+
+ try {
+ const response = await fetch('api/song_requests.php', {
+ method: 'POST',
+ body: formData
+ });
+ const data = await response.json();
+ if (data.success) {
+ bootstrap.Modal.getInstance(document.getElementById('djAddModal')).hide();
+ document.getElementById('dj-add-form').reset();
+ fetchDjPlaylist();
+ fetchRequests();
+ } else {
+ alert('Error: ' + data.error);
+ }
+ } catch (error) {
+ alert('Error al guardar la canción.');
+ }
+ }
+
+ async function fetchDjPlaylist() {
+ try {
+ const response = await fetch('api/song_requests.php?source=admin&status=pending');
+ const data = await response.json();
+ if (data.success) {
+ const tbody = document.getElementById('dj-playlist-body');
+ if (data.requests.length === 0) {
+ tbody.innerHTML = '
| No tienes canciones en tu lista actual |
';
+ } else {
+ tbody.innerHTML = data.requests.map(req => `
+
+ | ${req.artist} |
+ ${req.song} |
+ ${req.status} |
+
+
+
+ |
+
+ `).join('');
+ }
+ }
+ } catch (error) {
+ console.error('Error fetching DJ playlist:', error);
+ }
+ }
+
fetchRequests();
fetchStats();
updateNowPlaying();
fetchAnnouncements();
fetchTopRequesters();
+ fetchDjPlaylist();
setInterval(() => {
fetchRequests();
fetchStats();
updateNowPlaying();
fetchAnnouncements();
fetchTopRequesters();
+ fetchDjPlaylist();
}, 15000);