summaryrefslogtreecommitdiff
path: root/Biz/PodcastItLater/UI.py
diff options
context:
space:
mode:
authorBen Sima <ben@bsima.me>2025-11-16 03:57:51 -0500
committerBen Sima <ben@bsima.me>2025-11-16 03:57:51 -0500
commit468ee3c4dc005a139ea2b8ac157c61d0ee4422d9 (patch)
tree3fa6b33194187237bfe19bce9b5eb86175925166 /Biz/PodcastItLater/UI.py
parentf74ee8bc380f07e597b638a719e7bbfe9461a031 (diff)
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)
Diffstat (limited to 'Biz/PodcastItLater/UI.py')
-rw-r--r--Biz/PodcastItLater/UI.py14
1 files changed, 14 insertions, 0 deletions
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",
),