feat(timeline): add context menu handling to TimelineTrackContent component

This commit is contained in:
Maze Winther
2025-06-24 22:20:17 +02:00
parent 27471ba532
commit 8f583c25e0

View File

@ -933,6 +933,7 @@ export function Timeline() {
track={track}
zoomLevel={zoomLevel}
setContextMenu={setContextMenu}
contextMenu={contextMenu}
/>
</div>
))}
@ -1117,6 +1118,7 @@ function TimelineTrackContent({
track,
zoomLevel,
setContextMenu,
contextMenu,
}: {
track: TimelineTrack;
zoomLevel: number;
@ -1129,6 +1131,13 @@ function TimelineTrackContent({
y: number;
} | null
) => void;
contextMenu: {
type: "track" | "clip";
trackId: string;
clipId?: string;
x: number;
y: number;
} | null;
}) {
const { mediaItems } = useMediaStore();
const {
@ -1715,6 +1724,13 @@ function TimelineTrackContent({
style={{ width: `${clipWidth}px`, left: `${clipLeft}px` }}
onClick={(e) => {
e.stopPropagation();
// Close context menu if it's open
if (contextMenu) {
setContextMenu(null);
return; // Don't handle selection when closing context menu
}
const isSelected = selectedClips.some(
(c) => c.trackId === track.id && c.clipId === clip.id
);