Update: 2026-06-30 04:49:51
This commit is contained in:
@@ -724,8 +724,8 @@ $scrapedResults = json_decode(file_get_contents(RESULTS_FILE), true);
|
|||||||
<!-- Right Side: Lists Dashboard -->
|
<!-- Right Side: Lists Dashboard -->
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="tabs-header">
|
<div class="tabs-header">
|
||||||
<button class="tab-btn active" onclick="switchTab('tasks')">Pending Tasks (<?php echo count($currentTasks); ?>)</button>
|
<button id="tab-btn-tasks" class="tab-btn active" onclick="switchTab('tasks')">Pending Tasks (<?php echo count($currentTasks); ?>)</button>
|
||||||
<button class="tab-btn" onclick="switchTab('results')">Scrape History (<?php echo count($scrapedResults); ?>)</button>
|
<button id="tab-btn-results" class="tab-btn" onclick="switchTab('results')">Scrape History (<?php echo count($scrapedResults); ?>)</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Tab 1: Tasks Queue -->
|
<!-- Tab 1: Tasks Queue -->
|
||||||
@@ -740,7 +740,7 @@ $scrapedResults = json_decode(file_get_contents(RESULTS_FILE), true);
|
|||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="list-container">
|
<div id="tasks-list-container" class="list-container">
|
||||||
<?php if (count($currentTasks) === 0): ?>
|
<?php if (count($currentTasks) === 0): ?>
|
||||||
<div class="empty-state">No pending tasks. Queue some tasks using the form on the left!</div>
|
<div class="empty-state">No pending tasks. Queue some tasks using the form on the left!</div>
|
||||||
<?php else: ?>
|
<?php else: ?>
|
||||||
@@ -802,7 +802,7 @@ $scrapedResults = json_decode(file_get_contents(RESULTS_FILE), true);
|
|||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="list-container">
|
<div id="results-list-container" class="list-container">
|
||||||
<?php if (count($scrapedResults) === 0): ?>
|
<?php if (count($scrapedResults) === 0): ?>
|
||||||
<div class="empty-state">No scraping results recorded yet. Results will appear here when the Android bot submits them.</div>
|
<div class="empty-state">No scraping results recorded yet. Results will appear here when the Android bot submits them.</div>
|
||||||
<?php else: ?>
|
<?php else: ?>
|
||||||
@@ -865,16 +865,49 @@ $scrapedResults = json_decode(file_get_contents(RESULTS_FILE), true);
|
|||||||
document.querySelectorAll('.tab-btn').forEach(btn => btn.classList.remove('active'));
|
document.querySelectorAll('.tab-btn').forEach(btn => btn.classList.remove('active'));
|
||||||
document.querySelectorAll('.tab-content').forEach(content => content.classList.remove('active'));
|
document.querySelectorAll('.tab-content').forEach(content => content.classList.remove('active'));
|
||||||
|
|
||||||
// Add active class to selected tab button
|
|
||||||
const buttons = document.querySelectorAll('.tab-btn');
|
|
||||||
if (tabId === 'tasks') {
|
if (tabId === 'tasks') {
|
||||||
buttons[0].classList.add('active');
|
document.getElementById('tab-btn-tasks').classList.add('active');
|
||||||
document.getElementById('tasks-tab').classList.add('active');
|
document.getElementById('tasks-tab').classList.add('active');
|
||||||
} else {
|
} else {
|
||||||
buttons[1].classList.add('active');
|
document.getElementById('tab-btn-results').classList.add('active');
|
||||||
document.getElementById('results-tab').classList.add('active');
|
document.getElementById('results-tab').classList.add('active');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Auto refresh dashboard data every 3 seconds
|
||||||
|
setInterval(() => {
|
||||||
|
fetch(window.location.href)
|
||||||
|
.then(response => response.text())
|
||||||
|
.then(html => {
|
||||||
|
const parser = new DOMParser();
|
||||||
|
const doc = parser.parseFromString(html, 'text/html');
|
||||||
|
|
||||||
|
const newTasksBtn = doc.getElementById('tab-btn-tasks');
|
||||||
|
const newTasksList = doc.getElementById('tasks-list-container');
|
||||||
|
const currentTasksBtn = document.getElementById('tab-btn-tasks');
|
||||||
|
const currentTasksList = document.getElementById('tasks-list-container');
|
||||||
|
|
||||||
|
if (newTasksBtn && currentTasksBtn) {
|
||||||
|
currentTasksBtn.innerHTML = newTasksBtn.innerHTML;
|
||||||
|
}
|
||||||
|
if (newTasksList && currentTasksList) {
|
||||||
|
currentTasksList.innerHTML = newTasksList.innerHTML;
|
||||||
|
}
|
||||||
|
|
||||||
|
const newResultsBtn = doc.getElementById('tab-btn-results');
|
||||||
|
const newResultsList = doc.getElementById('results-list-container');
|
||||||
|
const currentResultsBtn = document.getElementById('tab-btn-results');
|
||||||
|
const currentResultsList = document.getElementById('results-list-container');
|
||||||
|
|
||||||
|
if (newResultsBtn && currentResultsBtn) {
|
||||||
|
currentResultsBtn.innerHTML = newResultsBtn.innerHTML;
|
||||||
|
}
|
||||||
|
if (newResultsList && currentResultsList) {
|
||||||
|
currentResultsList.innerHTML = newResultsList.innerHTML;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch(err => console.error('Failed to fetch updates', err));
|
||||||
|
}, 3000);
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Reference in New Issue
Block a user