diff --git a/bloglist_frontend/src/components/LoginForm.js b/bloglist_frontend/src/components/LoginForm.js new file mode 100644 index 0000000000000000000000000000000000000000..812a186fc758f95e5165434edfb5dc418271f77e --- /dev/null +++ b/bloglist_frontend/src/components/LoginForm.js @@ -0,0 +1,47 @@ +import ErrorNotification from './ErrorNotification' +import PropTypes from 'prop-types' + +const LoginForm = ({ + handleLogin, + handleUsernameChange, + handlePasswordChange, + username, + password, + errorMessage, +}) => { + + LoginForm.propTypes = { + handleLogin: PropTypes.func.isRequired, + handleUsernameChange: PropTypes.func.isRequired, + handlePasswordChange: PropTypes.func.isRequired, + username: PropTypes.string.isRequired, + password: PropTypes.string.isRequired, + } + + return ( + <div> + <h2>log in to application</h2> + <ErrorNotification message={errorMessage} /> + <form onSubmit={handleLogin}> + <div> + username + <input + type="text" + value={username} + onChange={handleUsernameChange} + /> + </div> + <div> + password + <input + type="password" + value={password} + onChange={handlePasswordChange} + /> + </div> + <button type="submit">login</button> + </form> + </div> + ) +} +export default LoginForm \ No newline at end of file