import { app } from '../router.js';
import { showToast } from '../api.js';
export async function renderSettings() {
app.innerHTML = `
Data Retention
Delete events older than the specified number of days. This runs automatically every 24 hours. Currently configured via RETENTION_DAYS environment variable (default: 30 days).
`;
document.getElementById('run-retention-btn')?.addEventListener('click', async () => {
const days = parseInt(document.getElementById('retention-days').value, 10);
if (!days || days < 1) { showToast('Enter a valid number of days', 'error'); return; }
const btn = document.getElementById('run-retention-btn');
btn.disabled = true;
btn.textContent = 'Running…';
try {
const resp = await fetch('/api/v1/admin/retention', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ days }),
});
const data = await resp.json();
if (!resp.ok) throw new Error(data.error || 'Request failed');
const result = document.getElementById('retention-result');
if (result) result.innerHTML = `Deleted ${data.deleted} events older than ${new Date(data.cutoff).toLocaleDateString()}.`;
showToast(`Deleted ${data.deleted} events`, 'success');
} catch (e) {
showToast('Retention failed: ' + e.message, 'error');
} finally {
btn.disabled = false;
btn.textContent = 'Run Now';
}
});
}