diff options
| author | Maze Winther <mazewinther@gmail.com> | 2025-06-30 23:19:37 +0200 |
|---|---|---|
| committer | Maze Winther <mazewinther@gmail.com> | 2025-06-30 23:19:37 +0200 |
| commit | 3e916f0f00147b67fb1301d6057798fd39e5340f (patch) | |
| tree | 661424779fdc5587ce1591f374fa471102c99cdc /apps/web/src/components/editor/preview-panel.tsx | |
| parent | d50cd0b40d1310e2f4fc1f0d981435fdc861f50e (diff) | |
| download | opencut-3e916f0f00147b67fb1301d6057798fd39e5340f.tar.gz | |
feat: implement automatic canvas size adjustment based on first media item aspect ratio
Diffstat (limited to 'apps/web/src/components/editor/preview-panel.tsx')
| -rw-r--r-- | apps/web/src/components/editor/preview-panel.tsx | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/apps/web/src/components/editor/preview-panel.tsx b/apps/web/src/components/editor/preview-panel.tsx index 0eee6002..06692926 100644 --- a/apps/web/src/components/editor/preview-panel.tsx +++ b/apps/web/src/components/editor/preview-panel.tsx @@ -7,6 +7,7 @@ import { } from "@/stores/timeline-store"; import { useMediaStore, type MediaItem } from "@/stores/media-store"; import { usePlaybackStore } from "@/stores/playback-store"; +import { useEditorStore } from "@/stores/editor-store"; import { VideoPlayer } from "@/components/ui/video-player"; import { Button } from "@/components/ui/button"; import { Play, Pause, Volume2, VolumeX, Plus } from "lucide-react"; @@ -22,7 +23,7 @@ export function PreviewPanel() { const { tracks } = useTimelineStore(); const { mediaItems } = useMediaStore(); const { currentTime, muted, toggleMute, volume } = usePlaybackStore(); - const [canvasSize, setCanvasSize] = useState({ width: 1920, height: 1080 }); + const { canvasSize, canvasPresets, setCanvasSize } = useEditorStore(); const previewRef = useRef<HTMLDivElement>(null); const containerRef = useRef<HTMLDivElement>(null); const [previewDimensions, setPreviewDimensions] = useState({ @@ -183,15 +184,6 @@ export function PreviewPanel() { return null; }; - // Canvas presets - const canvasPresets = [ - { name: "16:9 HD", width: 1920, height: 1080 }, - { name: "16:9 4K", width: 3840, height: 2160 }, - { name: "9:16 Mobile", width: 1080, height: 1920 }, - { name: "1:1 Square", width: 1080, height: 1080 }, - { name: "4:3 Standard", width: 1440, height: 1080 }, - ]; - return ( <div className="h-full w-full flex flex-col min-h-0 min-w-0"> {/* Controls */} |
