import React, { FC, useState, useEffect } from 'react' import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import { faEyeSlash } from '@fortawesome/free-solid-svg-icons' import { Communicator } from '../../../communicator' import '../../../styles/default.scss' interface Props { communicator: Communicator } const App: FC = ({ communicator }) => { const maxCharacters = 256 const [content, setContent] = useState('') const [cover, setCover] = useState('') const charactersLeft = maxCharacters - content.length const showCharactersLeft = charactersLeft < (maxCharacters / 2) const showCharactersStyle = charactersLeft > (maxCharacters * 0.1) ? 'has-text-danger' : '' const buttonStyle = 'button is-primary is-small' + (charactersLeft < 1 ? ' is-disabled' : '') useEffect(() => { const init = async () => { try { await communicator.setHeight(document.body.offsetHeight) } catch (err) { console.error('App Component: ', err) } } init() }, []) return (