feat: add timeline navigation return to start functionality

- Add Enter key shortcut for seeking to timeline start (00:00:00)
- Add return to start button in timeline toolbar with skip-back icon
- Both methods complement existing Home key shortcut
- Update keyboard shortcuts help to display Enter key properly
- Maintain consistent UI styling with existing playback controls

Resolves #415
This commit is contained in:
ryu
2025-08-01 02:33:42 +05:00
parent e6e08057f5
commit f5d5a387d3
5 changed files with 27 additions and 1 deletions
@@ -12,6 +12,7 @@ import {
SplitSquareHorizontal,
Pause,
Play,
SkipBack,
Video,
Music,
TypeIcon,
@@ -508,7 +509,7 @@ export function Timeline() {
onMouseEnter={() => setIsInTimeline(true)}
onMouseLeave={() => setIsInTimeline(false)}
>
<TimelineToolbar zoomLevel={zoomLevel} setZoomLevel={setZoomLevel} />
<TimelineToolbar zoomLevel={zoomLevel} setZoomLevel={setZoomLevel} seek={seek} />
{/* Timeline Container */}
<div
@@ -806,9 +807,11 @@ function TrackIcon({ track }: { track: TimelineTrack }) {
function TimelineToolbar({
zoomLevel,
setZoomLevel,
seek,
}: {
zoomLevel: number;
setZoomLevel: (zoom: number) => void;
seek: (time: number) => void;
}) {
const {
tracks,
@@ -981,6 +984,21 @@ function TimelineToolbar({
{isPlaying ? "Pause (Space)" : "Play (Space)"}
</TooltipContent>
</Tooltip>
<Tooltip>
<TooltipTrigger asChild>
<Button
variant="text"
size="icon"
onClick={() => seek(0)}
className="mr-2"
>
<SkipBack className="h-4 w-4" />
</Button>
</TooltipTrigger>
<TooltipContent>
Return to Start (Home / Enter)
</TooltipContent>
</Tooltip>
<div className="w-px h-6 bg-border mx-1" />
{/* Time Display */}
<div
@@ -77,6 +77,7 @@ const formatKey = (key: string): string => {
.replace("down", "↓")
.replace("space", "Space")
.replace("home", "Home")
.replace("enter", "Enter")
.replace("end", "End")
.replace("delete", "Delete")
.replace("backspace", "Backspace")
+1
View File
@@ -17,6 +17,7 @@ export const defaultKeybindings: KeybindingConfig = {
"shift+left": "jump-backward",
"shift+right": "jump-forward",
home: "goto-start",
enter: "goto-start",
end: "goto-end",
s: "split-element",
n: "toggle-snapping",