// Auto-refresh dashboard data
setInterval(updateStatus, 30000); // Every 30 seconds
async function updateStatus() {
try {
const response = await fetch('/api/status');
const data = await response.json();
// Update daemon status
document.getElementById('daemon-status').innerHTML = `
Status:
${data.daemon.running ? 'Running' : 'Stopped'}
Next Run: ${data.daemon.next_run || 'Not scheduled'}
Schedule: ${data.daemon.schedule || 'Not configured'}
`;
// Update recent logs
const logsHtml = data.recent_logs.map(log => `
${log.timestamp}
${log.status}
${log.operation}: ${log.message || ''}
`).join('');
document.getElementById('recent-logs').innerHTML = logsHtml;
} catch (error) {
console.error('Failed to update status:', error);
}
}
async function triggerSync() {
try {
await fetch('/api/sync/trigger', { method: 'POST' });
alert('Sync triggered successfully');
updateStatus();
} catch (error) {
alert('Failed to trigger sync');
}
}
// Initialize on page load
document.addEventListener('DOMContentLoaded', updateStatus);
async function toggleDaemon() {
// TODO: Implement daemon toggle functionality
alert('Daemon toggle functionality not yet implemented');
}