From 468ee3c4dc005a139ea2b8ac157c61d0ee4422d9 Mon Sep 17 00:00:00 2001 From: Ben Sima Date: Sun, 16 Nov 2025 03:57:51 -0500 Subject: Add admin metrics dashboard - Added Core.Database.get_metrics_summary() for aggregate stats - Added Core.Database.get_episode_metric_events() for raw event data - Created MetricsDashboard component with summary cards and top episodes tables - Added /admin/metrics route with admin authentication - Added metrics link to admin dropdown menu - Added comprehensive tests for metrics functionality - Fixed type errors in Admin.py by adding MetricCardAttrs - All tests passing (48 tests total in Web.py) - Completed epic t-ga8V8O (24/24 tasks) --- Biz/PodcastItLater/UI.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'Biz/PodcastItLater/UI.py') diff --git a/Biz/PodcastItLater/UI.py b/Biz/PodcastItLater/UI.py index 57d0f33..009fdbe 100644 --- a/Biz/PodcastItLater/UI.py +++ b/Biz/PodcastItLater/UI.py @@ -263,6 +263,20 @@ class PageLayout(Component[AnyChildren, PageLayoutAttrs]): classes=["dropdown-item"], ), ), + html.li( + html.a( + html.i( + classes=[ + "bi", + "bi-graph-up", + "me-2", + ], + ), + "Metrics", + href="/admin/metrics", + classes=["dropdown-item"], + ), + ), classes=["dropdown-menu"], aria_labelledby="adminDropdown", ), -- cgit v1.2.3