feat(dashboard): add country distribution bar chart using Chart.js
This commit is contained in:
@@ -397,6 +397,13 @@ def dashboard(request: Request, user: User = Depends(get_current_user_web), db:
|
||||
else:
|
||||
sent_pct = delivered_pct = received_pct = 0
|
||||
|
||||
# country stats
|
||||
country_counts: dict[str, int] = {}
|
||||
for c in all_cards:
|
||||
if c.country:
|
||||
country_counts[c.country] = country_counts.get(c.country, 0) + 1
|
||||
country_stats = sorted(country_counts.items(), key=lambda x: -x[1])
|
||||
|
||||
from datetime import datetime, timezone as _tz
|
||||
|
||||
return templates.TemplateResponse("dashboard.html", {
|
||||
@@ -404,6 +411,7 @@ def dashboard(request: Request, user: User = Depends(get_current_user_web), db:
|
||||
"total": total, "sent": sent, "delivered": delivered, "received": received,
|
||||
"countries": countries, "recent": recent,
|
||||
"sent_pct": sent_pct, "delivered_pct": delivered_pct, "received_pct": received_pct,
|
||||
"country_stats": country_stats,
|
||||
"now": datetime.now(_tz.utc),
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user