import type { TimelineClipData, TimelineTrackData } from "@/lib/Timeline"; import type { Component } from "vue"; import { Default, FadeOut, Lyrics, Palette } from "./impl"; export interface ClipContentViewProps { track: TimelineTrackData; clip: TimelineClipData; width: number; } export type ClipContentViewComponent = Component; export function getComponentFor(track: TimelineTrackData): ClipContentViewComponent { switch (track.contentViewType) { case "audio": return Default; case "event": return Default; case "fadeout": return FadeOut; case "palette": return Palette; case "text": return Lyrics; case "curve": return Default; default: return Default; } }