From 00abeab15895cf8bed852638588a6f07dfed2328 Mon Sep 17 00:00:00 2001 From: ThisBirchWood Date: Wed, 28 May 2025 16:35:27 +0200 Subject: [PATCH] ADD different volume icons --- frontend/src/components/Playbar.tsx | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/frontend/src/components/Playbar.tsx b/frontend/src/components/Playbar.tsx index 367b27f..430bb63 100644 --- a/frontend/src/components/Playbar.tsx +++ b/frontend/src/components/Playbar.tsx @@ -1,5 +1,5 @@ import { useEffect, useState} from "react"; -import { Volume, Play, Pause } from 'lucide-react'; +import { Volume1, Volume2, VolumeX, Play, Pause } from 'lucide-react'; import clsx from 'clsx'; import type { VideoMetadata } from "../utils/types.ts"; @@ -40,11 +40,23 @@ export default function Playbar({ video, videoMetadata, className }: Props) { } }; + let Icon; + // update icon + if (volume == 0) { + Icon = VolumeX; + } else if (volume < 50) { + Icon = Volume1; + } else { + Icon = Volume2; + } + const updateVolume = (e: React.ChangeEvent) => { if (!video) return; - video.volume = parseInt(e.target.value) / 100; - setVolume(parseInt(e.target.value)); + let volume = parseInt(e.target.value) + + video.volume = volume / 100; + setVolume(volume); } // Sync state with video element changes (e.g., if someone presses spacebar or clicks on the video) @@ -65,8 +77,8 @@ export default function Playbar({ video, videoMetadata, className }: Props) { return (
-
- +
+