feat(player): watched controls, compact layout, description popover

- Watched: an explicit toggle in the modal (Mark watched / Watched→unmark) plus
  auto-mark when playback reaches the end (within 10s, or on the ended event).
- Compact layout: drop the header bar and the redundant 'Open on YouTube' button
  (the embed's own YouTube logo already jumps out); Close moves to the title row,
  channel + meta share one line — fits without a scrollbar at higher zoom.
- Card actions reflect status: watched shows a double-check, saved a filled
  bookmark, with matching tooltips.
- Description: new GET /api/videos/{id} exposes the already-stored description,
  shown in a popover when hovering the modal title (fetched lazily).
This commit is contained in:
npeter83 2026-06-12 17:39:01 +02:00
parent 9332420ddf
commit 22126d54b7
5 changed files with 161 additions and 60 deletions

View file

@ -139,7 +139,11 @@ export default function Feed({
</div>
)}
{activeVideo && (
<PlayerModal video={activeVideo} onClose={() => setActiveVideo(null)} />
<PlayerModal
video={activeVideo}
onClose={() => setActiveVideo(null)}
onState={onState}
/>
)}
<div ref={sentinel} className="h-10" />
{isFetchingNextPage && (