vjs: hide errors when updating i18n #7004

Merged
infinite-persistence merged 1 commit from ip/vjs.i18n into master 2021-09-02 18:38:58 +02:00
Showing only changes of commit 18fb0147de - Show all commits

View file

@ -296,44 +296,49 @@ export default React.memo<Props>(function VideoJs(props: Props) {
// as the listener to update static texts. // as the listener to update static texts.
const player = playerRef.current; const player = playerRef.current;
if (player) { if (player) {
const controlBar = player.getChild('controlBar'); try {
switch (e.type) { const controlBar = player.getChild('controlBar');
case 'play': switch (e.type) {
controlBar.getChild('PlayToggle').controlText(__('Pause (space)')); case 'play':
break; controlBar.getChild('PlayToggle').controlText(__('Pause (space)'));
case 'pause': break;
controlBar.getChild('PlayToggle').controlText(__('Play (space)')); case 'pause':
break; controlBar.getChild('PlayToggle').controlText(__('Play (space)'));
case 'volumechange': break;
controlBar case 'volumechange':
.getChild('VolumePanel') controlBar
.getChild('MuteToggle') .getChild('VolumePanel')
.controlText(player.muted() || player.volume() === 0 ? __('Unmute (m)') : __('Mute (m)')); .getChild('MuteToggle')
break; .controlText(player.muted() || player.volume() === 0 ? __('Unmute (m)') : __('Mute (m)'));
case 'fullscreenchange': break;
controlBar case 'fullscreenchange':
.getChild('FullscreenToggle') controlBar
.controlText(player.isFullscreen() ? __('Exit Fullscreen (f)') : __('Fullscreen (f)')); .getChild('FullscreenToggle')
break; .controlText(player.isFullscreen() ? __('Exit Fullscreen (f)') : __('Fullscreen (f)'));
case 'loadstart': break;
// --- Do everything --- case 'loadstart':
controlBar.getChild('PlaybackRateMenuButton').controlText(__('Playback Rate (<, >)')); // --- Do everything ---
controlBar.getChild('QualityButton').controlText(__('Quality')); controlBar.getChild('PlaybackRateMenuButton').controlText(__('Playback Rate (<, >)'));
resolveCtrlText({ type: 'play' }); controlBar.getChild('QualityButton').controlText(__('Quality'));
resolveCtrlText({ type: 'pause' }); resolveCtrlText({ type: 'play' });
resolveCtrlText({ type: 'volumechange' }); resolveCtrlText({ type: 'pause' });
resolveCtrlText({ type: 'fullscreenchange' }); resolveCtrlText({ type: 'volumechange' });
// (1) The 'Theater mode' button should probably be changed to a class resolveCtrlText({ type: 'fullscreenchange' });
// so that we can use getChild() with a specific name. There might be // (1) The 'Theater mode' button should probably be changed to a class
// clashes if we add a new button in the future. // so that we can use getChild() with a specific name. There might be
// (2) We'll have to get 'makeSelectClientSetting(SETTINGS.VIDEO_THEATER_MODE)' // clashes if we add a new button in the future.
// as a prop here so we can say "Theater mode|Default mode" instead of // (2) We'll have to get 'makeSelectClientSetting(SETTINGS.VIDEO_THEATER_MODE)'
// "Toggle Theater mode". // as a prop here so we can say "Theater mode|Default mode" instead of
controlBar.getChild('Button').controlText(__('Toggle Theater mode (t)')); // "Toggle Theater mode".
break; controlBar.getChild('Button').controlText(__('Toggle Theater mode (t)'));
default: break;
if (isDev) throw Error('Unexpected: ' + e.type); default:
break; if (isDev) throw Error('Unexpected: ' + e.type);
break;
}
} catch {
// Just fail silently. It'll just be due to hidden ctrls, and if it is
// due to control hierarchy change, we'll notice that in the GUI.
} }
} }
} }