learn-morse-code/src/components/MorseBufferDisplay.js

53 lines
1.5 KiB
JavaScript
Raw Normal View History

2019-12-21 23:48:36 +01:00
import React from "react"
import DitDahDisplay from "./DitDahDisplay"
import morseCode from '../data/morse-reverse.json'
function MorseBufferDisplay(props) {
2019-12-21 23:48:36 +01:00
let ditDahs = props.buffer.split('').map((ditdah,index) => <DitDahDisplay key={index} dd={ditdah} />)
let alphanumeric = ''
2020-01-10 03:24:54 +01:00
// if (props.buffer.includes(' ')) {
let letters = props.buffer.split(' ')
if (props.buffer === '') {}
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
// } else if (props.buffer !== '') {
// let letters = props.buffer
// 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-03 08:53:56 +01:00
export default React.memo(MorseBufferDisplay)