Add null guards for textContent assignments in index.php KPI section

This commit is contained in:
2026-05-26 23:44:39 +02:00
parent 88b6da83e5
commit 93cc17e63f
+16 -15
View File
@@ -69,21 +69,22 @@ require_once __DIR__ . '/../includes/layout_dashboard.php';
const api = window.DBN_DASHBOARD.apiBase;
const loc = I18N.locale || 'en-GB';
document.getElementById('kpiLabelDocs').textContent = I18N.kpi_docs || 'Documents';
document.getElementById('kpiHintQuota').textContent = I18N.kpi_of_quota || 'of quota';
document.getElementById('kpiLabelChunks').textContent = I18N.kpi_chunks || 'Passages indexed';
document.getElementById('kpiHintSearchable').textContent = I18N.kpi_searchable || 'searchable pieces';
document.getElementById('kpiLabelReady').textContent = I18N.kpi_ready || 'Ready';
document.getElementById('kpiHintTotal').textContent = I18N.kpi_of_total || 'of total';
document.getElementById('kpiLabelLast').textContent = I18N.kpi_last || 'Last upload';
document.getElementById('kpiHintDate').textContent = I18N.kpi_date_label || 'date';
document.getElementById('getStartedTitle').textContent = I18N.get_started || 'Get started';
document.getElementById('recentTitle').textContent = I18N.recent_activity || 'Recent activity';
document.getElementById('btnUpload').textContent = I18N.upload_docs_btn || '📥 Upload documents';
document.getElementById('btnAsk').textContent = I18N.ask_btn || '💬 Ask a legal question';
document.getElementById('btnBrowse').textContent = I18N.browse_btn || '📚 Browse corpus';
document.getElementById('btnSeeAll').textContent = I18N.see_all || 'See all →';
document.getElementById('dashRecent').textContent = I18N.loading || 'Loading…';
function txt(id, v) { const e = document.getElementById(id); if (e) e.textContent = v; }
txt('kpiLabelDocs', I18N.kpi_docs || 'Documents');
txt('kpiHintQuota', I18N.kpi_of_quota || 'of quota');
txt('kpiLabelChunks', I18N.kpi_chunks || 'Passages indexed');
txt('kpiHintSearchable', I18N.kpi_searchable || 'searchable pieces');
txt('kpiLabelReady', I18N.kpi_ready || 'Ready');
txt('kpiHintTotal', I18N.kpi_of_total || 'of total');
txt('kpiLabelLast', I18N.kpi_last || 'Last upload');
txt('kpiHintDate', I18N.kpi_date_label || 'date');
txt('getStartedTitle', I18N.get_started || 'Get started');
txt('recentTitle', I18N.recent_activity || 'Recent activity');
txt('btnUpload', I18N.upload_docs_btn || '📥 Upload documents');
txt('btnAsk', I18N.ask_btn || '💬 Ask a legal question');
txt('btnBrowse', I18N.browse_btn || '📚 Browse corpus');
txt('btnSeeAll', I18N.see_all || 'See all →');
txt('dashRecent', I18N.loading || 'Loading…');
function fmtDate(s) {
if (!s) return '—';