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

46 lines
1.4 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) {
2020-01-03 08:53:56 +01:00
console.log('MorseBufferDisplay rendered');
2019-12-21 23:48:36 +01:00
let ditDahs = props.buffer.split('').map((ditdah,index) => <DitDahDisplay key={index} dd={ditdah} />)
let alphanumeric = ''
if (props.buffer.includes(' ')) {
let letters = props.buffer.split(' ')
for (let i in letters) {
if (letters[i] === ' ') {
alphanumeric += ' '
} else {
if (morseCode[letters[i]] === undefined) {
// alphanumeric += '[?]'
} else {
alphanumeric += morseCode[letters[i]]
}
}
}
} else if (props.buffer !== '') {
let letters = props.buffer
if (morseCode[letters] === undefined) {
alphanumeric += '[?]'
} else {
alphanumeric += morseCode[letters]
}
}
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)