Merge watch profiles into user accounts — one profile per login, no picker

- Removed the "Who's Watching" sub-profile picker entirely: ProfileProvider now
  auto-resolves the single profile tied to the account immediately after login
- Backend: removed POST/DELETE /profiles (no more creating/deleting extra
  profiles — lifecycle is entirely driven by user create/delete, already wired
  in the admin Users CRUD); kept GET (internal) and PATCH (edit your own
  profile's avatar/kids-mode/rating cap)
- Deleted ProfileSelect page and the now-unused ProtectedRoute component
- Navbar: removed the "switch profile" action, account avatar is now just a
  static display
- api.js: dropped the now-dead X-Profile-Id header logic (backend already
  falls back to the account's single profile when the header is absent)
This commit is contained in:
Myron Blair
2026-07-26 19:40:12 -05:00
parent 5b191da471
commit f7626ced2e
8 changed files with 22 additions and 262 deletions
+1 -8
View File
@@ -47,17 +47,10 @@ class AdminUserUpdate(BaseModel):
password: Optional[str] = None
# ---------- Profiles ("Who's Watching") ----------
# ---------- Profile (1:1 with account) ----------
RATING_ORDER = ["G", "PG", "PG-13", "R", "NR"]
class ProfileCreate(BaseModel):
name: str
avatar_color: str = "#D9381E"
is_kids: bool = False
max_rating: str = "NR" # one of RATING_ORDER
class ProfileUpdate(BaseModel):
name: Optional[str] = None
avatar_color: Optional[str] = None