diff --git a/src/App.tsx b/src/App.tsx index 7128a9e..4d82286 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -100,11 +100,11 @@ function App() { } }, [targetMidi, settings.gameMode, revealed, playNote]); - // Initial note + // Initial note, and whenever difficulty/tuning/gamemode changes useEffect(() => { generateNewNote(); // eslint-disable-next-line react-hooks/exhaustive-deps - }, [settings.difficulty, settings.tuningId]); + }, [settings.difficulty, settings.tuningId, settings.gameMode]); // Metronome Logic @@ -209,6 +209,12 @@ function App() { case 'p': // Play playNote(targetMidi, 1.0); break; + case 'm': // Toggle Game Mode + setSettings(s => ({ + ...s, + gameMode: s.gameMode === 'sight_reading' ? 'ear_training' : 'sight_reading' + })); + break; } // Check non-character keys via code to avoid layout issues for function keys @@ -413,6 +419,10 @@ function App() { Replay Note R +
+ Toggle Game Mode + M +
Close Help / Exit Zen Esc