diff --git a/vocodes/src/modes/speak/Form.tsx b/vocodes/src/modes/speak/Form.tsx index ba0f1f225e..67e9ad2e4b 100644 --- a/vocodes/src/modes/speak/Form.tsx +++ b/vocodes/src/modes/speak/Form.tsx @@ -222,12 +222,25 @@ class Form extends React.Component { this.textarea?.focus(); } + nonSpaceCharacterCount() : number { + return this.props.currentText.trim().length; + } + + remainingCharacterCount() : number { + return this.props.textCharacterLimit - this.props.currentText.length; + } + public render() { - let remainingCharacters = this.props.textCharacterLimit - this.props.currentText.length; + const nonWhitespaceCharacters = this.nonSpaceCharacterCount(); + const remainingCharacters = this.remainingCharacterCount(); let remainingCharactersButtonDisabled = false; let remainingCharactersClassName = ""; + if (nonWhitespaceCharacters === 0) { + remainingCharactersButtonDisabled= true; + } + if (remainingCharacters < 0) { remainingCharactersButtonDisabled= true; remainingCharactersClassName = "has-text-danger";