Add per-user detail pages with activity chart and request history
Each user in the leaderboard links to a profile page showing stat cards, a line chart (requests / storage / watch hours, 1W–1Y timeframes, raw or normalized, plus a Storage Load mode), and a full request history sorted newest-first. Includes Overseerr media status codes (1–5), Tautulli watch history aggregation, and a server-side raw cache so the user API route can enrich requests without re-fetching everything. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -9,6 +9,8 @@ Built with Next.js 16, TypeScript, and Tailwind CSS.
|
||||
## Features
|
||||
|
||||
- **Leaderboard** — per-user request count, total storage, average GB per request, and optional Tautulli watch stats (plays, watch hours), each ranked against the full userbase
|
||||
- **User detail pages** — click any user in the leaderboard to see their full profile: stat cards, an activity chart with 1W/1M/3M/1Y timeframes, and a complete request history sorted newest-first
|
||||
- **Activity chart** — two modes: *Metrics* (requests, storage GB, watch hours as separate toggleable lines, with a Raw/Relative normalization toggle) and *Storage Load* (GB requested ÷ watch hours per bucket, with an all-time average reference line)
|
||||
- **Alerting** — automatic alerts for stalled downloads, neglected requesters, and abusive patterns, with open/close state, notes, and auto-resolve when conditions clear
|
||||
- **Discord notifications** — posts a structured embed to a webhook whenever a new alert opens or a resolved one returns
|
||||
- **Settings UI** — configure all service URLs and API keys from the dashboard; no need to touch `.env.local` after initial setup
|
||||
|
||||
Reference in New Issue
Block a user