diff --git a/lionblog-seongil/src/components/Posts/index.jsx b/lionblog-seongil/src/components/Posts/index.jsx index 32f0e172..a482511d 100644 --- a/lionblog-seongil/src/components/Posts/index.jsx +++ b/lionblog-seongil/src/components/Posts/index.jsx @@ -14,3 +14,27 @@ export const SmallPost = ({ post }) => { ); }; + +export const BigPost = ({ post }) => { + const likeBtnClick = () => { + alert("좋아요"); + }; + return ( +
+
+

{post.title}

+

{post.author.username}

+
+ {post.tags.map((tag) => ( + + #{tag.content} + + ))} +
+
+ {post.like_users.length > 0 && `❤️ ${post.like_users.length}`} +
+
+
+ ); +}; diff --git a/lionblog-seongil/src/routes/HomePage.jsx b/lionblog-seongil/src/routes/HomePage.jsx index 4ad2c546..f8863ba2 100644 --- a/lionblog-seongil/src/routes/HomePage.jsx +++ b/lionblog-seongil/src/routes/HomePage.jsx @@ -20,7 +20,9 @@ const HomePage = () => {
{postList.map((post) => ( - + + + ))}
diff --git a/lionblog-seongil/src/routes/PostCreatePage.jsx b/lionblog-seongil/src/routes/PostCreatePage.jsx index 3690f4b8..b3803403 100644 --- a/lionblog-seongil/src/routes/PostCreatePage.jsx +++ b/lionblog-seongil/src/routes/PostCreatePage.jsx @@ -1,5 +1,48 @@ const PostCreatePage = () => { - return
Post Create Page
; + const handleSignUpSubmit = () => { + alert("게시물을 등록합니다"); + }; + return ( +
+

게시글 작성

+
+ + + + + + +
+ +
+
+
+ ); }; export default PostCreatePage; diff --git a/lionblog-seongil/src/routes/PostDetailPage.jsx b/lionblog-seongil/src/routes/PostDetailPage.jsx index a5f340df..109c612d 100644 --- a/lionblog-seongil/src/routes/PostDetailPage.jsx +++ b/lionblog-seongil/src/routes/PostDetailPage.jsx @@ -1,5 +1,34 @@ +import posts from "../data/posts"; +import { BigPost } from "../components/Posts"; +import { useParams } from "react-router-dom"; +import { Link } from "react-router-dom"; + const PostDetailPage = () => { - return
Post Detail Page
; + const postId = useParams().postId; + const post = posts.find((post) => post.id === parseInt(postId)); + const handleDeleteClick = () => { + alert("삭제"); // TODO: add api call for sign up + }; + return ( +
+ +
+
+ + + + +
+
+
+ ); }; - export default PostDetailPage; diff --git a/lionblog-seongil/src/routes/PostEditPage.jsx b/lionblog-seongil/src/routes/PostEditPage.jsx index c04e2ad3..6fb85e9e 100644 --- a/lionblog-seongil/src/routes/PostEditPage.jsx +++ b/lionblog-seongil/src/routes/PostEditPage.jsx @@ -1,5 +1,63 @@ +import posts from "../data/posts"; +import { useParams } from "react-router-dom"; const PostEditPage = () => { - return
Post Edit Page
; + const handleSignUpSubmit = () => { + alert("수정 완료"); + }; + const postId = useParams().postId; + const post = posts.find((post) => post.id === parseInt(postId)); + return ( +
+

게시글 수정

+
+ + + + + + +
+ {post.tags.map((tag) => ( +
+ + #{tag.content} + + X +
+ ))} +
+
+ +
+
+
+ ); }; export default PostEditPage; diff --git a/lionblog-seongil/src/routes/SignInPage.jsx b/lionblog-seongil/src/routes/SignInPage.jsx index e9a113de..43e0d92a 100644 --- a/lionblog-seongil/src/routes/SignInPage.jsx +++ b/lionblog-seongil/src/routes/SignInPage.jsx @@ -1,5 +1,32 @@ const SignInPage = () => { - return
Sign In Page
; + const handleSignUpSubmit = () => { + alert("로그인 하기"); // TODO: add api call for sign up + }; + return ( +
+

회원가입

+
+ + + + + + +
+ + +
+
+
+ ); }; export default SignInPage;