180 Commits

Author SHA1 Message Date
Yiannis Christodoulou
24e9fb4e40 Keep progress bar always visible in VideoJSPlayer
Updated the logic to ensure the progress bar remains visible even when the control bar is hidden, except for embed players where it is hidden with controls. Also cleaned up hls_info mock data and improved initial progress bar visibility handling.
2025-10-11 02:38:49 +03:00
Yiannis Christodoulou
f787087531 Improve mobile responsiveness for settings and chapters
Adds mobile-first responsive CSS for the custom settings menu and chapters overlay, including adaptive sizing, touch-friendly interactions, and prevention of body scroll when overlays are open. Updates CustomSettingsMenu.js to detect mobile devices, handle touch events for menu items, and manage scroll locking and haptic feedback for a better mobile user experience.
2025-10-11 01:48:26 +03:00
Yiannis Christodoulou
8eb196bf74 Improve mobile UX for chapters overlay and add chapters
Enhanced the CustomChaptersOverlay component and CSS for a more responsive, touch-friendly mobile experience, including haptic feedback, scroll optimizations, and body scroll locking. Updated SubtitlesButton indicator for better alignment. Added multiple new chapters to the sample video in VideoJSPlayer.jsx for richer navigation.
2025-10-11 01:35:38 +03:00
Yiannis Christodoulou
ab96f33bf3 Enable and refine mobile play/pause touch handling
Uncomments and activates the setupMobilePlayPause function to improve mobile play/pause behavior. Removes unnecessary console.log statements and refactors the play/pause logic for clarity.
2025-10-11 01:00:00 +03:00
Yiannis Christodoulou
26cf9241c4 Show icons (play/pause/next/prev) on touch devices as we dont use native browser 2025-10-11 00:58:22 +03:00
Yiannis Christodoulou
e9431d8191 Disable touch device check in SeekIndicator show method
Commented out the early return for touch devices in the SeekIndicator's show method, allowing the indicator to display regardless of device type. This may be for testing or to support custom controls on touch devices.
2025-10-11 00:44:42 +03:00
Yiannis Christodoulou
27a6ab0755 Update video player config and progress bar visibility
Renamed 'hls_info' to '_hls_info' in mock data and restored an empty 'hls_info' object. Changed 'useRoundedCorners' to false. Added a console log for 'autoplayHandler'. Modified progress bar visibility logic to always hide initially, regardless of embed player status.
2025-10-11 00:26:26 +03:00
Yiannis Christodoulou
4642cae94b Improve autoplay handling for Firefox compatibility
Adds Firefox-specific detection and logic to the AutoplayHandler to better handle autoplay restrictions in Firefox. This includes user gesture detection, delayed playback attempts, custom error handling, and user notifications to prompt interaction for enabling playback and sound. The changes ensure a more reliable autoplay experience across browsers, especially addressing Firefox's stricter autoplay policies.
2025-10-11 00:17:02 +03:00
Yiannis Christodoulou
de258e8f73 Update submenu header label to 'Captions'
Changed the submenu header text from 'Subtitles/CC' to 'Captions' for consistency and clarity in the CustomSettingsMenu component.
2025-10-10 11:10:26 +03:00
Yiannis Christodoulou
76e85d2577 Improve subtitles menu and button behavior in VideoJS
Adds direct access to the subtitles submenu from the subtitles button, updates the button's active state based on subtitle selection, and dispatches a custom event on subtitle state changes. Also cleans up unused static video.js files and enables the SubtitlesButton CSS.
2025-10-10 11:06:13 +03:00
Yiannis Christodoulou
fef43efaa9 Refactor video player tooltips and remove static assets
Moved tooltip logic for custom video player controls (autoplay, next video, settings) into VideoJSPlayer.jsx, removing direct 'title' attributes from button components. Improved dynamic tooltip updates for the autoplay toggle. Removed unused static video_js CSS and JS assets.
2025-10-10 10:46:31 +03:00
Yiannis Christodoulou
816135266c Skip empty tooltips 2025-10-10 10:30:29 +03:00
Yiannis Christodoulou
4bec15fad5 Remove debug console.log statements from VideoJSPlayer
Eliminated multiple console.log statements used for debugging in the VideoJSPlayer component to clean up the code and reduce unnecessary console output.
2025-10-10 09:39:18 +03:00
Yiannis Christodoulou
5da377a8a5 Make control bar spacer fully transparent
Updated the spacer element in the video player's control bar to be fully transparent and non-interactive by setting background, border, outline, boxShadow, opacity, and pointerEvents styles. This ensures the spacer does not affect the visual appearance or user interaction.
2025-10-10 09:36:23 +03:00
Yiannis Christodoulou
d8cfc8be7b build assets 2025-10-10 09:31:48 +03:00
Yiannis Christodoulou
9a6f2b1394 Improve video player button styles and focus handling
Added pointer cursor to video player buttons for better UX. Updated focus styles to ensure the video player is focusable without showing an outline.
2025-10-10 09:18:33 +03:00
Yiannis Christodoulou
b2279f73f6 Enable user actions and update progress bar styles
Uncommented and enabled click, tap, and doubleClick user actions in VideoJSPlayer. Adjusted progress bar margin and padding for improved layout. Cleaned up VideoJSPlayerRoundedCorners.css by removing commented-out gradient overlay and related styles.
2025-10-10 09:11:40 +03:00
Yiannis Christodoulou
f000b4433b Update playerConfig.js 2025-10-10 02:02:01 +03:00
Yiannis Christodoulou
7a7d58e680 Set width for NextVideoButton in video controls
Added an explicit width of 2.5em to the NextVideoButton to ensure consistent sizing in the video player controls.
2025-10-10 01:59:18 +03:00
Yiannis Christodoulou
73a89c72df Ensure remaining time is always visible in VideoJS
Updated CSS to force .custom-remaining-time and .vjs-remaining-time elements to be visible and displayed as flex on all screen sizes. This ensures the remaining time display is consistently shown regardless of responsive layout or device.
2025-10-10 01:56:06 +03:00
Yiannis Christodoulou
115af7497b build assets 2025-10-10 01:45:47 +03:00
Yiannis Christodoulou
e1108a9ba6 Support moved progress control in markers and sprite preview
Updated ChapterMarkers and SpritePreview components to locate the progress control even if it has been moved out of the control bar, using a reference stored in customComponents. Also updated VideoJSPlayer to store customComponents on the player instance for easier access by child components.
2025-10-10 01:39:33 +03:00
Yiannis Christodoulou
59f65bdd21 Refine progress bar positioning and styling in VideoJSPlayer
Enhanced the logic for moving and styling the progress bar relative to the control bar, including improved style resets and visibility transitions. Updated the default non-touch progress bar position from 'top' to 'bottom' in playerConfig.js for a more native touch style experience.
2025-10-10 01:20:09 +03:00
Yiannis Christodoulou
4acdec7474 Adjust control bar font size for touch devices
Added a separate mobileFontSize to PlayerConfig and updated AutoplayToggleButton, NextVideoButton, and VideoJSPlayer to use a smaller font size for control bar icons and text on touch devices. This improves UI consistency and usability across device types.
2025-10-10 01:01:23 +03:00
Yiannis Christodoulou
9896eb0376 Refactor control and progress bar styling logic
Removed unnecessary setTimeouts for applying control bar and progress bar styles, applying them synchronously instead. Updated playerConfig to set nonTouchPosition to 'top' and touchPosition to 'bottom'. Added initial sync for progress bar visibility.
2025-10-10 00:36:14 +03:00
Yiannis Christodoulou
d925bd0b5d Hide progress bar until video starts playing
Updated VideoJSPlayer to initially hide the progress bar and only show it when the video starts playing or seeking. Also commented out fixed positioning for the control bar in embed.css, likely to adjust control bar behavior for embedded players.
2025-10-10 00:26:01 +03:00
Yiannis Christodoulou
bf27cbf559 Disable touch tooltip support for standard buttons
Commented out the call to addTouchTooltipSupport in enableStandardButtonTooltips, removing touch tooltip support for standard video player buttons. This may be to address issues with tooltip behavior on mobile devices.
2025-10-10 00:19:10 +03:00
Yiannis Christodoulou
523ae2e736 Fix progress bar spacer for touch devices
Update condition to add the progress bar spacer when on touch devices, ensuring correct UI behavior regardless of nonTouchPosition setting.
2025-10-10 00:14:46 +03:00
Yiannis Christodoulou
09c643b6b1 Remove unused control bar items from VideoJSPlayer
Eliminated several control bar components such as playToggle, currentTimeDisplay, timeDivider, durationDisplay, and fullscreenToggle from the VideoJSPlayer configuration to streamline the player UI.
2025-10-09 18:32:20 +03:00
Yiannis Christodoulou
acdf11d597 Refactor progress bar styling and update config
Progress bar color styling is now always applied, not just for custom positions, by moving the relevant code outside the position check. Updated playerConfig.js to set touchPosition to 'top' and fixed the control bar backgroundColor value.
2025-10-09 18:03:46 +03:00
Yiannis Christodoulou
bdfb218b75 Use dynamic font size for NextVideoButton icon
Replaces the hardcoded SVG width and height in NextVideoButton with values from PlayerConfig.controlBar.fontSize, allowing the icon size to be configured dynamically.
2025-10-09 16:34:50 +03:00
Yiannis Christodoulou
15c85c1c10 Refactor progress bar positioning for touch and non-touch devices
Updated VideoJSPlayer to determine progress bar position based on device type, using separate config options for touch and non-touch devices. PlayerConfig now has 'nonTouchPosition' and 'touchPosition' instead of a single 'position' property. Also set nativeControlsForTouch to false for consistent custom controls.
2025-10-09 16:34:19 +03:00
Yiannis Christodoulou
3031a04914 Make autoplay toggle icon size dynamic
Updated AutoplayToggleButton to set SVG icon size based on PlayerConfig.controlBar.fontSize. Also changed the default fontSize in playerConfig from 26 to 16 for better scaling.
2025-10-09 15:49:33 +03:00
Yiannis Christodoulou
9c4aeb3134 Refactor player controls and progress bar layout
Moved native controls and progress bar positioning logic to PlayerConfig for better configurability. Separated control bar styling from progress bar layout, allowing independent application of styles. Added a spacer to the control bar to improve button alignment when the progress bar is repositioned. Cleaned up legacy code and improved maintainability.
2025-10-09 15:42:48 +03:00
Yiannis Christodoulou
9ada2cb8c9 Add configurable control bar styles to VideoJSPlayer
Introduced a new controlBar configuration in playerConfig.js to allow customization of control bar background color, height, and font size. Updated VideoJSPlayer.jsx to apply these styles dynamically, including line height for time controls.
2025-10-09 14:38:00 +03:00
Yiannis Christodoulou
40816e6a12 Add centralized video player configuration file
Introduces playerConfig.js to centralize video player customization options, including progress bar position and color settings.
2025-10-09 13:51:24 +03:00
Yiannis Christodoulou
ea3cdda18c Refactor progress bar placement and controls in VideoJSPlayer
Moved the progress bar below the control bar for a native touch style, with configurable positioning and styling via PlayerConfig. Removed the TestButton and related code, and updated user action options to comment out click, tap, and doubleClick behaviors. Improved progress bar visibility handling based on user activity and cleaned up related event listeners.
2025-10-09 13:51:16 +03:00
Yiannis Christodoulou
c4a3e3f383 try vertical video 2025-10-06 19:15:02 +03:00
Yiannis Christodoulou
67bc60066c Revert "Add dark background for embed video player"
This reverts commit 59cba4803b4600b609da611096f4747000673249.
2025-10-06 19:14:26 +03:00
Yiannis Christodoulou
59cba4803b Add dark background for embed video player
Introduces a utility to set a black background and remove margins/padding for embed contexts in main.jsx, improving visual consistency for embedded video players. Also updates embed.css to enforce a black background for the embed page.
2025-10-06 18:29:16 +03:00
Yiannis Christodoulou
6dae2e616e Sync EmbedInfoOverlay visibility with control bar
Updated the overlay's visibility logic to match the control bar's visibility, showing the overlay when the user is active, video is paused, ended, or hasn't started. Adjusted CSS transition to include visibility for smoother appearance changes.
2025-10-06 18:17:37 +03:00
Yiannis Christodoulou
b70c938d83 Make embed player control bar sticky at bottom
Added CSS rules to position the embed player's control bar fixed at the bottom of the window, ensuring it remains visible and accessible regardless of scroll position.
2025-10-06 18:11:32 +03:00
Yiannis Christodoulou
9a86398398 Adjust tooltip positioning for settings button
Updated the CSS for the video-js settings button tooltip to align it to the right and apply a horizontal transform. Also removed commented-out code for last-child control tooltip positioning.
2025-10-06 17:55:00 +03:00
Yiannis Christodoulou
1473c2a057 Update ButtonTooltips.css 2025-10-06 17:46:28 +03:00
Yiannis Christodoulou
1c5f06cf5e Remove custom background styling from progress bar
Eliminated inline background color styles for the progressControl and its holder in EndScreenHandler. This change relies on default or external styles for a cleaner implementation.
2025-10-06 17:45:39 +03:00
Yiannis Christodoulou
c5db3720ad Fix tooltip alignment for last control button
Adjusts the tooltip positioning for the last button in the video.js control bar by setting 'right: 0' and 'left: auto' to ensure proper alignment.
2025-10-06 17:38:31 +03:00
Yiannis Christodoulou
ae3b013188 Remove console error for muted autoplay block
Commented out the console.error statement that logged muted autoplay block errors to reduce unnecessary console output.
2025-10-06 17:19:59 +03:00
Yiannis Christodoulou
d29c415d64 Remove focus outline from video player buttons
Added CSS to disable the default focus outline on .vjs-button elements for improved visual appearance.
2025-10-06 17:19:51 +03:00
Yiannis Christodoulou
26c2413f12 Add SVG icons to AutoplayToggleButton
Replaces font icon classes with inline SVG icons for the autoplay toggle button, providing distinct icons for ON and OFF states. Updates CSS for SVG sizing and removes focus outlines for improved appearance and accessibility.
2025-10-06 17:12:59 +03:00
Yiannis Christodoulou
e65954f391 Refactor embed player styles and overlay behavior
Simplifies and updates embed player CSS for YouTube-style fullscreen poster and video display, moving legacy styles to embed_OLD.css. Refines overlay visibility logic in EmbedInfoOverlay for more accurate YouTube-like behavior, and ensures embed styles are imported in VideoJSPlayer. Updates HTML to enforce full-viewport sizing and overflow handling for embedded player.
2025-10-06 13:57:54 +03:00