diff --git a/src/routes/Player/AudioMenu/AudioMenu.tsx b/src/routes/Player/AudioMenu/AudioMenu.tsx index c90311a80..87ee1506a 100644 --- a/src/routes/Player/AudioMenu/AudioMenu.tsx +++ b/src/routes/Player/AudioMenu/AudioMenu.tsx @@ -1,4 +1,4 @@ -import React, { forwardRef, MouseEvent, useCallback } from 'react'; +import React, { forwardRef, memo, MouseEvent, useCallback } from 'react'; import { useTranslation } from 'react-i18next'; import classNames from 'classnames'; import { languages } from 'stremio/common'; @@ -12,7 +12,7 @@ type Props = { onAudioTrackSelected: (id: string) => void, }; -const AudioMenu = forwardRef(({ className, selectedAudioTrackId, audioTracks, onAudioTrackSelected }: Props, ref) => { +const AudioMenu = memo(forwardRef(({ className, selectedAudioTrackId, audioTracks, onAudioTrackSelected }: Props, ref) => { const { t } = useTranslation(); const onAudioTrackClick = useCallback(({ currentTarget }: MouseEvent) => { @@ -62,6 +62,6 @@ const AudioMenu = forwardRef(({ className, selectedAudioT ); -}); +})); export default AudioMenu; diff --git a/src/routes/Player/OptionsMenu/OptionsMenu.js b/src/routes/Player/OptionsMenu/OptionsMenu.js index 3580bee13..cbeeca90e 100644 --- a/src/routes/Player/OptionsMenu/OptionsMenu.js +++ b/src/routes/Player/OptionsMenu/OptionsMenu.js @@ -9,7 +9,7 @@ const { useServices } = require('stremio/services'); const Option = require('./Option'); const styles = require('./styles'); -const OptionsMenu = React.forwardRef(({ className, stream, playbackDevices, extraSubtitlesTracks, selectedExtraSubtitlesTrackId }, ref) => { +const OptionsMenu = React.memo(React.forwardRef(({ className, stream, playbackDevices, extraSubtitlesTracks, selectedExtraSubtitlesTrackId }, ref) => { const { t } = useTranslation(); const { core } = useServices(); const platform = usePlatform(); @@ -167,7 +167,7 @@ const OptionsMenu = React.forwardRef(({ className, stream, playbackDevices, extr } ); -}); +})); OptionsMenu.propTypes = { className: PropTypes.string, diff --git a/src/routes/Player/SpeedMenu/SpeedMenu.js b/src/routes/Player/SpeedMenu/SpeedMenu.js index 48e1d17e8..501020e36 100644 --- a/src/routes/Player/SpeedMenu/SpeedMenu.js +++ b/src/routes/Player/SpeedMenu/SpeedMenu.js @@ -9,7 +9,7 @@ const styles = require('./styles'); const RATES = Array.from(Array(8).keys(), (n) => n * 0.25 + 0.25).reverse(); -const SpeedMenu = React.forwardRef(({ className, playbackSpeed, onPlaybackSpeedChanged }, ref) => { +const SpeedMenu = React.memo(React.forwardRef(({ className, playbackSpeed, onPlaybackSpeedChanged }, ref) => { const { t } = useTranslation(); const onMouseDown = React.useCallback((event) => { event.nativeEvent.speedMenuClosePrevented = true; @@ -39,7 +39,7 @@ const SpeedMenu = React.forwardRef(({ className, playbackSpeed, onPlaybackSpeedC ); -}); +})); SpeedMenu.propTypes = { className: PropTypes.string, diff --git a/src/routes/Player/StatisticsMenu/StatisticsMenu.js b/src/routes/Player/StatisticsMenu/StatisticsMenu.js index 2c138a4e3..ff6c1201b 100644 --- a/src/routes/Player/StatisticsMenu/StatisticsMenu.js +++ b/src/routes/Player/StatisticsMenu/StatisticsMenu.js @@ -6,7 +6,7 @@ const classNames = require('classnames'); const PropTypes = require('prop-types'); const styles = require('./styles.less'); -const StatisticsMenu = React.forwardRef(({ className, peers, speed, completed, infoHash }, ref) => { +const StatisticsMenu = React.memo(React.forwardRef(({ className, peers, speed, completed, infoHash }, ref) => { const { t } = useTranslation(); return (
@@ -49,7 +49,7 @@ const StatisticsMenu = React.forwardRef(({ className, peers, speed, completed, i
); -}); +})); StatisticsMenu.propTypes = { className: PropTypes.string,