mirror of
https://github.com/OpenCut-app/OpenCut.git
synced 2026-07-13 21:52:53 +02:00
feat: add properties for video/image/sticker elements
This commit is contained in:
@@ -17,7 +17,7 @@ export function PropertiesPanel() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="panel bg-background h-full rounded-sm border overflow-hidden">
|
<div className="panel bg-background h-full rounded-sm border border-t-0 overflow-hidden">
|
||||||
{selectedElements.length > 0 ? (
|
{selectedElements.length > 0 ? (
|
||||||
<ScrollArea className="h-full scrollbar-hidden">
|
<ScrollArea className="h-full scrollbar-hidden">
|
||||||
{elementsWithTracks.map(({ track, element }) => {
|
{elementsWithTracks.map(({ track, element }) => {
|
||||||
@@ -31,10 +31,14 @@ export function PropertiesPanel() {
|
|||||||
if (element.type === "audio") {
|
if (element.type === "audio") {
|
||||||
return <AudioProperties key={element.id} _element={element} />;
|
return <AudioProperties key={element.id} _element={element} />;
|
||||||
}
|
}
|
||||||
if (element.type === "video" || element.type === "image") {
|
if (
|
||||||
|
element.type === "video" ||
|
||||||
|
element.type === "image" ||
|
||||||
|
element.type === "sticker"
|
||||||
|
) {
|
||||||
return (
|
return (
|
||||||
<div key={element.id}>
|
<div key={element.id}>
|
||||||
<VideoProperties _element={element} />
|
<VideoProperties element={element} trackId={track.id} />
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,17 @@
|
|||||||
import type { ImageElement, VideoElement } from "@/types/timeline";
|
import type { ImageElement, StickerElement, VideoElement } from "@/types/timeline";
|
||||||
|
import { BlendingSection, TransformSection } from "./sections";
|
||||||
|
|
||||||
export function VideoProperties({
|
export function VideoProperties({
|
||||||
_element,
|
element,
|
||||||
|
trackId,
|
||||||
}: {
|
}: {
|
||||||
_element: VideoElement | ImageElement;
|
element: VideoElement | ImageElement | StickerElement;
|
||||||
|
trackId: string;
|
||||||
}) {
|
}) {
|
||||||
return <div className="space-y-4 p-5">Video properties</div>;
|
return (
|
||||||
|
<div className="flex h-full flex-col">
|
||||||
|
<TransformSection element={element} trackId={trackId} />
|
||||||
|
<BlendingSection element={element} trackId={trackId} />
|
||||||
|
</div>
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user