From 2483ab5446a42cd3511c0e64671e6cd91b7c4530 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miguel=20=C3=81ngel?= Date: Thu, 21 May 2026 21:55:13 -0400 Subject: [PATCH] feat(studio): add Tooltip to player and timeline controls --- .../studio/src/components/TimelineToolbar.tsx | 117 +++-- .../src/player/components/PlayerControls.tsx | 495 +++++++++--------- 2 files changed, 316 insertions(+), 296 deletions(-) diff --git a/packages/studio/src/components/TimelineToolbar.tsx b/packages/studio/src/components/TimelineToolbar.tsx index f0866a479..7bf86c193 100644 --- a/packages/studio/src/components/TimelineToolbar.tsx +++ b/packages/studio/src/components/TimelineToolbar.tsx @@ -4,6 +4,7 @@ import { } from "../player/components/timelineZoom"; import { getTimelineToggleTitle } from "../utils/timelineDiscovery"; import { usePlayerStore } from "../player"; +import { Tooltip } from "./ui"; interface TimelineToolbarProps { toggleTimelineVisibility: () => void; @@ -23,65 +24,71 @@ export function TimelineToolbar({ toggleTimelineVisibility }: TimelineToolbarPro Timeline
- - + + + + + +
{`${displayedTimelineZoomPercent}%`}
- - + + + + + + +
diff --git a/packages/studio/src/player/components/PlayerControls.tsx b/packages/studio/src/player/components/PlayerControls.tsx index f277c13f6..05a5c0ffd 100644 --- a/packages/studio/src/player/components/PlayerControls.tsx +++ b/packages/studio/src/player/components/PlayerControls.tsx @@ -4,6 +4,7 @@ import { formatFrameTime, frameToSeconds, stepFrameTime, formatTime } from "../l import { shouldMutePreviewAudio } from "../lib/timelineIframeHelpers"; import { usePlayerStore, liveTime } from "../store/playerStore"; import { trackStudioEvent } from "../../utils/studioTelemetry"; +import { Tooltip } from "../../components/ui"; const SPEED_OPTIONS = [0.25, 0.5, 1, 1.5, 2] as const; const SEEK_EDGE_SNAP_PX = 8; @@ -340,47 +341,51 @@ export const PlayerControls = memo(function PlayerControls({ }} > {/* Play/Pause button */} - + + + {/* Time display — click to toggle time/frame mode */} - + + {/* Seek bar — teal progress fill */}
{/* Mute toggle */} - + + + {/* Speed control */}
- + + + {showSpeedMenu && (
- - - {/* Fullscreen toggle */} - {onToggleFullscreen && ( + - )} - - {/* Keyboard shortcuts + frame jump + work area — click to open panel */} -
- + + + {/* Fullscreen toggle */} + {onToggleFullscreen && ( + + + + )} + + {/* Keyboard shortcuts + frame jump + work area — click to open panel */} +
+ + + {showShortcuts && (
- + + +
@@ -745,24 +756,25 @@ export const PlayerControls = memo(function PlayerControls({ {formatTime(inPoint)} - + + + + + ) : ( @@ -785,24 +797,25 @@ export const PlayerControls = memo(function PlayerControls({ {formatTime(outPoint)} - + + + + + ) : (