'use client'; import * as React from 'react'; import { ChevronDown, ChevronUp, 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'; export interface EffectDeviceProps { effect: ChainEffect; onToggleEnabled?: () => void; onRemove?: () => void; onUpdateParameters?: (parameters: any) => void; } export function EffectDevice({ effect, onToggleEnabled, onRemove, onUpdateParameters, }: EffectDeviceProps) { const [isExpanded, setIsExpanded] = React.useState(false); return (
{/* Device Header */}
{/* Device Parameters */} {isExpanded && (
Type: {effect.type}
{effect.parameters && Object.keys(effect.parameters).length > 0 && (
Parameters:
{Object.entries(effect.parameters).map(([key, value]) => (
{key}: {String(value)}
))}
)}
Parameter controls coming soon
)} {/* Collapsed State Indicator */} {!isExpanded && (
{effect.type}
)}
); }