diff options
| author | WOGGER7 <saneenmecheri@gmail.com> | 2025-07-21 14:09:15 +0530 |
|---|---|---|
| committer | WOGGER7 <saneenmecheri@gmail.com> | 2025-07-21 14:09:15 +0530 |
| commit | 3f3fad1a23ff92d28288698db53065f9da9255b2 (patch) | |
| tree | 4542f7a6232ccb8e060eba47f80dc7809a04d259 /apps/web/src | |
| parent | 6f8c864016ca53d331ced26de3524a857924c39d (diff) | |
| download | opencut-3f3fad1a23ff92d28288698db53065f9da9255b2.tar.gz | |
Simplify preview toolbar layout by flattening structure
Diffstat (limited to 'apps/web/src')
| -rw-r--r-- | apps/web/src/components/editor/preview-panel.tsx | 147 |
1 files changed, 70 insertions, 77 deletions
diff --git a/apps/web/src/components/editor/preview-panel.tsx b/apps/web/src/components/editor/preview-panel.tsx index 375fc0e0..db2da954 100644 --- a/apps/web/src/components/editor/preview-panel.tsx +++ b/apps/web/src/components/editor/preview-panel.tsx @@ -637,89 +637,82 @@ function PreviewToolbar({ }; return ( - <div data-toolbar className="flex flex-col gap-2 p-1 pt-2 w-full"> - {/* Timeline Controls */} - <div className="flex items-center gap-2 w-full"> - {/* Time Display */} - <div className="flex items-center gap-1 text-[0.70rem] text-muted-foreground tabular-nums"> - <span className="text-primary"> - {formatTimeCode( - currentTime, - "HH:MM:SS:FF", - activeProject?.fps || 30, - )} - </span> - <span className="opacity-50">/</span> - <span> - {formatTimeCode( - totalDuration, - "HH:MM:SS:FF", - activeProject?.fps || 30, - )} - </span> - </div> + <div data-toolbar className="flex items-center gap-2 p-1 pt-2 w-full"> + {/* Time Display */} + <div className="flex items-center gap-1 text-[0.70rem] text-muted-foreground tabular-nums"> + <span className="text-primary"> + {formatTimeCode(currentTime, "HH:MM:SS:FF", activeProject?.fps || 30)} + </span> + <span className="opacity-50">/</span> + <span> + {formatTimeCode( + totalDuration, + "HH:MM:SS:FF", + activeProject?.fps || 30, + )} + </span> + </div> - {/* Transport Controls */} - <div className="flex items-center gap-1"> - <Button - variant="text" - size="icon" - onClick={skipBackward} - disabled={!hasAnyElements} - className="h-auto p-0" - 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" - > - {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" - title="Skip forward 1s" - > - <SkipForward className="h-3 w-3" /> - </Button> - </div> + {/* Transport Controls */} + <div className="flex items-center gap-1"> + <Button + variant="text" + size="icon" + onClick={skipBackward} + disabled={!hasAnyElements} + className="h-auto p-0" + 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" + > + {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" + title="Skip forward 1s" + > + <SkipForward className="h-3 w-3" /> + </Button> + </div> - {/* Timeline Scrubber */} - <div className="flex-1 flex items-center gap-2"> + {/* Timeline Scrubber */} + <div className="flex-1 flex items-center gap-2"> + <div + className={cn( + "relative h-1 bg-muted rounded-full cursor-pointer flex-1", + !hasAnyElements && "opacity-50 cursor-not-allowed", + )} + onClick={hasAnyElements ? handleTimelineClick : undefined} + onMouseDown={hasAnyElements ? handleTimelineDrag : undefined} + > <div - className={cn( - "relative h-1 bg-muted rounded-full cursor-pointer flex-1", - !hasAnyElements && "opacity-50 cursor-not-allowed", - )} - onClick={hasAnyElements ? handleTimelineClick : undefined} - onMouseDown={hasAnyElements ? handleTimelineDrag : undefined} - > - <div - className="absolute top-0 left-0 h-full bg-primary rounded-full transition-all duration-100" - style={{ width: `${progress}%` }} - /> - <div - className="absolute top-1/2 w-3 h-3 bg-primary rounded-full -translate-y-1/2 -translate-x-1/2 shadow-sm border border-background" - style={{ left: `${progress}%` }} - /> - </div> + className="absolute top-0 left-0 h-full bg-primary rounded-full transition-all duration-100" + style={{ width: `${progress}%` }} + /> + <div + className="absolute top-1/2 w-3 h-3 bg-primary rounded-full -translate-y-1/2 -translate-x-1/2 shadow-sm border border-background" + style={{ left: `${progress}%` }} + /> </div> </div> - {/* Bottom Row - Aspect Ratio and Fullscreen */} - <div className="flex items-center justify-end gap-3"> + {/* Aspect Ratio and Fullscreen Controls */} + <div className="flex items-center gap-3"> {!isExpanded && ( <> <BackgroundSettings /> |
