'use client'; import * as React from 'react'; import { ChevronLeft, ChevronRight, Power, X } from 'lucide-react'; import { Button } from '@/components/ui/Button'; import { cn } from '@/lib/utils/cn'; import type { ChainEffect } from '@/lib/audio/effects/chain'; import { EffectParameters } from './EffectParameters'; export interface EffectDeviceProps { effect: ChainEffect; onToggleEnabled?: () => void; onRemove?: () => void; onUpdateParameters?: (parameters: any) => void; onToggleExpanded?: () => void; trackId?: string; isPlaying?: boolean; onParameterTouched?: (trackId: string, laneId: string, touched: boolean) => void; automationLanes?: Array<{ id: string; parameterId: string; mode: string }>; } export function EffectDevice({ effect, onToggleEnabled, onRemove, onUpdateParameters, onToggleExpanded, trackId, isPlaying, onParameterTouched, automationLanes, }: EffectDeviceProps) { const isExpanded = effect.expanded || false; return (