- Introduced a new theme selector component to allow users to select themes.
- Updated settings panel to include the theme selector.
- Created shared styles for device and theme selectors.
- Refactored existing audio and video device components to use shared styles.
- Enhanced storage service to manage theme preferences.
- Updated theme service to support classic theme alongside light and dark themes.
- Added translations for theme-related strings in multiple languages.
- Added THEME.md documentation detailing the theming system, including usage, service methods, and CSS variables reference.
- Created theme.scss with SCSS mixins for applying OpenVidu themes and integrating with Angular Material.
- Introduced theme.model.ts to define theme modes and variables.
- Developed theme.service.ts to manage theme switching, variable updates, and system theme detection.
- Updated public-api.ts to export new theme model and service.
- Enhanced styles.scss to incorporate OpenVidu theme integration with Angular Material.
- Added support for responsive theme detection based on system preferences.
- Introduced background effect feature with options for 'none', 'blur', 'office', and 'nature'.
- Enhanced error handling during device initialization with retry logic and user feedback.
- Updated participant name handling to trim whitespace and clear errors on input change.
style(audio-devices): refactor audio device selection UI
- Redesigned audio device selection to use buttons instead of dropdowns for better UX.
- Improved styling for audio toggle button and device selection menu.
style(video-devices): refactor video device selection UI
- Updated video device selection to use buttons for toggling camera and selecting devices.
- Enhanced styling for video toggle button and device selection menu.
style(lang-selector): improve language selection UI
- Redesigned language selector for better usability with compact and full versions.
- Enhanced styling for language selection buttons and menu items.
style(participant-name-input): refactor participant name input field
- Updated participant name input to use a custom styled input field instead of mat-form-field.
- Improved styling for input field and error handling.
style: general UI improvements across components
- Enhanced overall styling for better consistency and user experience across various components.