feat: add analytics summary API, dashboard page with stats grid, and blog post detail page.

This commit is contained in:
Timo
2026-01-02 18:40:51 +01:00
parent 0302821f0f
commit d0a114c1c3
4 changed files with 51 additions and 18 deletions

View File

@@ -218,12 +218,13 @@ export default function DashboardPage() {
// Calculate real stats
const totalScans = data.reduce((sum: number, qr: QRCodeData) => sum + (qr.scans || 0), 0);
const activeQRCodes = data.filter((qr: QRCodeData) => qr.status === 'ACTIVE').length;
const conversionRate = activeQRCodes > 0 ? Math.round((totalScans / (activeQRCodes * 100)) * 100) : 0;
// Calculate "Unique Rate" (Conversion)
const conversionRate = totalScans > 0 ? Math.round((data.reduce((acc: number, qr: any) => acc + (qr.uniqueScans || 0), 0) / totalScans) * 100) : 0;
setStats({
totalScans,
activeQRCodes,
conversionRate: Math.min(conversionRate, 100), // Cap at 100%
conversionRate,
});
} else {
// If not logged in, show zeros