From 3347483092efe9455b881da87e5a8a3d7535a0e7 Mon Sep 17 00:00:00 2001 From: Codex Date: Thu, 23 Apr 2026 14:53:05 -0500 Subject: [PATCH] Add end clip shortcuts --- frontend/src/pages/LibraryPage.tsx | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/frontend/src/pages/LibraryPage.tsx b/frontend/src/pages/LibraryPage.tsx index 5be44f8..1bc5ed0 100644 --- a/frontend/src/pages/LibraryPage.tsx +++ b/frontend/src/pages/LibraryPage.tsx @@ -15,6 +15,7 @@ import { formatGameTitle, formatMemberName } from "../lib/teamsnapHelpers"; const MEDIA_ACCEPT = ".mp3,.m4a,.aac,.wav,.ogg,.oga,.flac,.mp4,.m4v,.mov,audio/*,video/*,application/octet-stream"; const DEFAULT_CLIP_LENGTH_MS = 30_000; +const END_SHORTCUT_LENGTH_MS = 90_000; const TRIM_NUDGE_MS = 100; const TRIM_STEP_MS = 100; const TRIM_ZOOM_WINDOW_MS = 3_000; @@ -1274,10 +1275,6 @@ function WalkupClipEditorPanel({ await handleSave(); } - function useThirtySecondLength() { - setEndMs(startMs + DEFAULT_CLIP_LENGTH_MS); - } - function handleStartChange(nextStart: number) { setStartMs(nextStart); if (nextStart >= endMs) { @@ -1554,10 +1551,14 @@ function ClipTrimScrubber({ onStartChange(nextStartMs); } - function nudgeEnd(deltaMs: number) { - const nextEndMs = Math.max(safeStartMs + 1, safeEndMs + deltaMs); + function setEndToDefaultLength() { + onEndChange(Math.min(Math.max(1, durationMs), safeStartMs + END_SHORTCUT_LENGTH_MS)); + setFocusEdge("end"); + } + + function setEndToSourceEnd() { + onEndChange(Math.max(1, durationMs)); setFocusEdge("end"); - onEndChange(nextEndMs); } return ( @@ -1608,12 +1609,12 @@ function ClipTrimScrubber({
End {formatPlaybackPosition(safeEndMs)} -
- -