"use client"; import type { EffectElement } from "@/types/timeline"; import { getEffect } from "@/lib/effects/registry"; import { useEditor } from "@/hooks/use-editor"; import { Section, SectionContent, SectionHeader, SectionFields, SectionTitle, } from "./section"; import { EffectParamField } from "./effect-param-field"; export function EffectProperties({ element, trackId, }: { element: EffectElement; trackId: string; }) { const editor = useEditor(); const definition = getEffect({ effectType: element.effectType }); const previewParam = ({ key }: { key: string }) => (value: number | string | boolean) => editor.timeline.previewElements({ updates: [ { trackId, elementId: element.id, updates: { params: { ...element.params, [key]: value } }, }, ], }); return (
{definition.name} {definition.params.map((param) => ( editor.timeline.commitPreview()} /> ))}
); }