fix(Player): audio menu open state

This commit is contained in:
Tim 2024-12-20 20:18:17 +01:00
parent c811c28be6
commit 57aac8a27a
3 changed files with 9 additions and 6 deletions

View file

@ -14,15 +14,16 @@ type Props = {
const AudioMenu = ({ className, selectedAudioTrackId, audioTracks, onAudioTrackSelected }: Props) => {
const { t } = useTranslation();
const onMouseDown = (event: MouseEvent) => {
event.stopPropagation();
};
const onAudioTrackClick = useCallback(({ currentTarget }: MouseEvent) => {
const id = currentTarget.getAttribute('data-id')!;
onAudioTrackSelected && onAudioTrackSelected(id);
}, [onAudioTrackSelected]);
const onMouseDown = (event: MouseEvent) => {
// @ts-expect-error: Property 'audioMenuClosePrevented' does not exist on type 'MouseEvent'.
event.nativeEvent.audioMenuClosePrevented = true;
};
return (
<div className={classNames(className, styles['audio-menu'])} onMouseDown={onMouseDown}>
<div className={styles['container']}>

View file

@ -50,7 +50,7 @@ const ControlBar = ({
event.nativeEvent.subtitlesMenuClosePrevented = true;
}, []);
const onAudioButtonMouseDown = React.useCallback((event) => {
event.stopPropagation();
event.nativeEvent.audioMenuClosePrevented = true;
}, []);
const onInfoButtonMouseDown = React.useCallback((event) => {
event.nativeEvent.infoMenuClosePrevented = true;

View file

@ -240,7 +240,9 @@ const Player = ({ urlParams, queryParams }) => {
if (!event.nativeEvent.subtitlesMenuClosePrevented) {
closeSubtitlesMenu();
}
closeAudioMenu();
if (!event.nativeEvent.audioMenuClosePrevented) {
closeAudioMenu();
}
if (!event.nativeEvent.infoMenuClosePrevented) {
closeInfoMenu();
}