diff --git a/apps/web/bun.lockb b/apps/web/bun.lockb new file mode 100755 index 0000000..30e5a2f Binary files /dev/null and b/apps/web/bun.lockb differ diff --git a/apps/web/src/components/editor/timeline.tsx b/apps/web/src/components/editor/timeline.tsx index 675b398..9af7a20 100644 --- a/apps/web/src/components/editor/timeline.tsx +++ b/apps/web/src/components/editor/timeline.tsx @@ -557,8 +557,26 @@ export function Timeline() { {/* Playhead in ruler */}
{ + e.preventDefault(); + e.stopPropagation(); + const handleMouseMove = (e: MouseEvent) => { + const timeline = timelineRef.current; // Get timeline element ref to track the position + if (!timeline) return; // If no timeline element, exit + const rect = timeline.getBoundingClientRect(); // Get the bounding rect of the timeline element + const mouseX = Math.max(0, e.clientX - rect.left); // Calculate the mouse position relative to the timeline element + const newTime = mouseX / (50 * zoomLevel); // Calculate the time based on the mouse position + seek(newTime); // Set the current time + }; + const handleMouseUp = () => { + window.removeEventListener("mousemove", handleMouseMove); // Remove the mousemove event listener + window.removeEventListener("mouseup", handleMouseUp); // Remove the mouseup event listener + }; + window.addEventListener("mousemove", handleMouseMove); // Add the mousemove event listener + window.addEventListener("mouseup", handleMouseUp); // Add the mouseup event listener + }} >
@@ -670,7 +688,7 @@ export function Timeline() { {/* Playhead for tracks area */}
); -} \ No newline at end of file +} diff --git a/apps/web/src/components/header.tsx b/apps/web/src/components/header.tsx index 109d022..b742bf3 100644 --- a/apps/web/src/components/header.tsx +++ b/apps/web/src/components/header.tsx @@ -23,7 +23,7 @@ export function Header() { GitHub - +