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

@@ -34,14 +34,12 @@ export default function ContinueWatchingPage() {
) : (
<>
<p className="text-sm text-zinc-500 -mt-2">{videos.length} video{videos.length !== 1 ? "s" : ""} in progress</p>
<div className="grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-4 xl:grid-cols-5 gap-4">
<div className="flex flex-col gap-2">
{videos.map((v) => (
<VideoCard
key={v.youtube_video_id}
video={{
...v,
is_watched: false,
}}
video={{ ...v, is_watched: false }}
variant="list"
/>
))}
</div>