From 3e3a73fbd457f5f8719203da1b96afcc6b7402fa Mon Sep 17 00:00:00 2001 From: Viivi Nevalainen <2633-vmneva@users.noreply.gitlab.utu.fi> Date: Sat, 29 Apr 2023 09:07:45 +0000 Subject: [PATCH] Upload New File --- bloglist_frontend/src/components/BlogForm.js | 61 ++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 bloglist_frontend/src/components/BlogForm.js diff --git a/bloglist_frontend/src/components/BlogForm.js b/bloglist_frontend/src/components/BlogForm.js new file mode 100644 index 0000000..9421615 --- /dev/null +++ b/bloglist_frontend/src/components/BlogForm.js @@ -0,0 +1,61 @@ +import { useState } from 'react' + +const BlogForm = ( {createBlog } ) => { + const [title, setNewBlog] = useState('') + const [author, setNewAuthor] = useState('') + const [url, setNewUrl] = useState('') + + const handleBlogAdd = (event) => { + setNewBlog(event.target.value) + } + const handleAuthorAdd = (event) => { + setNewAuthor(event.target.value) + } + const handleUrlAdd = (event) => { + setNewUrl(event.target.value) + } + + const addBlog = (event) => { + event.preventDefault() + createBlog({ + title: title, + author: author, + url: url, + likes: 0, + }) + setNewBlog('') + setNewAuthor('') + setNewUrl('') + } + + return ( + <div> + <h2>create new</h2> + <form onSubmit={addBlog}> + title: + <input + value={title} + onChange={handleBlogAdd} + placeholder='write title here' + /> + <br></br> + author: + <input + value={author} + onChange={handleAuthorAdd} + placeholder='write author here' + /> + <br></br> + url: + <input + value={url} + onChange={handleUrlAdd} + placeholder='write url here' + /> + <br></br> + <button type="submit">create</button> + </form> + </div> + ) +} +export default BlogForm \ No newline at end of file -- GitLab