import React from 'react'; import { X, Volume2, VolumeX } from 'lucide-react'; import type { AppSettings } from './Controls'; interface SettingsModalProps { isOpen: boolean; onClose: () => void; settings: AppSettings; onUpdateSettings: (s: AppSettings) => void; } export const SettingsModal: React.FC = ({ isOpen, onClose, settings, onUpdateSettings }) => { if (!isOpen) return null; return (
e.stopPropagation()}>

Settings

{/* Animation Settings */}

Removes the "Good!" overlay to allow faster playing.


{settings.virtualGuitarMute ? : } onUpdateSettings({ ...settings, virtualGuitarVolume: parseFloat(e.target.value) })} style={{ flex: 1 }} disabled={settings.virtualGuitarMute} />

{/* Auto Play Settings */}
onUpdateSettings({ ...settings, autoPlayVolume: parseFloat(e.target.value) })} style={{ flex: 1 }} />

{settings.gameMode === 'ear_training' ? "Automatically plays the note audio (Required for Ear Training)." : "Automatically plays the note audio when a new note appears."}


{/* Mic Sensitivity */}
Low (-20dB) {Math.round(-20 - ((settings.micSensitivity ?? 0.5) * 40))} dB High (-60dB)
onUpdateSettings({ ...settings, micSensitivity: parseFloat(e.target.value) })} style={{ width: '100%' }} />

Adjust if notes are not detected (increase/right) or if background noise triggers notes (decrease/left).

); };