2020-01-17 10:29:24 +01:00
|
|
|
import React, { useContext } from "react"
|
2019-12-21 23:48:36 +01:00
|
|
|
import DitDahDisplay from "./DitDahDisplay"
|
|
|
|
|
import morseCode from '../data/morse-reverse.json'
|
2020-01-17 10:29:24 +01:00
|
|
|
import {MorseBufferContext} from "../contexts/morseBufferContext"
|
2019-12-21 23:48:36 +01:00
|
|
|
|
2020-01-17 10:29:24 +01:00
|
|
|
function MorseBufferDisplay() {
|
|
|
|
|
const {morseCharBuffer} = useContext(MorseBufferContext)
|
2020-01-16 10:18:40 +01:00
|
|
|
|
2020-01-17 10:29:24 +01:00
|
|
|
console.log('COMPONENT LOAD: MorseBufferDisplay');
|
|
|
|
|
let ditDahs = morseCharBuffer.split('').map((ditdah,index) => <DitDahDisplay key={index} dd={ditdah} />)
|
2019-12-21 23:48:36 +01:00
|
|
|
|
|
|
|
|
let alphanumeric = ''
|
2020-01-17 10:29:24 +01:00
|
|
|
// if (morseCharBuffer.includes(' ')) {
|
2020-01-10 03:24:54 +01:00
|
|
|
|
2020-01-17 10:29:24 +01:00
|
|
|
let letters = morseCharBuffer.split(' ')
|
2020-01-10 03:24:54 +01:00
|
|
|
|
2020-01-17 10:29:24 +01:00
|
|
|
if (morseCharBuffer === '') {}
|
2020-01-10 03:24:54 +01:00
|
|
|
else {
|
2019-12-21 23:48:36 +01:00
|
|
|
for (let i in letters) {
|
|
|
|
|
if (letters[i] === ' ') {
|
|
|
|
|
alphanumeric += ' '
|
|
|
|
|
} else {
|
|
|
|
|
if (morseCode[letters[i]] === undefined) {
|
|
|
|
|
// alphanumeric += '[?]'
|
2020-01-10 03:24:54 +01:00
|
|
|
alphanumeric += (letters[i] === '' ? '':'[?]')
|
2019-12-21 23:48:36 +01:00
|
|
|
} else {
|
|
|
|
|
alphanumeric += morseCode[letters[i]]
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2020-01-10 03:24:54 +01:00
|
|
|
|
2020-01-17 10:29:24 +01:00
|
|
|
// } else if (morseCharBuffer !== '') {
|
|
|
|
|
// let letters = morseCharBuffer
|
2020-01-10 03:24:54 +01:00
|
|
|
// if (morseCode[letters] === undefined) {
|
|
|
|
|
// alphanumeric += '[?]'
|
|
|
|
|
// } else {
|
|
|
|
|
// alphanumeric += morseCode[letters]
|
|
|
|
|
// }
|
|
|
|
|
// }
|
2019-12-21 23:48:36 +01:00
|
|
|
|
|
|
|
|
return (
|
|
|
|
|
<div id="morseBufferDisplay">
|
|
|
|
|
<div id="ditDahs">
|
|
|
|
|
{ditDahs}
|
|
|
|
|
</div>
|
2020-01-03 08:53:56 +01:00
|
|
|
<div id="alphanumeric-container">
|
|
|
|
|
<div id="alphanumeric">
|
|
|
|
|
{alphanumeric.toUpperCase()}
|
|
|
|
|
</div>
|
2019-12-21 23:48:36 +01:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
2020-01-17 10:29:24 +01:00
|
|
|
export default MorseBufferDisplay
|