2020-01-16 10:18:40 +01:00
|
|
|
import React, {useContext} from 'react';
|
2019-12-27 09:41:53 +01:00
|
|
|
import './css/App.css';
|
2019-12-21 23:48:36 +01:00
|
|
|
import MorseButton from './components/MorseButton'
|
2019-12-27 09:41:53 +01:00
|
|
|
import ModePicker from './components/ModePicker'
|
2020-01-16 10:18:40 +01:00
|
|
|
import KeyTypePicker from './components/KeyTypePicker'
|
2020-01-09 10:06:38 +01:00
|
|
|
// import MorseDisplay from './components/MorseDisplay'
|
|
|
|
|
// import MorseBufferDisplay from './components/MorseBufferDisplay'
|
|
|
|
|
// import GameClock from "./components/GameClock"
|
|
|
|
|
// import ChallengeWord from "./components/ChallengeWord"
|
2020-01-16 10:18:40 +01:00
|
|
|
import {GameModeContext} from "./contexts/gameContext"
|
2020-01-17 10:29:24 +01:00
|
|
|
import {KeyTypeContextProvider} from "./contexts/keyTypeContext"
|
2020-01-16 10:18:40 +01:00
|
|
|
import {MorseBufferContextProvider} from "./contexts/morseBufferContext"
|
2020-01-09 10:06:38 +01:00
|
|
|
import PracticeMode from './app-modes/PracticeMode';
|
|
|
|
|
import TimedMode from './app-modes/TimedMode'
|
|
|
|
|
import ChallengeMode from './app-modes/ChallengeMode'
|
2020-01-14 11:37:04 +01:00
|
|
|
import Legend from './components/Legend';
|
2019-12-21 23:40:54 +01:00
|
|
|
|
|
|
|
|
function App() {
|
2019-12-21 23:48:36 +01:00
|
|
|
|
2020-01-03 08:53:56 +01:00
|
|
|
console.log('App.js rendered')
|
2020-01-09 10:06:38 +01:00
|
|
|
const {gameMode} = useContext(GameModeContext)
|
2020-01-16 10:18:40 +01:00
|
|
|
|
2019-12-21 23:48:36 +01:00
|
|
|
|
|
|
|
|
return (
|
2019-12-27 09:41:53 +01:00
|
|
|
<div id='main-content'>
|
2020-01-14 11:37:04 +01:00
|
|
|
<Legend />
|
2019-12-27 09:41:53 +01:00
|
|
|
<ModePicker />
|
2020-01-16 10:18:40 +01:00
|
|
|
<MorseBufferContextProvider>
|
2020-01-17 10:29:24 +01:00
|
|
|
<KeyTypeContextProvider>
|
|
|
|
|
<KeyTypePicker />
|
|
|
|
|
{gameMode === 'practice' && <PracticeMode />}
|
|
|
|
|
{gameMode === 'timed' && <TimedMode />}
|
|
|
|
|
{gameMode === 'challenge' && <ChallengeMode />}
|
|
|
|
|
</KeyTypeContextProvider>
|
2020-01-16 10:18:40 +01:00
|
|
|
</MorseBufferContextProvider>
|
2020-01-09 10:06:38 +01:00
|
|
|
|
2019-12-27 09:41:53 +01:00
|
|
|
<MorseButton />
|
2019-12-21 23:48:36 +01:00
|
|
|
</div>
|
|
|
|
|
);
|
2020-01-09 10:06:38 +01:00
|
|
|
|
2019-12-21 23:40:54 +01:00
|
|
|
}
|
|
|
|
|
|
2020-01-03 08:53:56 +01:00
|
|
|
export default React.memo(App);
|