From 12b20d8b5cc2fc660c69212dfad65a4aad2b4449 Mon Sep 17 00:00:00 2001 From: Jack Laverty Date: Sun, 19 Jan 2025 15:55:52 +1100 Subject: [PATCH] video selection on side, playback rate fixed --- .../components/video-container.tsx | 16 ++--- .../[sessionId]/components/video-list.tsx | 6 +- .../[sessionId]/components/video-player.tsx | 61 +++++++++++-------- 3 files changed, 48 insertions(+), 35 deletions(-) diff --git a/app/(sidebar)/session/[sessionId]/components/video-container.tsx b/app/(sidebar)/session/[sessionId]/components/video-container.tsx index 2baa27a..83338c3 100644 --- a/app/(sidebar)/session/[sessionId]/components/video-container.tsx +++ b/app/(sidebar)/session/[sessionId]/components/video-container.tsx @@ -42,23 +42,23 @@ export default function VideoContainer({ clips, session }: VideoContainerProps) return (
-
+
-
- + {/* + /> */}
diff --git a/app/(sidebar)/session/[sessionId]/components/video-list.tsx b/app/(sidebar)/session/[sessionId]/components/video-list.tsx index 5e4a815..8d55acb 100644 --- a/app/(sidebar)/session/[sessionId]/components/video-list.tsx +++ b/app/(sidebar)/session/[sessionId]/components/video-list.tsx @@ -14,8 +14,8 @@ interface VideoListProps { const VideoList: React.FC = ({ videos, selectedVideo, onSelectVideo }) => { return ( - -
+ +
{videos.map((video, index) => ( = ({ videos, selectedVideo, onSelectVi /> ))}
- +
); diff --git a/app/(sidebar)/session/[sessionId]/components/video-player.tsx b/app/(sidebar)/session/[sessionId]/components/video-player.tsx index c7a0dfe..65d3821 100644 --- a/app/(sidebar)/session/[sessionId]/components/video-player.tsx +++ b/app/(sidebar)/session/[sessionId]/components/video-player.tsx @@ -4,7 +4,18 @@ import React, { useRef, useState, useEffect, ChangeEvent } from 'react'; import { Slider } from "@/components/ui/slider" import { Button } from "@/components/ui/button" import { Spinner } from "@/components/ui/spinner" -import { Play, Pause, StepBack, StepForward, Pencil, MessageSquarePlus } from "lucide-react"; +import { + Play, + Pause, + StepBack, + StepForward, + Timer +} from "lucide-react"; +import { + Popover, + PopoverContent, + PopoverTrigger, +} from "@/components/ui/popover"; interface VideoPlayerProps { title: string; @@ -115,6 +126,9 @@ const VideoPlayer: React.FC = ({ title }) => { const handlePlaybackRateChange = (newValue: number[]) => { setPlaybackRate(newValue); + if (videoRef.current) { + videoRef.current.playbackRate = newValue[0]; + } }; const formatTime = (time: number): string => { @@ -189,29 +203,28 @@ const VideoPlayer: React.FC = ({ title }) => { - - {/*
- - - -
*/} - - {/* playback rate */} - {/*
-
- -
{playbackRate[0].toFixed(1)}x
-
-
*/} + + + + + +
+
+ +
{playbackRate[0].toFixed(1)}x
+
+
+
+