clean code -> Login.js && indexConsole.js

develop
TBS093A 2020-07-25 22:50:18 +02:00
parent 02679b51d8
commit a12f2ee802
2 changed files with 69 additions and 35 deletions

View File

@ -4,7 +4,13 @@ import { connect } from 'react-redux'
import { postAuth } from '../../../../../stores/user/duck/operations' import { postAuth } from '../../../../../stores/user/duck/operations'
const Login = ({ user, postAuth, consoleHistory, setConsoleHistory, componentVisible }) => { const Login = ({
user,
postAuth,
consoleHistory, setConsoleHistory,
componentVisible, setComponentVisible,
activateConsoleInput
}) => {
const loginInput = React.createRef() const loginInput = React.createRef()
const passwInput = React.createRef() const passwInput = React.createRef()
@ -20,9 +26,9 @@ const Login = ({ user, postAuth, consoleHistory, setConsoleHistory, componentVis
if ( login !== '' && password !== '') { if ( login !== '' && password !== '') {
postAuth(login, password) postAuth(login, password)
.then( response => { .then( response => {
setMessage( response['error'] ) setMessage( response['error'] )
}) })
} else if ( passwInput.current.value === '' ) { } else if ( passwInput.current.value === '' ) {
document.getElementById('passwInput').focus() document.getElementById('passwInput').focus()
@ -31,16 +37,21 @@ const Login = ({ user, postAuth, consoleHistory, setConsoleHistory, componentVis
useEffect( useEffect(
() => { () => {
if ( componentVisible ) {
document.getElementById('loginInput').focus()
} else {
activateConsoleInput()
}
if (message !== '') { if (message !== '') {
let save = 'login: ' + loginInput.current.value + '\n' let save = 'login: ' + loginInput.current.value + '\n'
+ 'password: ' + hidePassword( passwInput.current.value ) + '\n' + 'password: ' + hidePassword( passwInput.current.value ) + '\n'
+ message + '\n' + message + '\n'
loginInput.current.value = '' loginInput.current.value = ''
passwInput.current.value = '' passwInput.current.value = ''
setConsoleHistory( consoleHistory + save ) setConsoleHistory( consoleHistory + save )
componentVisible( false ) setComponentVisible( false )
setMessage('') setMessage('')
} }
} }
@ -48,7 +59,7 @@ const Login = ({ user, postAuth, consoleHistory, setConsoleHistory, componentVis
const hidePassword = (password) => { const hidePassword = (password) => {
let hide = '' let hide = ''
for (let i = 0; i <= password.length; i++) for (let i = 0; i < password.length; i++)
hide += '*' hide += '*'
return hide return hide
} }

View File

@ -10,18 +10,6 @@ import '../../../styles/general.scss'
const IndexConsole = ({ user }) => { const IndexConsole = ({ user }) => {
useEffect( () => resizeConsoleDiv(), [])
const resizeConsoleDiv = () => {
let consoleDiv = document.getElementById('consoleDiv')
consoleDiv.style.height = window.innerHeight - 100 + 'px'
}
const activateInput = () => {
let input = document.getElementById('consoleInput')
input.focus()
}
const [consoleHistory, setConsoleHistory] = useState('') const [consoleHistory, setConsoleHistory] = useState('')
const [loginCommand, setVisibleLoginForm] = useState(false) const [loginCommand, setVisibleLoginForm] = useState(false)
@ -43,24 +31,55 @@ const IndexConsole = ({ user }) => {
} }
) )
useEffect( () => resizeConsoleDiv(), [])
const resizeConsoleDiv = () => {
let consoleDiv = document.getElementById('consoleDiv')
consoleDiv.style.height = window.innerHeight - 100 + 'px'
}
const detectCommand = (event) => { const detectCommand = (event) => {
event.preventDefault() event.preventDefault()
let inputValue = consoleInput.current.value let inputValue = consoleInput.current.value
consoleUser += inputValue + '\n' consoleUser += inputValue + '\n'
if ( inputValue === 'help' )
setConsoleHistory( consoleHistory + consoleUser + commands.help() ) if ( user.username !== '' ) {
else if ( inputValue === 'login' ) { if ( inputValue === 'help' ){
setConsoleHistory( consoleHistory + consoleUser ) setConsoleHistory( consoleHistory + consoleUser + commands.helpUser() )
setVisibleLoginForm( !loginCommand ) } else if ( inputValue === 'logout' ) {
setConsoleHistory( consoleHistory + consoleUser )
setVisibleLogoutForm( !logoutCommand )
} else if ( inputValue === 'clean' ){
setConsoleHistory( '' )
} else {
setConsoleHistory( consoleHistory + consoleUser + commands.undefined(inputValue) )
}
} else {
if ( inputValue === 'help' ){
setConsoleHistory( consoleHistory + consoleUser + commands.help() )
} else if ( inputValue === 'login' ) {
setConsoleHistory( consoleHistory + consoleUser )
setVisibleLoginForm( !loginCommand )
} else if ( inputValue === 'clean' ){
setConsoleHistory( '' )
} else {
setConsoleHistory( consoleHistory + consoleUser + commands.undefined(inputValue) )
}
} }
else if ( inputValue === 'clean' )
setConsoleHistory( '' )
else
setConsoleHistory( consoleHistory + consoleUser + commands.undefined(inputValue) )
consoleInput.current.value = '' consoleInput.current.value = ''
activateInput() activateInput()
} }
const activateInput = () => {
document.getElementById('consoleInput').focus()
}
const checkVisible = ( bool ) => {
return bool
? { display: 'block' }
: { display: 'none' }
}
return ( return (
<div id='consoleDiv' onClick={ activateInput }> <div id='consoleDiv' onClick={ activateInput }>
<div id='consoleInfo'> <div id='consoleInfo'>
@ -73,22 +92,26 @@ const IndexConsole = ({ user }) => {
{ consoleHistory } { consoleHistory }
</pre> </pre>
<div id='inputForms'> <div id='inputForms'>
<div style={ loginCommand === true ? {display: 'block'} : {display: 'none'} } > <div style={ checkVisible( loginCommand ) } >
<Login <Login
consoleHistory={ consoleHistory } consoleHistory={ consoleHistory }
setConsoleHistory={ setConsoleHistory } setConsoleHistory={ setConsoleHistory }
componentVisible={ setVisibleLoginForm } componentVisible={ loginCommand }
setComponentVisible={ setVisibleLoginForm }
activateConsoleInput={ activateInput }
/> />
</div> </div>
<div style={ logoutCommand === true ? {display: 'block'} : {display: 'none'} } > <div style={ checkVisible( logoutCommand ) } >
<Logout <Logout
consoleHistory={ consoleHistory } consoleHistory={ consoleHistory }
setConsoleHistory={ setConsoleHistory } setConsoleHistory={ setConsoleHistory }
componentVisible={ setVisibleLogoutForm } componentVisible={ logoutCommand }
setComponentVisible={ setVisibleLogoutForm }
activateConsoleInput={ activateInput }
/> />
</div> </div>
</div> </div>
<form onSubmit={ detectCommand } style={ loginCommand || logoutCommand ? {display: 'none'} : {display: 'block'} }> <form onSubmit={ detectCommand } style={ checkVisible( !(loginCommand || logoutCommand) ) }>
{ consoleUser } { consoleUser }
<input <input
id='consoleInput' id='consoleInput'