From 3e916f0f00147b67fb1301d6057798fd39e5340f Mon Sep 17 00:00:00 2001 From: Maze Winther Date: Mon, 30 Jun 2025 23:19:37 +0200 Subject: feat: implement automatic canvas size adjustment based on first media item aspect ratio --- apps/web/src/components/editor/preview-panel.tsx | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) (limited to 'apps/web/src/components/editor') 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(null); const containerRef = useRef(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 (
{/* Controls */} -- cgit v1.3.1