Overview
Jefftube organizes videos into playlists based on the camera location or type of footage. Playlists provide a curated viewing experience, allowing you to watch related videos sequentially.Playlist Organization
Videos are automatically grouped into playlists based on theirplaylist field in the database:
Example Playlists
Elevator Cam
Videos recorded from elevator security cameras
Lobby Cam
Footage from lobby and entrance areas
Other Collections
Additional categorized video groups
Some videos may not belong to any playlist and appear as standalone content on the channel page.
Viewing Playlists
From the Channel Page
Navigate to Playlists Tab
On the main channel page, click the Playlists tab (next to the Videos tab).
Browse Playlist Cards
Each playlist is displayed as a card showing:
- Thumbnail from the first video
- Playlist name (formatted with title case)
- Video count
- Total duration of all videos
Playlist Card Interface
Playlist Video Page
When you click a playlist or a video within a playlist, you’re taken to the playlist video page at/playlist/:playlistId/:videoId.
Playlist Sidebar
The playlist video page features a dedicated sidebar that shows:Playlist Header
- Playlist name (e.g., “Elevator Cam”)
- Channel name: “Jeffery Epstein”
- Current position (e.g., “5/23”)
- “Play all” button
- Total video count and duration
Video List
Scrollable list of all videos in the playlist with:
- Sequential numbering (or play icon for current video)
- Thumbnail preview
- Video title
- Duration badge
- Channel name
Playlist Sidebar Layout
Current Video Indicator
The currently playing video is highlighted in the playlist:- Active State
- Hover State
- Background color changes to tertiary
- Play icon (▶) replaces the number
- Title remains in primary text color
Navigating Within Playlists
Sequential Navigation
Play All Feature
Click the Play all button in the playlist header to:- Navigate to the first video in the playlist
- Start playback immediately
- Allow sequential watching through the entire collection
Playlist Name Formatting
Playlist IDs use kebab-case (e.g.,elevator-cam), which are automatically formatted to title case for display:
Why separate ID and display name?
Why separate ID and display name?
Using kebab-case IDs keeps URLs clean and URL-safe, while the formatting function provides user-friendly display names. This separation allows for easy changes to display names without breaking URLs.
Playlist Metadata
Each playlist automatically calculates:Video Count
Total Duration
Duration calculations happen in real-time based on the videos currently in the playlist, so the total always reflects the current state.
Playlist Video Cards
Each video in the playlist sidebar displays:Responsive Behavior
Mobile View
On mobile devices (< 1024px):- Playlist sidebar appears below the video player
- Full width layout
- Scrollable video list maintains 600px max height
Desktop View
On larger screens (≥ 1024px):- Playlist sidebar fixed at 400px width
- Positioned to the right of the video player
- Video player flexes to fill remaining space
Comments in Playlist Context
When watching from a playlist:- Comments are video-specific, not playlist-specific
- Each video maintains its own comment thread
- Switching videos in the playlist loads that video’s comments
Comments always reference the individual video, regardless of whether you accessed it from a playlist or directly. This ensures consistency across different entry points.
Playlist Generation
Playlists are dynamically generated from the video database:This approach means playlists automatically update when videos are added or removed from the database. No manual playlist management is required.