UX: list view everywhere, mobile polish, affinity dismissal fix

- Default list view across all pages (Home, Following, History, Queue,
  ContinueWatching, Liked, Discovery, SearchResults, Channel)
- Watch.jsx mobile: smaller chips/title/avatar/meta, hide tags + keyboard
  hint on mobile, tighter gaps, compact description padding
- Fix mobile bottom nav showing focus outline on tap
- Fix _update_affinity to write negative entries (not just positive) so
  dislikes/dismissals on unseen content actually register
- Dismissing a discovery video now fires -3.0 affinity against its tags,
  matching the dislike weight

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Mattias Tall
2026-05-26 16:41:22 +02:00
parent fc05a40f02
commit 6f600c9a5c
13 changed files with 35 additions and 32 deletions

View File

@@ -37,8 +37,7 @@ def _update_affinity(db: Session, user_id: int, video: Video, delta: float):
existing.score = max(existing.score + delta, -20.0)
existing.updated_at = datetime.utcnow()
else:
if delta > 0:
db.add(UserTagAffinity(user_id=user_id, tag=tag, score=delta))
db.add(UserTagAffinity(user_id=user_id, tag=tag, score=delta))