feat: implement video likes and play tracking UI
Video Detail Page (/videos/[slug]): - Load like status from server on page load - Add functional like button with heart icon - Show likes count with real-time updates - Track video plays when user clicks play - Record watch progress every 10 seconds - Mark video as completed at 90% watched - Show toast notifications for like/unlike actions - Require authentication to like videos Video Listing Page (/videos): - Display play count badge on video thumbnails - Show play icon with count in top-right corner Features: - Like/unlike videos with live count updates - Play tracking with analytics data - Progress tracking for completion metrics - Authentication-gated liking functionality - User-friendly toast feedback All UI components working and integrated with backend API
This commit is contained in:
@@ -238,13 +238,15 @@ const filteredVideos = $derived(() => {
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<!-- Views -->
|
||||
<!-- <div
|
||||
class="absolute top-3 right-3 bg-black/70 text-white text-xs px-2 py-1 rounded-full flex items-center gap-1"
|
||||
>
|
||||
<EyeIcon class="w-3 h-3" />
|
||||
{video.views}
|
||||
</div> -->
|
||||
<!-- Play Count -->
|
||||
{#if video.plays_count}
|
||||
<div
|
||||
class="absolute top-3 right-3 bg-black/70 text-white text-xs px-2 py-1 rounded-full flex items-center gap-1"
|
||||
>
|
||||
<span class="icon-[ri--play-fill] w-3 h-3"></span>
|
||||
{video.plays_count}
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<!-- Play Overlay -->
|
||||
<a
|
||||
|
||||
Reference in New Issue
Block a user