From dec29bd4abe037901db6b71a9a320332a4341535 Mon Sep 17 00:00:00 2001
From: Viivi Nevalainen <2633-vmneva@users.noreply.gitlab.utu.fi>
Date: Sat, 29 Apr 2023 09:08:33 +0000
Subject: [PATCH] Upload New File

---
 bloglist_frontend/src/components/LoginForm.js | 47 +++++++++++++++++++
 1 file changed, 47 insertions(+)
 create mode 100644 bloglist_frontend/src/components/LoginForm.js

diff --git a/bloglist_frontend/src/components/LoginForm.js b/bloglist_frontend/src/components/LoginForm.js
new file mode 100644
index 0000000..812a186
--- /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
-- 
GitLab