add forward and backward buttons to non-fullscreen view (#495)

* feat: create external tools section (#493)

* feat: create external tools section

* fix: better wording

* add forward and backward buttons to non-fullscreen

---------

Co-authored-by: Dominik K. <dominik@koch-bautechnik.de>
Co-authored-by: Maze Winther <mazewinther@gmail.com>
This commit is contained in:
vracto
2025-07-30 23:56:10 +02:00
committed by GitHub
co-authored by Dominik K. Maze Winther
parent f15508df62
commit b229d94a8d
6 changed files with 186 additions and 27 deletions
@@ -826,6 +826,18 @@ function PreviewToolbar({
setCanvasSizeToOriginal(aspectRatio);
};
const totalDuration = getTotalDuration();
const skipBackward = () => {
const newTime = Math.max(0, currentTime - 1);
setCurrentTime(newTime);
};
const skipForward = () => {
const newTime = Math.min(totalDuration, currentTime + 1);
setCurrentTime(newTime);
};
if (isExpanded) {
return (
<FullscreenToolbar
@@ -871,19 +883,41 @@ function PreviewToolbar({
</span>
</p>
</div>
<Button
variant="text"
size="icon"
onClick={toggle}
disabled={!hasAnyElements}
className="h-auto p-0"
>
{isPlaying ? (
<Pause className="h-3 w-3" />
) : (
<Play className="h-3 w-3" />
)}
</Button>
<div className="flex items-center gap-1">
<Button
variant="text"
size="icon"
onClick={skipBackward}
disabled={!hasAnyElements}
className="h-auto p-0 text-white hover:text-white/80"
title="Skip backward 1s"
>
<SkipBack className="h-3 w-3" />
</Button>
<Button
variant="text"
size="icon"
onClick={toggle}
disabled={!hasAnyElements}
className="h-auto p-0 text-white hover:text-white/80"
>
{isPlaying ? (
<Pause className="h-3 w-3" />
) : (
<Play className="h-3 w-3" />
)}
</Button>
<Button
variant="text"
size="icon"
onClick={skipForward}
disabled={!hasAnyElements}
className="h-auto p-0 text-white hover:text-white/80"
title="Skip forward 1s"
>
<SkipForward className="h-3 w-3" />
</Button>
</div>
<div className="flex items-center gap-3">
<BackgroundSettings />
<DropdownMenu>