diff --git a/src/routes/Player/ControlBar/SubtitlesButton/SubtitlesPicker/SubtitlesPicker.js b/src/routes/Player/ControlBar/SubtitlesButton/SubtitlesPicker/SubtitlesPicker.js index 44da3452f..e1c0ed9e8 100644 --- a/src/routes/Player/ControlBar/SubtitlesButton/SubtitlesPicker/SubtitlesPicker.js +++ b/src/routes/Player/ControlBar/SubtitlesButton/SubtitlesPicker/SubtitlesPicker.js @@ -17,6 +17,17 @@ const SUBTITLES_SIZE_LABELS = Object.freeze({ 5: '250%' }); +const comparatorWithPriorities = (priorities) => { + return (a, b) => { + const valueA = priorities[a]; + const valueB = priorities[b]; + if (!isNaN(valueA) && !isNaN(valueB)) return valueA - valueB; + if (!isNaN(valueA)) return -1; + if (!isNaN(valueB)) return 1; + return a - b; + }; +} + const NumberInput = ({ value, label, delta, onChange }) => { if (value === null) { return null; @@ -45,17 +56,6 @@ class SubtitlesPicker extends React.Component { nextProps.subtitleDarkBackground !== this.props.subtitleDarkBackground; } - subtitlesComparator = (priorities) => { - return (a, b) => { - const valueA = priorities[a]; - const valueB = priorities[b]; - if (!isNaN(valueA) && !isNaN(valueB)) return valueA - valueB; - if (!isNaN(valueA)) return -1; - if (!isNaN(valueB)) return 1; - return a - b; - }; - } - toggleSubtitleEnabled = () => { const selectedSubtitleTrackId = this.props.selectedSubtitleTrackId === null && this.props.subtitleTracks.length > 0 ? this.props.subtitleTracks[0].id @@ -105,13 +105,13 @@ class SubtitlesPicker extends React.Component {
{ Object.keys(groupedTracks) - .sort(this.subtitlesComparator(ORIGIN_PRIORITIES)) + .sort(comparatorWithPriorities(ORIGIN_PRIORITIES)) .map((origin) => (
{origin}
{ Object.keys(groupedTracks[origin]) - .sort(this.subtitlesComparator(this.props.languagePriorities)) + .sort(comparatorWithPriorities(this.props.languagePriorities)) .map((label) => { const selected = selectedTrack && selectedTrack.label === label && selectedTrack.origin === origin; return ( @@ -139,8 +139,8 @@ class SubtitlesPicker extends React.Component { return (
- {groupedTracks[selectedTrack.origin][selectedTrack.label].map((track, index) => { - return ( + { + groupedTracks[selectedTrack.origin][selectedTrack.label].map((track, index) => (
- ); - })} + )) + }
); } @@ -230,7 +230,7 @@ SubtitlesPicker.propTypes = { dispatch: PropTypes.func.isRequired }; SubtitlesPicker.defaultProps = { - subtitleTracks: [], + subtitleTracks: Object.freeze([]), languagePriorities: Object.freeze({ English: 1 }) diff --git a/src/routes/Player/ControlBar/SubtitlesButton/SubtitlesPicker/styles.less b/src/routes/Player/ControlBar/SubtitlesButton/SubtitlesPicker/styles.less index 49db1622f..df5a824e9 100644 --- a/src/routes/Player/ControlBar/SubtitlesButton/SubtitlesPicker/styles.less +++ b/src/routes/Player/ControlBar/SubtitlesButton/SubtitlesPicker/styles.less @@ -70,7 +70,7 @@ .track-origin { padding: 0 0.2em; margin-bottom: 0.2em; - font-size: 85%; + font-size: 0.85em; font-style: italic; overflow-wrap: break-word; border-bottom: 1px solid var(--color-surfacelighter80); @@ -106,7 +106,7 @@ justify-content: center; .subtitles-disabled-label { - font-size: 150%; + font-size: 1.5em; line-height: 1.2; text-align: center; word-spacing: calc(var(--subtitles-picker-button-size) * 9); @@ -119,7 +119,7 @@ align-items: center; margin-bottom: calc(var(--subtitles-picker-button-size) * 0.3); font-weight: 500; - font-size: 90%; + font-size: 0.9em; color: var(--color-surfacelight); } @@ -168,7 +168,6 @@ .background-toggle-label { flex: 1; padding: 0 0.5em; - font-size: 1em; line-height: 1.1em; max-height: 2.2em; word-break: break-all;