diff --git a/package-lock.json b/package-lock.json index cdc3e52..4a67ad8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4538,6 +4538,15 @@ "utila": "~0.4" } }, + "dom-helpers": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.1.3.tgz", + "integrity": "sha512-nZD1OtwfWGRBWlpANxacBEZrEuLa16o1nh7YopFWeoF68Zt8GGEmzHu6Xv4F3XaFIC+YXtTLrzgqKxFgLEe4jw==", + "requires": { + "@babel/runtime": "^7.6.3", + "csstype": "^2.6.7" + } + }, "dom-serializer": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", @@ -11073,6 +11082,17 @@ "workbox-webpack-plugin": "4.3.1" } }, + "react-transition-group": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.3.0.tgz", + "integrity": "sha512-1qRV1ZuVSdxPlPf4O8t7inxUGpdyO5zG9IoNfJxSO0ImU2A1YWkEQvFPuIPZmMLkg5hYs7vv5mMOyfgSkvAwvw==", + "requires": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + } + }, "read-pkg": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", diff --git a/package.json b/package.json index 6a2a04f..8f99f07 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,8 @@ "@testing-library/user-event": "^7.2.1", "react": "^16.12.0", "react-dom": "^16.12.0", - "react-scripts": "3.3.0" + "react-scripts": "3.3.0", + "react-transition-group": "^4.3.0" }, "scripts": { "start": "react-scripts start", diff --git a/src/App.js b/src/App.js index d830a02..dff5c5e 100644 --- a/src/App.js +++ b/src/App.js @@ -12,12 +12,13 @@ import KeyTypePicker from './components/KeyTypePicker' import WordListPicker from './components/WordListPicker'; import PracticeMode from './app-modes/PracticeMode'; -import TimedMode from './app-modes/TimedMode' +import TrainingMode from './app-modes/TrainingMode' import ChallengeMode from './app-modes/ChallengeMode' import Header from './components/Header'; import Legend from './components/Legend'; // import GameClock from "./components/GameClock" +import WordsPerMinute from "./components/WordsPerMinute" import MorseButtons from './components/MorseButtons' import MorseBufferDisplay from './components/MorseBufferDisplay' import MorseHistory from './components/MorseHistory' @@ -25,6 +26,7 @@ import MorseHistory from './components/MorseHistory' import StraightKey from './components/StraightKey'; import ElectronicKey from './components/ElectronicKey'; import Footer from './components/Footer'; +import { WPMContextProvider } from './contexts/wpmContext'; export default React.memo(function App() { @@ -32,39 +34,52 @@ export default React.memo(function App() { const {gameMode} = useContext(GameModeContext) const {keyType} = useContext(KeyTypeContext) + console.log('gameMode', gameMode); + console.log('keyType', keyType); return ( <>
- - - - - {gameMode === 'practice' && - <> - {keyType === "straight" ? - : } -
-
-
- - } - {/* {gameMode === 'timed' && } */} - {gameMode === 'challenge' && - <> - - - - {keyType === "straight" ? - : } - - - - - } - -
+ + + + + + + {gameMode === 'practice' && + <> + {keyType === "straight" ? + : } +
+
+
+ + } + {gameMode === 'timed' && + <> + {keyType === "straight" ? + : } +
+
+
+ + } + {gameMode === 'challenge' && + <> + + + + {keyType === "straight" ? + : } + + + + + } + +
+