"use client"; import { useTimelineStore } from "@/stores/timeline-store"; import { useMediaStore, type MediaItem } from "@/stores/media-store"; import { TimelineTrack } from "@/types/timeline"; import { usePlaybackStore } from "@/stores/playback-store"; import { Button } from "@/components/ui/button"; import { useState } from "react"; import type { TimelineElement } from "@/types/timeline"; // Only show in development const SHOW_DEBUG_INFO = process.env.NODE_ENV === "development"; interface ActiveElement { element: TimelineElement; track: TimelineTrack; mediaItem: MediaItem | null; } export function DevelopmentDebug() { const { tracks } = useTimelineStore(); const { mediaItems } = useMediaStore(); const { currentTime } = usePlaybackStore(); const [showDebug, setShowDebug] = useState(false); // Don't render anything in production if (!SHOW_DEBUG_INFO) return null; // Get active elements at current time const getActiveElements = (): ActiveElement[] => { const activeElements: ActiveElement[] = []; tracks.forEach((track) => { track.elements.forEach((element) => { const elementStart = element.startTime; const elementEnd = element.startTime + (element.duration - element.trimStart - element.trimEnd); if (currentTime >= elementStart && currentTime < elementEnd) { const mediaItem = element.type === "media" ? mediaItems.find((item) => item.id === element.mediaId) || null : null; // Text elements don't have media items activeElements.push({ element, track, mediaItem }); } }); }); return activeElements; }; const activeElements = getActiveElements(); return (