|
@@ -50,30 +50,41 @@ const BlockOfTextWithHeader = ({children,title='No Title'}) =>
|
|
|
const LoginForm = ({onLogin}) => {
|
|
|
//тут надо два состояния - для логина и для пароля;
|
|
|
//кнопка логина должна быть disabled если одно из полей пустое
|
|
|
- //по клику на кнопку запустить onLogin и передать туда
|
|
|
- //текущее состояние login и password
|
|
|
+ //по клику на кнопку запустить onLogin и передать туда текущее состояние login и password
|
|
|
+ const [login, setLogin] = useState('')
|
|
|
+ const [password, setPassword] = useState('')
|
|
|
+
|
|
|
+ const lenghtCheck = !(login.length >= 4 && password.length >= 4)
|
|
|
return (
|
|
|
- <h1>тут вместо h1 должна быть верстка: два инпута и кнопка login</h1>
|
|
|
+ <div>
|
|
|
+ <input
|
|
|
+ value = {login}
|
|
|
+ onChange={e => setLogin(e.target.value)}
|
|
|
+ type="text"
|
|
|
+ placeholder='Login'/>
|
|
|
+ <input
|
|
|
+ value = {password}
|
|
|
+ onChange={e => setPassword(e.target.value)}
|
|
|
+ type="password"
|
|
|
+ placeholder='Password'
|
|
|
+ />
|
|
|
+ <button
|
|
|
+ onClick={() => onLogin({login, password})}
|
|
|
+ disabled = {lenghtCheck}
|
|
|
+ type="submit"
|
|
|
+ > Login... </button>
|
|
|
+ </div>
|
|
|
)
|
|
|
}
|
|
|
-
|
|
|
|
|
|
function App() {
|
|
|
- return (
|
|
|
- <div className="App">
|
|
|
- <header className="App-header"
|
|
|
- style={{cssText: "border-radius: 50px; color: #FF0FF; font-size: 2em"}}>
|
|
|
-
|
|
|
- <LoginForm onLogin={(l,p) => console.log('LOGIN', l,p)} />
|
|
|
- {/*<Input />*/}
|
|
|
- {/*<Counter />*/}
|
|
|
- {/*<Counter />*/}
|
|
|
- {/*{Math.random() > 0.5 ? <h1>ЗАГОЛОВОК</h1>: <code>КОД</code>}*/}
|
|
|
- {/*{arr.map(text => <div>{text}</div>)}*/}
|
|
|
- {/*//{data.map(({children, title}) => <BlockOfTextWithHeader children={children} title={title} />)}*/}
|
|
|
- </header>
|
|
|
- </div>
|
|
|
- );
|
|
|
+ return (
|
|
|
+ <div className="App">
|
|
|
+ <LoginForm onLogin={({login, password}) => console.log('ЛОГИН И ПАРОЛЬ', login, password)}/>
|
|
|
+ </div>
|
|
|
+ );
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
export default App;
|