diff --git a/frontend/src/assets/custom_play_icon.svg b/frontend/src/assets/icons/custom_play_icon.svg similarity index 100% rename from frontend/src/assets/custom_play_icon.svg rename to frontend/src/assets/icons/custom_play_icon.svg diff --git a/frontend/src/assets/icons/live_pause_icon.svg b/frontend/src/assets/icons/live_pause_icon.svg new file mode 100644 index 00000000..1a2d1b0d --- /dev/null +++ b/frontend/src/assets/icons/live_pause_icon.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/frontend/src/assets/icons/pause_icon.svg b/frontend/src/assets/icons/pause_icon.svg index 7269d367..c1f14183 100644 --- a/frontend/src/assets/icons/pause_icon.svg +++ b/frontend/src/assets/icons/pause_icon.svg @@ -1,26 +1,6 @@ - - - - - - - - - - + + + + + + \ No newline at end of file diff --git a/frontend/src/assets/icons/play_icon.svg b/frontend/src/assets/icons/play_icon.svg index 9c7a2da9..ebeda792 100644 --- a/frontend/src/assets/icons/play_icon.svg +++ b/frontend/src/assets/icons/play_icon.svg @@ -1,18 +1,6 @@ - - - - - - - + + + + + diff --git a/frontend/src/components/client/Player.tsx b/frontend/src/components/client/Player.tsx index a0c6082f..62094fb9 100644 --- a/frontend/src/components/client/Player.tsx +++ b/frontend/src/components/client/Player.tsx @@ -3,7 +3,7 @@ import Hls from 'hls.js'; import styled from 'styled-components'; import playerLoading from '@assets/player_loading.gif'; -import CustomPlayIcon from '@assets/custom_play_icon.svg'; +import CustomPlayIcon from '@assets/icons/custom_play_icon.svg'; import PauseIcon from '@assets/icons/pause_icon.svg'; import PlayIcon from '@assets/icons/play_icon.svg'; @@ -58,14 +58,37 @@ const Player = ({ videoUrl }: { videoUrl: string }) => { } }; + useEffect(() => { + const handleKeyDown = (e: KeyboardEvent) => { + if (e.code === 'Space') { + e.preventDefault(); + handlePlayPause(); + } + }; + + const videoElement = videoRef.current; + videoElement?.addEventListener('keydown', handleKeyDown); + + return () => { + videoElement?.removeEventListener('keydown', handleKeyDown); + }; + }, []); + return ( {onHLSReady ? ( <> - + {showIcon && ( - {isPaused ? : } + + {isPaused ? : } + )} ) : (