Authentication service for managing user data and favorite lists.
Output event emitted when the close/back button of the video player is clicked. Carries a boolean value representing the close state.
Output event emitted after a favorite video action (add/remove) completes. Used to notify parent components to refresh favorite lists.
Signal indicating whether the current video is in the user's favorites.
The currently authenticated user object.
Input signal providing the current video to be displayed or played.
Signal holding the ID of the current video.
Service handling video progress tracking (save/load playback position).
Service for adjusting and optimizing video playback quality.
Service responsible for managing video metadata and favorite operations.
Returns the full image URL for the video thumbnail, if available.
The image URL or an empty string if not set.
Handles the back/close button click from the player view.
Emits closeVideoClick event to inform the parent component to close the player overlay.
Boolean indicating whether to close the video player.
Lifecycle hook.
After the view initializes, checks whether the current video is part of the user's favorites and updates state accordingly.
Lifecycle hook.
Saves the user's video progress when the component is destroyed and resets internal tracking state.
Lifecycle hook.
Initializes video context:
Handles adding or removing a video from favorites.
Sends a request to the backend and updates the user's favorite list.
Emits favoriteVideosUpdated event when the action completes.
The ID of the video to add or remove from favorites.
Updates the current playback time in the VideoProgressService.
The current playback time in seconds.
Video Item component.
Represents a single video element, including player control, favorite functionality, playback progress, and quality optimization.
Responsibilities:
Selector:
app-video-itemStandalone:true