diff --git a/frontend-tools/video-js/src/components/controls/CustomSettingsMenu.js b/frontend-tools/video-js/src/components/controls/CustomSettingsMenu.js index 054cd86c..28edd5d0 100644 --- a/frontend-tools/video-js/src/components/controls/CustomSettingsMenu.js +++ b/frontend-tools/video-js/src/components/controls/CustomSettingsMenu.js @@ -1,6 +1,7 @@ // components/controls/CustomSettingsMenu.js import videojs from 'video.js'; import './CustomSettingsMenu.css'; +import UserPreferences from '../../utils/UserPreferences'; // Get the Component base class from Video.js const Component = videojs.getComponent('Component'); @@ -12,6 +13,7 @@ class CustomSettingsMenu extends Component { this.settingsButton = null; this.settingsOverlay = null; this.speedSubmenu = null; + this.userPreferences = options?.userPreferences || new UserPreferences(); // Bind methods this.createSettingsButton = this.createSettingsButton.bind(this); @@ -64,18 +66,26 @@ class CustomSettingsMenu extends Component { this.settingsOverlay = document.createElement('div'); this.settingsOverlay.className = 'custom-settings-overlay'; + // Get current preferences for display + const currentPlaybackRate = this.userPreferences.getPreference('playbackRate'); + const currentQuality = this.userPreferences.getPreference('quality'); + + // Format playback rate for display + const playbackRateLabel = currentPlaybackRate === 1 ? 'Normal' : `${currentPlaybackRate}`; + const qualityLabel = currentQuality.charAt(0).toUpperCase() + currentQuality.slice(1); + // Settings menu content this.settingsOverlay.innerHTML = `
Settings
Playback speed - Normal + ${playbackRateLabel}
Quality - Auto + ${qualityLabel}
`; @@ -101,6 +111,9 @@ class CustomSettingsMenu extends Component { this.speedSubmenu = document.createElement('div'); this.speedSubmenu.className = 'speed-submenu'; + // Get current playback rate for highlighting + const currentRate = this.userPreferences.getPreference('playbackRate'); + this.speedSubmenu.innerHTML = `