'use client'; import * as React from 'react'; import { X } from 'lucide-react'; import { Button } from '@/components/ui/Button'; import { RecordingSettings } from '@/components/recording/RecordingSettings'; import { cn } from '@/lib/utils/cn'; import type { RecordingSettings as RecordingSettingsType } from '@/lib/hooks/useRecording'; export interface GlobalSettingsDialogProps { open: boolean; onClose: () => void; recordingSettings: RecordingSettingsType; onInputGainChange: (gain: number) => void; onRecordMonoChange: (mono: boolean) => void; onSampleRateChange: (sampleRate: number) => void; } type TabType = 'recording' | 'playback' | 'interface'; export function GlobalSettingsDialog({ open, onClose, recordingSettings, onInputGainChange, onRecordMonoChange, onSampleRateChange, }: GlobalSettingsDialogProps) { const [activeTab, setActiveTab] = React.useState('recording'); if (!open) return null; return ( <> {/* Backdrop */}
{/* Dialog */}
{/* Header */}

Settings

{/* Tabs */}
{/* Content */}
{activeTab === 'recording' && (

Recording Settings

Note

These settings apply globally to all recordings. Arm a track (red button) to enable recording on that specific track.

)} {activeTab === 'playback' && (

Playback Settings

Configure audio playback preferences.

Buffer Size Auto
Output Latency ~20ms

Advanced playback settings coming soon...

)} {activeTab === 'interface' && (

Interface Settings

Customize the editor appearance and behavior.

Theme Use theme toggle in header
Default Track Height 180px

More interface options coming soon...

)}
{/* Footer */}
); }